From a578dc5c66168a091cbf0378bf5c9f4267c79cbd Mon Sep 17 00:00:00 2001 From: Narul Hidayah Date: Fri, 2 Jan 2026 23:24:58 +0700 Subject: [PATCH] update --- src/controllers/auth.ts | 6 +++--- src/controllers/user.ts | 17 ++++++++++------- src/helpers/orm.ts | 4 ++-- 3 files changed, 15 insertions(+), 12 deletions(-) diff --git a/src/controllers/auth.ts b/src/controllers/auth.ts index 72fb538..7443b94 100644 --- a/src/controllers/auth.ts +++ b/src/controllers/auth.ts @@ -47,8 +47,8 @@ export class AuthController { const userRefreshTokenRepository = OrmHelper.DB.getRepository(UserRefreshToken) const user = await userRepository.findOne({ - relations: ["roles", "roles.application"], - select: ["id", "email", "name", "employee_id", "password", "username", "roles"], + relations: ["roles", "roles.application", "employee"], + select: ["id", "email", "name", "password", "username", "roles"], where: { username: param.username }, }) @@ -109,7 +109,7 @@ export class AuthController { name: user.name, id_role: role_id, roles: roles.roles, - employee_id: user.employee_id, + employee_id: user.employee?.id || null, hrms: hrms, }, }, diff --git a/src/controllers/user.ts b/src/controllers/user.ts index 08510bd..5817d78 100644 --- a/src/controllers/user.ts +++ b/src/controllers/user.ts @@ -1,6 +1,6 @@ import axios from "axios" import config from "config" -import { Paging, User, UserRefreshToken, UserRole } from "entity" +import { Paging, User, UserRefreshToken, UserRole, HrmsEmployee } from "entity" import exceljs from "exceljs" import { NextFunction, Response } from "express" import { Request } from "express-jwt" @@ -251,7 +251,7 @@ export class UserController { status: Joi.string().required().label("Status"), }) - const param: User = await schema.validateAsync(req.body) + const param: any = await schema.validateAsync(req.body) const data = new User() data.name = param.name @@ -260,8 +260,9 @@ export class UserController { data.email = param.email data.status = param.status - if (param.employee_id && param.employee_id! + "") { - data.employee_id = param.employee_id + if (param.employee_id && param.employee_id != "") { + const employee = await OrmHelper.DB.manager.getRepository(HrmsEmployee).findOneByOrFail({ id: param.employee_id }) + data.employee = employee } data.hashPassword() @@ -577,7 +578,7 @@ export class UserController { req.body.id = req.params["id"] - const param: User = await schema.validateAsync(req.body) + const param: any = await schema.validateAsync(req.body) const userRepository = OrmHelper.DB.getRepository(User) @@ -585,13 +586,15 @@ export class UserController { if (data != null) { data.name = param.name - data.employee_id = param.employee_id data.username = param.username data.email = param.email data.status = param.status if (param.employee_id && param.employee_id != "") { - data.employee_id = param.employee_id + const employee = await OrmHelper.DB.manager.getRepository(HrmsEmployee).findOneByOrFail({ id: param.employee_id }) + data.employee = employee + } else { + data.employee = null } if (param.password) { diff --git a/src/helpers/orm.ts b/src/helpers/orm.ts index 48135ae..ef41c94 100644 --- a/src/helpers/orm.ts +++ b/src/helpers/orm.ts @@ -1,6 +1,6 @@ import config from 'config'; import { DataSource } from "typeorm"; -import { Application, Menu, User, UserActivity, UserRefreshToken, UserRole } from "entity"; +import { Application, Menu, User, UserActivity, UserRefreshToken, UserRole, HrmsEmployee, Nationality, Aldeia, Suco, Administrativu, Munisipo, HrmsAirport, HrmsDepartment, HrmsPosition, HrmsShift } from "entity"; import { ILogObj, Logger } from 'tslog'; export class OrmHelper { @@ -20,7 +20,7 @@ export class OrmHelper { database: String(config.get("database.database")), synchronize: true, logging: config.get('database.logging'), - entities: [User, UserRole, UserActivity, UserRefreshToken, Menu, Application], + entities: [User, UserRole, UserActivity, UserRefreshToken, Menu, Application, HrmsEmployee, Nationality, Aldeia, Suco, Administrativu, Munisipo, HrmsAirport, HrmsDepartment, HrmsPosition, HrmsShift ], subscribers: [], migrations: [], })