update entity type and reset password

This commit is contained in:
2024-11-30 12:56:44 +07:00
parent 37aa7842fd
commit 388fff9175
21 changed files with 137 additions and 315 deletions

View File

@ -2,18 +2,18 @@ import { Response, NextFunction, Application } from "express";
import { Request } from 'express-jwt'
import { ReturnHelper } from "../helpers/express/return";
import { OrmHelper } from "../helpers/orm";
import { User } from "../entity/users";
import Joi from "joi";
import config from "config";
import { ILogObj, Logger } from "tslog";
import { Language } from "../langs/lang";
import { UserRefreshToken } from "../entity/user_refresh_token";
import { UAParser } from 'ua-parser-js';
import dayjs from 'dayjs'
import jwt from 'jsonwebtoken';
import fs from 'fs';
import { UserRole } from "../entity/users_roles";
import { v4 as uuidv4 } from 'uuid';
import { EmailBody, User, UserRefreshToken, UserRole } from "Entity";
import axios from 'axios';
import CommonHelper from "../helpers/common";
const log: Logger<ILogObj> = new Logger({ name: '[UserController]', type: 'pretty' });
@ -170,8 +170,30 @@ export class AuthController {
await userRepository.save(user);
//send email reset password
const url = config.get("service.notification") + "api/email/send";
return ReturnHelper.successResponseAny(res, 200, Language.lang.success, {});
console.log(url, 'url')
const template_raw = fs.readFileSync('assets/reset_password.html').toString();
const pairMap = {
'LINK': config.get('auth.reset_password_url') + user.reset_token,
'NAME': user.name
}
const template = CommonHelper.generateTemplate(template_raw, pairMap);
const email: EmailBody = {
subject: "Reset Password",
to: [user.email],
cc: [],
bcc: [],
html: template
}
const { data } = await axios.post(url, email);
return ReturnHelper.successResponseAny(res, 200, Language.lang.success, data);
// return ReturnHelper.errorResponse(res, 403, 401, Language.lang.failed_access);

View File

@ -2,11 +2,11 @@ import { Response, NextFunction, Application } from "express";
import { Request } from "express-jwt";
import { ReturnHelper } from "../helpers/express/return";
import { OrmHelper } from "../helpers/orm";
import { User } from "../entity/users";
import { User } from "Entity";
import Joi from "joi";
import { ILogObj, Logger } from "tslog";
import { Language } from "../langs/lang";
import { Paging } from "../types/paging";
import { Paging } from "Entity";
import CommonHelper from "../helpers/common";
import * as fastcsv from 'fast-csv';
import dayjs from "dayjs";

View File

@ -5,12 +5,12 @@ import { OrmHelper } from "../helpers/orm";
import Joi from "joi";
import { ILogObj, Logger } from "tslog";
import { Language } from "../langs/lang";
import { Paging } from "../types/paging";
import { Paging } from "Entity";
import CommonHelper from "../helpers/common";
import { ActivityType } from "../types/action";
import { UserActivity } from "../entity/user_activity";
import { ActivityType } from "Entity";
import * as fastcsv from 'fast-csv';
import dayjs from "dayjs";
import { UserActivity } from "Entity";
const log: Logger<ILogObj> = new Logger({ name: '[UserActivityController]', type: 'pretty' });

View File

@ -5,9 +5,9 @@ import { OrmHelper } from "../helpers/orm";
import Joi from "joi";
import { ILogObj, Logger } from "tslog";
import { Language } from "../langs/lang";
import { Paging } from "../types/paging";
import { Paging } from "Entity";
import CommonHelper from "../helpers/common";
import { UserRefreshToken } from "../entity/user_refresh_token";
import { UserRefreshToken } from "Entity";
const log: Logger<ILogObj> = new Logger({ name: '[UserRefreshTokenController]', type: 'pretty' });

View File

@ -4,13 +4,13 @@ import { OrmHelper } from "../helpers/orm";
import Joi from "joi";
import { ILogObj, Logger } from "tslog";
import { Language } from "../langs/lang";
import { Paging } from "../types/paging";
import { Paging } from "Entity";
import CommonHelper from "../helpers/common";
import { Status } from "../types/status";
import { UserRole } from "../entity/users_roles";
import { RoleList } from "../types/role";
import { Status } from "Entity";
import { RoleList } from "Entity";
import * as fastcsv from 'fast-csv';
import dayjs from "dayjs";
import { UserRole } from "Entity";
const log: Logger<ILogObj> = new Logger({ name: '[UserRoleController]', type: 'pretty' });