// Next.js API route support: https://nextjs.org/docs/api-routes/introduction import axios from 'axios'; import { Cookies } from 'react-cookie'; import cookie from 'cookie'; import moment from 'moment'; import jwt from 'jsonwebtoken'; import { inspect } from 'util'; import md5 from 'md5'; import { cors } from '../../../lib/cors'; import RedisClient from '../../../lib/RedisClient'; /* "empty", #форма не заполнялась "draft", #форма в статусе черновика с отдельным указанием заполненных этапов "filled", #форма заполнена и готова к подписанию "printed", #форма распечатывалась "signed", #форма подписана ЭЦП */ export default async function handler(req, res) { console.log("API", "questionnaire", "read"); await cors(req, res); if(req.headers.cookie !== undefined) { const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : ""); if(cookies.jwt !== undefined && cookies.jwt !== null) { console.log("cookies.jwt"); console.log(cookies.jwt); var client_jwt_decoded = jwt.verify(cookies.jwt, process.env.JWT_SECRET_CLIENT); var crm_jwt = jwt.sign({ acc_number: client_jwt_decoded.acc_number }, process.env.JWT_SECRET_CRM, { noTimestamp: true }); try { const key = md5(`questionnaire_${ client_jwt_decoded.acc_number }`); const questionnaire = await RedisClient.get(key); console.log("JSON.parse(questionnaire)"); console.log(JSON.parse(questionnaire)); res.status(200).json(JSON.parse(questionnaire)); } catch(error) { console.error("error"); console.error(error); res.status(500).send(); } } else { res.status(403); } } }