diff --git a/src/controllers/user.ts b/src/controllers/user.ts index 8aa76e1..22b8d95 100644 --- a/src/controllers/user.ts +++ b/src/controllers/user.ts @@ -14,6 +14,7 @@ import path from "path"; import fileUpload from "express-fileupload"; import { v4 as uuidv4 } from "uuid"; import config from "../../config/stag.json"; +import { IsNull } from "typeorm"; const log: Logger = new Logger({ name: "[UserController]", type: "pretty", @@ -501,6 +502,28 @@ export class UserController { data.email = param.email; data.status = param.status; + const email = await OrmHelper.DB.getRepository(User).findOne({ + where: { + email: param.email, + deleted_at: IsNull() + } + }); + + const username = await OrmHelper.DB.getRepository(User).findOne({ + where: { + username: param.username, + deleted_at: IsNull() + } + }); + + if (email) { + throw { message: "Email already exists" }; + } + + if (username) { + throw { message: "Username already exists" }; + } + if (param.employee_id && param.employee_id != "") { const employee = await OrmHelper.DB.manager.getRepository(HrmsEmployee).findOneByOrFail({ id: param.employee_id }); data.employee = employee;