fixing login employee

This commit is contained in:
Narul Hidayah
2026-01-03 17:38:39 +07:00
parent ee4cf8a43e
commit e8d9e69bbf
2 changed files with 25 additions and 7 deletions

View File

@ -11,7 +11,7 @@ import dayjs from "dayjs"
import jwt from "jsonwebtoken"
import fs from "fs"
import { v4 as uuidv4 } from "uuid"
import { Application, EmailBody, Menu, User, UserRefreshToken, UserRole } from "entity"
import { Application, EmailBody, HrmsEmployee, Menu, User, UserRefreshToken, UserRole } from "entity"
import axios from "axios"
import CommonHelper from "../helpers/common"
import { MoreThan } from "typeorm"
@ -47,7 +47,7 @@ export class AuthController {
const userRefreshTokenRepository = OrmHelper.DB.getRepository(UserRefreshToken)
const user = await userRepository.findOne({
relations: ["roles", "roles.application"],
relations: ["roles", "roles.application", "employee", "employee.department", "employee.position"],
select: ["id", "email", "name", "password", "username", "roles"],
where: { username: param.username },
})
@ -98,6 +98,19 @@ export class AuthController {
level_name: null,
}
// If user has employee, populate hrms data
if (user.employee && user.employee.id) {
hrms.uuid = user.employee.id
hrms.employee_id = user.employee.employee_id || null
hrms.employeename = user.employee.name || null
hrms.title = user.employee.position?.name || null
hrms.department_id = user.employee.department?.id || null
hrms.departement_uuid = user.employee.department?.id || null
hrms.department_name = user.employee.department?.name || null
hrms.level_id = user.employee.position?.id || null
hrms.level_name = user.employee.position?.name || null
}
var privateKey = fs.readFileSync("src/helpers/key/private.key")
var token = jwt.sign(

View File

@ -260,8 +260,11 @@ export class UserController {
data.email = param.email
data.status = param.status
if (param.employee && param.employee.id! + "") {
data.employee = param.employee
if (param.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
}
data.hashPassword()
@ -585,13 +588,15 @@ export class UserController {
if (data != null) {
data.name = param.name
data.employee = param.employee
data.username = param.username
data.email = param.email
data.status = param.status
if (param.employee && param.employee.id != "") {
data.employee = param.employee
if (param.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) {