添加通知api

This commit is contained in:
whyour
2021-09-17 18:06:14 +08:00
parent f2dac51a62
commit bb0ad6c325
4 changed files with 44 additions and 14 deletions
+31 -1
View File
@@ -86,7 +86,7 @@ export default (app: Router) => {
code: 200,
data: {
username: authInfo.username,
twoFactorActived: authInfo.twoFactorActived,
twoFactorActivated: authInfo.twoFactorActivated,
},
});
} catch (e) {
@@ -182,4 +182,34 @@ export default (app: Router) => {
}
},
);
route.get(
'/user/notification',
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const authService = Container.get(AuthService);
const data = await authService.getNotificationMode();
res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);
route.put(
'/user/notification',
async (req: Request, res: Response, next: NextFunction) => {
const logger: Logger = Container.get('logger');
try {
const authService = Container.get(AuthService);
const data = await authService.updateNotificationMode(req.body);
res.send({ code: 200, data });
} catch (e) {
logger.error('🔥 error: %o', e);
return next(e);
}
},
);
};
+5 -5
View File
@@ -47,7 +47,7 @@ export default class AuthService {
lastlogon,
lastip,
lastaddr,
twoFactorActived,
twoFactorActivated,
} = content;
if (
@@ -72,7 +72,7 @@ export default class AuthService {
const { ip, address } = await getNetIp(req);
if (username === cUsername && password === cPassword) {
if (twoFactorActived && needTwoFactor) {
if (twoFactorActivated && needTwoFactor) {
this.updateAuthInfo(content, {
isTwoFactorChecking: true,
});
@@ -83,7 +83,7 @@ export default class AuthService {
}
const data = createRandomString(50, 100);
const expiration = twoFactorActived ? 30 : 3;
const expiration = twoFactorActivated ? 30 : 3;
let token = jwt.sign({ data }, config.secret as any, {
expiresIn: 60 * 60 * 24 * expiration,
algorithm: 'HS384',
@@ -206,7 +206,7 @@ export default class AuthService {
secret: authInfo.twoFactorSecret,
});
if (isValid) {
this.updateAuthInfo(authInfo, { twoFactorActived: true });
this.updateAuthInfo(authInfo, { twoFactorActivated: true });
}
return isValid;
}
@@ -236,7 +236,7 @@ export default class AuthService {
public deactiveTwoFactor() {
const authInfo = this.getAuthInfo();
this.updateAuthInfo(authInfo, {
twoFactorActived: false,
twoFactorActivated: false,
twoFactorSecret: '',
});
return true;