move redis to separate RedisClient, update for files uploading
This commit is contained in:
parent
22075a959e
commit
684a6e1891
@ -4,6 +4,7 @@ import Router from 'next/router';
|
||||
import moment from 'moment';
|
||||
import { nSQL } from "@nano-sql/core";
|
||||
import fileDownload from 'js-file-download';
|
||||
import { eachSeries, each } from "async";
|
||||
|
||||
import * as actionTypes from '../constants/actionTypes';
|
||||
|
||||
@ -63,6 +64,35 @@ export const updateQuestionnaire = ({ dispatch, questionnaire }) =>
|
||||
});
|
||||
}
|
||||
|
||||
export const uploadAttachmentFile = (file) =>
|
||||
{
|
||||
console.log("ACTION", "questionnaireActions", "uploadAttachmentFile()", { file });
|
||||
|
||||
return new Promise((resolve, reject) =>
|
||||
{
|
||||
let data = new FormData();
|
||||
data.append('file', file);
|
||||
|
||||
axios.post(`${ process.env.NEXT_PUBLIC_SELF_API_HOST }/api/questionnaire/file/upload`, data,
|
||||
{
|
||||
headers: {
|
||||
"Content-Type": "multipart/form-data",
|
||||
},
|
||||
withCredentials: true,
|
||||
})
|
||||
.then(async (response) =>
|
||||
{
|
||||
console.log("questionnaireActions", "uploadAttachmentFile()", "response.data", response.data);
|
||||
resolve(response.data);
|
||||
})
|
||||
.catch((error) =>
|
||||
{
|
||||
console.error(error);
|
||||
reject();
|
||||
});
|
||||
});
|
||||
}
|
||||
|
||||
export const downloadQuestionnaire = (download = true) =>
|
||||
{
|
||||
console.log("ACTION", "questionnaireActions", "downloadQuestionnaire()", );
|
||||
|
||||
@ -8,13 +8,18 @@ import numeral from "numeral";
|
||||
import pluralize from 'pluralize-ru';
|
||||
import { SpinnerCircular } from 'spinners-react';
|
||||
import Dropzone from 'react-dropzone';
|
||||
import { each, concat, concatSeries } from 'async';
|
||||
|
||||
import { uploadAttachmentFile } from "../../../actions";
|
||||
|
||||
export default class FilesList extends React.Component
|
||||
{
|
||||
constructor(props)
|
||||
{
|
||||
super(props);
|
||||
this.state = {};
|
||||
this.state = {
|
||||
loading: false,
|
||||
};
|
||||
}
|
||||
|
||||
_handle_onAddFile = (files) =>
|
||||
@ -22,7 +27,28 @@ export default class FilesList extends React.Component
|
||||
console.log("_handle_onAddFile", files);
|
||||
|
||||
const { name, onAddFile } = this.props;
|
||||
onAddFile(name, files);
|
||||
concatSeries(files, (file, callback) =>
|
||||
{
|
||||
this.setState({ loading: true }, () =>
|
||||
{
|
||||
uploadAttachmentFile(file)
|
||||
.then((saved) =>
|
||||
{
|
||||
console.log("FilesList", "_handle_onAddFile()", { saved });
|
||||
callback(null, [ saved ]);
|
||||
})
|
||||
.catch((error) =>
|
||||
{
|
||||
console.error(error);
|
||||
callback(null, []);
|
||||
});
|
||||
});
|
||||
}, (error, saved_files) =>
|
||||
{
|
||||
console.log("saved_files", saved_files);
|
||||
onAddFile(name, saved_files);
|
||||
this.setState({ loading: false });
|
||||
});
|
||||
}
|
||||
|
||||
_handle_onRemoveFile = (file_name) =>
|
||||
@ -55,6 +81,7 @@ export default class FilesList extends React.Component
|
||||
render()
|
||||
{
|
||||
const { files, checking } = this.props;
|
||||
const { loading } = this.state;
|
||||
|
||||
console.log("FilesList", "files", files);
|
||||
|
||||
@ -77,6 +104,16 @@ export default class FilesList extends React.Component
|
||||
)
|
||||
}) }
|
||||
|
||||
{ loading && (
|
||||
<div className="dosc_list medium-icon" style={{ position: "relative", border: "1px dashed rgb(28, 1, 169)", width: "32%", height: "100px", borderRadius: "4px", display: "flex", alignItems: "center", justifyContent: "center", }}>
|
||||
<div className="row" style={{ alignItems: "center", justifyContent: "center", display: "flex", flexDirection: "row", flex: 1, marginBottom: "0px" }}>
|
||||
<div style={{ display: "flex", justifyContent: "center", alignItems: "center", }}>
|
||||
<SpinnerCircular size={ 50 } thickness={ 100 } speed={ 100 } color="rgba(28, 1, 169, 1)" secondaryColor="rgba(236, 239, 244, 1)" />
|
||||
</div>
|
||||
</div>
|
||||
</div>
|
||||
) }
|
||||
|
||||
{ !checking && (
|
||||
<Dropzone onDrop={ (acceptedFiles) => this._handle_onAddFile(acceptedFiles) }>
|
||||
{ ({getRootProps, getInputProps}) => (
|
||||
|
||||
@ -555,6 +555,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
) }
|
||||
|
||||
<FilesList
|
||||
//group="head_person"
|
||||
name="head_person_files"
|
||||
files={ head_person_files }
|
||||
onAddFile={ this._handle_onAddFile }
|
||||
@ -663,6 +664,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
</div>
|
||||
|
||||
<FilesList
|
||||
//group="individual_executive"
|
||||
name="individual_executive_files"
|
||||
files={ individual_executive_files }
|
||||
onAddFile={ this._handle_onAddFile }
|
||||
@ -947,6 +949,7 @@ class Form_3_Signer extends QuestionnaireForm
|
||||
</div>
|
||||
|
||||
<FilesList
|
||||
//group="signatory_person"
|
||||
name="signatory_person_files"
|
||||
files={ signatory_person_files }
|
||||
onAddFile={ this._handle_onAddFile }
|
||||
|
||||
43
lib/RedisClient/index.js
Normal file
43
lib/RedisClient/index.js
Normal file
@ -0,0 +1,43 @@
|
||||
import Redis from 'ioredis';
|
||||
|
||||
if(global.redis === undefined)
|
||||
{
|
||||
console.log("REDIS NOT SET", process.env.REDIS_URL, "\n\n\n");
|
||||
global.redis = new Redis(process.env.REDIS_URL, { connectionName: process.env.REDIS_CLIENT_NAME });
|
||||
}
|
||||
|
||||
export default class RedisClient
|
||||
{
|
||||
constructor()
|
||||
{
|
||||
console.log("REDIS CLIENT", "constructor");
|
||||
}
|
||||
|
||||
static async get(key)
|
||||
{
|
||||
return await global.redis.get(key);
|
||||
}
|
||||
|
||||
static async set(key, value, ex, lifetime)
|
||||
{
|
||||
console.log("REDIS CLIENT", "set", { key, value, ex, lifetime });
|
||||
if(lifetime !== undefined)
|
||||
{
|
||||
return await global.redis.set(key, value, ex, lifetime);
|
||||
}
|
||||
else if (ex !== undefined)
|
||||
{
|
||||
return await global.redis.set(key, value, ex);
|
||||
}
|
||||
else
|
||||
{
|
||||
return await global.redis.set(key, value);
|
||||
}
|
||||
}
|
||||
|
||||
static async keys(keys)
|
||||
{
|
||||
return await global.redis.keys(keys);
|
||||
}
|
||||
//cons
|
||||
}
|
||||
@ -8,10 +8,9 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../../lib/cors';
|
||||
import RedisClient from '../../../../lib/RedisClient';
|
||||
const SmsCenter = require('../../../../lib/SmsCenter');
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
await cors(req, res);
|
||||
@ -52,7 +51,7 @@ export default async function handler(req, res)
|
||||
response.code = code;
|
||||
|
||||
const key = md5(`sms_code_${ phone }`);
|
||||
await redis.set(key, JSON.stringify(response), 'EX', 300);
|
||||
await RedisClient.set(key, JSON.stringify(response), 'EX', 300);
|
||||
|
||||
const smsResult = await SmsCenter.send(phone, code)
|
||||
.then(() =>
|
||||
|
||||
@ -7,8 +7,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -19,7 +18,7 @@ export default async function handler(req, res)
|
||||
phone = phone.replace(/[^0-9.]/g, '');
|
||||
|
||||
const key = md5(`sms_code_${ phone }`);
|
||||
let existed_data = await redis.get(key);
|
||||
let existed_data = await RedisClient.get(key);
|
||||
|
||||
if(existed_data !== null)
|
||||
{
|
||||
|
||||
@ -8,8 +8,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -20,7 +19,7 @@ export default async function handler(req, res)
|
||||
phone = phone.replace(/[^0-9.]/g, '');
|
||||
|
||||
const key = md5(`phone_change_sms_code_${ phone }`);
|
||||
let existed_data = await redis.get(key);
|
||||
let existed_data = await RedisClient.get(key);
|
||||
|
||||
if(existed_data !== null)
|
||||
{
|
||||
|
||||
@ -9,10 +9,9 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../../lib/cors';
|
||||
import RedisClient from '../../../../lib/RedisClient';
|
||||
const SmsCenter = require('../../../../lib/SmsCenter');
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
await cors(req, res);
|
||||
@ -23,7 +22,7 @@ export default async function handler(req, res)
|
||||
for(let i = 0; i < 6; i++) { code = `${code}${Math.floor(Math.random()*10)}`; }
|
||||
|
||||
const key = md5(`phone_change_sms_code_${ phone }`);
|
||||
await redis.set(key, JSON.stringify({
|
||||
await RedisClient.set(key, JSON.stringify({
|
||||
email, phone, code
|
||||
}), 'EX', 300);
|
||||
|
||||
|
||||
@ -36,13 +36,13 @@ export default async function handler(req, res)
|
||||
}
|
||||
catch(e)
|
||||
{
|
||||
console.error(e);
|
||||
//console.error(e);
|
||||
res.status(500);
|
||||
}
|
||||
})
|
||||
.catch((error) =>
|
||||
{
|
||||
console.error(error);
|
||||
//console.error(error);
|
||||
res.status(500);
|
||||
});
|
||||
}
|
||||
|
||||
81
pages/api/questionnaire/file/upload.js
Normal file
81
pages/api/questionnaire/file/upload.js
Normal file
@ -0,0 +1,81 @@
|
||||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
||||
import fs from 'fs';
|
||||
import axios from 'axios';
|
||||
import { Cookies } from 'react-cookie';
|
||||
import cookie from 'cookie';
|
||||
import moment from 'moment';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
import { inspect } from 'util';
|
||||
import multer from 'multer';
|
||||
|
||||
import { cors } from '../../../../lib/cors';
|
||||
import RedisClient from '../../../../lib/RedisClient';
|
||||
|
||||
const storage = multer.memoryStorage();
|
||||
const upload = multer({ storage: storage });
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
console.log("API", "questionnaire", "get");
|
||||
await cors(req, res);
|
||||
|
||||
return new Promise((resolve) =>
|
||||
{
|
||||
if(req.headers.cookie !== undefined)
|
||||
{
|
||||
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
|
||||
|
||||
if(cookies.jwt !== undefined && cookies.jwt !== null)
|
||||
{
|
||||
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 });
|
||||
|
||||
upload.single("file")(req, {}, async (err) =>
|
||||
{
|
||||
try
|
||||
{
|
||||
console.log(req);
|
||||
const { file, body } = req;
|
||||
|
||||
const id = md5(`${ file.buffer }`);
|
||||
const local_filename = `${ client_jwt_decoded.acc_number }_${ id }`;
|
||||
|
||||
const file_payload = {
|
||||
id: id,
|
||||
name: file.originalname,
|
||||
filename: local_filename,
|
||||
};
|
||||
|
||||
fs.writeFileSync(`${ __dirname }/../../../../../../upload`, buffer, () =>
|
||||
{
|
||||
console.log("multer.upload.single", { file });
|
||||
console.log({ file_payload });
|
||||
res.status(200).json(file_payload);
|
||||
resolve();
|
||||
});
|
||||
}
|
||||
catch(upload_single_error)
|
||||
{
|
||||
console.error("upload_single_error");
|
||||
console.error(upload_single_error);
|
||||
res.status(500).send();
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403).send();
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
|
||||
export const config = {
|
||||
api: {
|
||||
bodyParser: false
|
||||
}
|
||||
}
|
||||
48
pages/api/questionnaire/save.js
Normal file
48
pages/api/questionnaire/save.js
Normal file
@ -0,0 +1,48 @@
|
||||
// Next.js API route support: https://nextjs.org/docs/api-routes/introduction
|
||||
import fs from 'fs';
|
||||
import axios from 'axios';
|
||||
import { Cookies } from 'react-cookie';
|
||||
import cookie from 'cookie';
|
||||
import moment from 'moment';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
import { inspect } from 'util';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
console.log("API", "questionnaire", "save");
|
||||
await cors(req, res);
|
||||
|
||||
return new Promise(async (resolve) =>
|
||||
{
|
||||
if(req.headers.cookie !== undefined)
|
||||
{
|
||||
const cookies = cookie.parse(req.headers?.cookie ? req.headers?.cookie : "");
|
||||
|
||||
if(cookies.jwt !== undefined && cookies.jwt !== null)
|
||||
{
|
||||
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 });
|
||||
|
||||
console.log(req.body);
|
||||
const { questionnaire } = req.body;
|
||||
//console.log("file", { file });
|
||||
|
||||
const key = md5(`questionnaire_${ client_jwt_decoded.acc_number }`);
|
||||
await RedisClient.set(key, JSON.stringify(questionnaire));
|
||||
|
||||
res.status(200).send();
|
||||
resolve();
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403).send();
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
});
|
||||
}
|
||||
@ -1,33 +0,0 @@
|
||||
// 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 { cors } from '../../../lib/cors';
|
||||
import { inspect } from 'util';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
console.log("API", "questionnaire", "get");
|
||||
console.log(req.body);
|
||||
console.log("-".repeat(50));
|
||||
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)
|
||||
{
|
||||
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 });
|
||||
|
||||
res.status(200);
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -1,33 +0,0 @@
|
||||
// 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 { cors } from '../../../lib/cors';
|
||||
import { inspect } from 'util';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
console.log("API", "questionnaire", "get");
|
||||
console.log(req.body);
|
||||
console.log("-".repeat(50));
|
||||
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)
|
||||
{
|
||||
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 });
|
||||
|
||||
res.status(200);
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403);
|
||||
}
|
||||
}
|
||||
}
|
||||
@ -8,8 +8,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -48,7 +47,7 @@ export default async function handler(req, res)
|
||||
if(response.status === "success")
|
||||
{
|
||||
const key = md5(`email_code_${ email }`);
|
||||
await redis.set(key, JSON.stringify({ code }), 'EX', 300);
|
||||
await RedisClient.set(key, JSON.stringify({ code }), 'EX', 300);
|
||||
|
||||
res.status(200).json({
|
||||
status: "success",
|
||||
|
||||
@ -7,8 +7,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -17,7 +16,7 @@ export default async function handler(req, res)
|
||||
let token = "";
|
||||
|
||||
const key = md5(`email_code_${ email }`);
|
||||
let existed_data = await redis.get(key);
|
||||
let existed_data = await RedisClient.get(key);
|
||||
|
||||
if(existed_data !== null)
|
||||
{
|
||||
@ -25,7 +24,7 @@ export default async function handler(req, res)
|
||||
|
||||
if(existed_data_json.code === code)
|
||||
{
|
||||
await redis.set(key, JSON.stringify({ code }), 'EX', 900);
|
||||
await RedisClient.set(key, JSON.stringify({ code }), 'EX', 900);
|
||||
res.status(200).json({ status: "success" });
|
||||
}
|
||||
else
|
||||
|
||||
@ -7,8 +7,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -17,7 +16,7 @@ export default async function handler(req, res)
|
||||
let token = "";
|
||||
|
||||
const key = md5(`email_code_${ email }`);
|
||||
let existed_data = await redis.get(key);
|
||||
let existed_data = await RedisClient.get(key);
|
||||
|
||||
if(existed_data !== null)
|
||||
{
|
||||
|
||||
@ -8,8 +8,7 @@ import Redis from 'ioredis';
|
||||
import { inspect } from 'util';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -29,7 +28,7 @@ export default async function handler(req, res)
|
||||
console.log("client_jwt_decoded");
|
||||
console.log(client_jwt_decoded);
|
||||
|
||||
const read = await redis.keys(`${ client_jwt_decoded.acc_number }_appeal_*`);
|
||||
const read = await RedisClient.keys(`${ client_jwt_decoded.acc_number }_appeal_*`);
|
||||
console.log("API", "support", "appeals", "read", read);
|
||||
|
||||
try
|
||||
|
||||
@ -4,11 +4,12 @@ import { Cookies } from 'react-cookie';
|
||||
import cookie from 'cookie';
|
||||
import moment from 'moment';
|
||||
import jwt from 'jsonwebtoken';
|
||||
import { cors } from '../../../lib/cors';
|
||||
import { inspect } from 'util';
|
||||
import FormData from 'form-data';
|
||||
import multer from 'multer';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const storage = multer.memoryStorage();
|
||||
const upload = multer({ storage: storage });
|
||||
|
||||
@ -17,8 +18,6 @@ export default async function handler(req, res)
|
||||
console.log("API", "support", "attachment");
|
||||
await cors(req, res);
|
||||
|
||||
console.log("req.query", req.query);
|
||||
|
||||
return new Promise((resolve) =>
|
||||
{
|
||||
if(req.headers.cookie !== undefined)
|
||||
@ -83,13 +82,13 @@ export default async function handler(req, res)
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403);
|
||||
res.status(403).send();
|
||||
resolve();
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
res.status(403);
|
||||
res.status(403).send();
|
||||
resolve();
|
||||
}
|
||||
});
|
||||
|
||||
@ -8,8 +8,7 @@ import Redis from 'ioredis';
|
||||
import md5 from 'md5';
|
||||
|
||||
import { cors } from '../../../lib/cors';
|
||||
|
||||
const redis = new Redis(process.env.REDIS_URL);
|
||||
import RedisClient from '../../../lib/RedisClient';
|
||||
|
||||
export default async function handler(req, res)
|
||||
{
|
||||
@ -36,7 +35,7 @@ export default async function handler(req, res)
|
||||
const key = `${ client_jwt_decoded.acc_number }_appeal_${ appeals[i].number }_${ appeals[i].status }`;
|
||||
console.log("API", "support", "read", "key", key);
|
||||
|
||||
await redis.set(key, appeals[i].status);
|
||||
await RedisClient.set(key, appeals[i].status);
|
||||
}
|
||||
}
|
||||
catch(exception)
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user