update update password from reset password
This commit is contained in:
@ -1,4 +1,5 @@
|
|||||||
import { Request, Response, NextFunction, Application } from "express";
|
import { Response, NextFunction, Application } from "express";
|
||||||
|
import { Request } from 'express-jwt'
|
||||||
import { ReturnHelper } from "../helpers/express/return";
|
import { ReturnHelper } from "../helpers/express/return";
|
||||||
import { OrmHelper } from "../helpers/orm";
|
import { OrmHelper } from "../helpers/orm";
|
||||||
import { User } from "../entity/users";
|
import { User } from "../entity/users";
|
||||||
@ -233,4 +234,56 @@ export class AuthController {
|
|||||||
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed, err.message);
|
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed, err.message);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
static async updatePassword(req: Request, res: Response, next: NextFunction): Promise<Response> {
|
||||||
|
/*
|
||||||
|
#swagger.tags = ['Auth']
|
||||||
|
|
||||||
|
#swagger.requestBody = {
|
||||||
|
required: true,
|
||||||
|
description: "This action will effect to user related token",
|
||||||
|
content: {
|
||||||
|
"application/json": {
|
||||||
|
schema: {
|
||||||
|
$ref: "#/components/schemas/user_password"
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
}
|
||||||
|
*/
|
||||||
|
|
||||||
|
try {
|
||||||
|
const schema = Joi.object().keys({
|
||||||
|
id: Joi.string().uuid().required().label('ID'),
|
||||||
|
password: Joi.string().required().label('Password'),
|
||||||
|
retype_password: Joi.ref('password'),
|
||||||
|
});
|
||||||
|
|
||||||
|
req.body.id = req.auth.data.id;
|
||||||
|
|
||||||
|
const param: User = await schema.validateAsync(req.body);
|
||||||
|
|
||||||
|
const userRepository = OrmHelper.DB.getRepository(User);
|
||||||
|
|
||||||
|
const data = await userRepository.findOneBy({ id: param.id });
|
||||||
|
|
||||||
|
if (data != null) {
|
||||||
|
if (param.password) {
|
||||||
|
data.password = param.password
|
||||||
|
data.hashPassword();
|
||||||
|
}
|
||||||
|
|
||||||
|
await userRepository.save(data);
|
||||||
|
|
||||||
|
return ReturnHelper.successResponseAny(res, 200, Language.lang.success_update, data);
|
||||||
|
} else {
|
||||||
|
return ReturnHelper.errorResponse(res, 404, 401, Language.lang.failed_not_found, "");
|
||||||
|
}
|
||||||
|
} catch (e: unknown) {
|
||||||
|
log.error(e);
|
||||||
|
const err = e as Error;
|
||||||
|
|
||||||
|
return ReturnHelper.errorResponse(res, 500, 402, Language.lang.failed_update, err.message);
|
||||||
|
}
|
||||||
|
}
|
||||||
}
|
}
|
||||||
Reference in New Issue
Block a user