Files
ZYZ/web-server/app/middleware/tokenParser.ts
2021-11-29 16:19:47 +08:00

28 lines
845 B
TypeScript

import { STATUS } from '@consts';
import { UserModel } from '@db/User';
module.exports = () => {
return async function tokenParser(ctx, next) {
if (!ctx.request.body || !ctx.request.body.token) {
console.error('token not found');
ctx.body = ctx.service.utils.resResult(STATUS.WRONG_PARMS);
return;
}
const user = await UserModel.findUserByToken(ctx.request.body.token);
if (!user) {
console.error('token invalid');
ctx.body = ctx.service.utils.resResult(STATUS.TOKEN_ERR);
return;
}
ctx.uid = user.uid;
ctx.serverType = ctx.request.body.serverType||user.serverType;
ctx.userCode = user.userCode;
ctx.pkgName = user.pkgName;
ctx.tel = user.tel;
ctx.service.utils.log('INFO', `[${ctx.request.url}] [${ctx.logcode}] user: ${user.uid}`);
await next();
};
};