update api reset password
This commit is contained in:
@ -13,6 +13,7 @@ import dayjs from 'dayjs'
|
||||
import jwt from 'jsonwebtoken';
|
||||
import fs from 'fs';
|
||||
import { UserRole } from "../entity/users_roles";
|
||||
import { v4 as uuidv4 } from 'uuid';
|
||||
|
||||
const log: Logger<ILogObj> = new Logger({ name: '[UserController]', type: 'pretty' });
|
||||
|
||||
@ -159,13 +160,17 @@ export class AuthController {
|
||||
const param: User = await schema.validateAsync(req.params);
|
||||
|
||||
const userRepository = OrmHelper.DB.getRepository(User);
|
||||
const userRefreshTokenRepository = OrmHelper.DB.getRepository(UserRefreshToken);
|
||||
|
||||
const user = await userRepository.findOne({
|
||||
select: ['id', 'email', 'password', 'username'],
|
||||
where: { username: param.username },
|
||||
where: { email: param.email },
|
||||
})
|
||||
|
||||
user.reset_token = uuidv4();
|
||||
|
||||
await userRepository.save(user);
|
||||
|
||||
//send email reset password
|
||||
|
||||
return ReturnHelper.successResponseAny(res, 200, Language.lang.success, {});
|
||||
|
||||
|
||||
@ -239,6 +244,13 @@ export class AuthController {
|
||||
/*
|
||||
#swagger.tags = ['Auth']
|
||||
|
||||
#swagger.parameters['token'] = {
|
||||
in: 'path',
|
||||
description: 'Token',
|
||||
required: true,
|
||||
type: 'string'
|
||||
}
|
||||
|
||||
#swagger.requestBody = {
|
||||
required: true,
|
||||
description: "This action will effect to user related token",
|
||||
@ -254,18 +266,18 @@ export class AuthController {
|
||||
|
||||
try {
|
||||
const schema = Joi.object().keys({
|
||||
id: Joi.string().uuid().required().label('ID'),
|
||||
reset_token: Joi.string().uuid().required().label('Token'),
|
||||
password: Joi.string().required().label('Password'),
|
||||
retype_password: Joi.ref('password'),
|
||||
});
|
||||
|
||||
req.body.id = req.auth.data.id;
|
||||
req.body.reset_token = req.params.token ?? '';
|
||||
|
||||
const param: User = await schema.validateAsync(req.body);
|
||||
|
||||
const userRepository = OrmHelper.DB.getRepository(User);
|
||||
|
||||
const data = await userRepository.findOneBy({ id: param.id });
|
||||
const data = await userRepository.findOneBy({ reset_token: param.reset_token });
|
||||
|
||||
if (data != null) {
|
||||
if (param.password) {
|
||||
|
||||
Reference in New Issue
Block a user