update create users

This commit is contained in:
Narul Hidayah
2026-01-01 22:13:55 +07:00
parent e4cc078e64
commit dec6d64b68
3 changed files with 41 additions and 42 deletions

View File

@ -46,11 +46,11 @@ export class AuthController {
const userRepository = OrmHelper.DB.getRepository(User) const userRepository = OrmHelper.DB.getRepository(User)
const userRefreshTokenRepository = OrmHelper.DB.getRepository(UserRefreshToken) const userRefreshTokenRepository = OrmHelper.DB.getRepository(UserRefreshToken)
const user = await userRepository.findOne({ const user = await userRepository.findOne({
relations: ["roles", "roles.application"], relations: ["roles", "roles.application"],
select: ["id", "email", "name", "nik", "password", "username", "roles"], select: ["id", "email", "name", "employee_id", "password", "username", "roles"],
where: { username: param.username }, where: { username: param.username },
}) })
if (user != null && user.roles != null && user.roles.length > 0 && user.checkIfPasswordMatch(param.password)) { if (user != null && user.roles != null && user.roles.length > 0 && user.checkIfPasswordMatch(param.password)) {
const { browser, device, os } = UAParser(req.get("User-Agent")) const { browser, device, os } = UAParser(req.get("User-Agent"))
@ -85,37 +85,37 @@ export class AuthController {
return ReturnHelper.errorResponse(res, 403, 403, Language.lang.failed_access + ", you don't have any roles in this application") return ReturnHelper.errorResponse(res, 403, 403, Language.lang.failed_access + ", you don't have any roles in this application")
} else { } else {
// const userRole = await userRoleRepository.findOneBy({ id: role_id }) // const userRole = await userRoleRepository.findOneBy({ id: role_id })
var hrms = { var hrms = {
uuid: null, uuid: null,
idx: null, idx: null,
nik: null, employee_id: null,
employeename: null, employeename: null,
title: null, title: null,
department_id: null, department_id: null,
departement_uuid: null, departement_uuid: null,
department_name: null, department_name: null,
level_id: null, level_id: null,
level_name: null, level_name: null,
} }
var privateKey = fs.readFileSync("src/helpers/key/private.key") var privateKey = fs.readFileSync("src/helpers/key/private.key")
var token = jwt.sign( var token = jwt.sign(
{ {
exp: Math.floor(Date.now() / 1000) + Number(config.get("auth.access_token_lifetime")), exp: Math.floor(Date.now() / 1000) + Number(config.get("auth.access_token_lifetime")),
data: { data: {
id: user.id, id: user.id,
username: user.username, username: user.username,
name: user.name, name: user.name,
id_role: role_id, id_role: role_id,
roles: roles.roles, roles: roles.roles,
nik: user.nik, employee_id: user.employee_id,
hrms: hrms, hrms: hrms,
},
}, },
privateKey, },
{ algorithm: "RS256" } privateKey,
) { algorithm: "RS256" }
)
delete user.password delete user.password

View File

@ -259,7 +259,7 @@ export class UserController {
password: Joi.string().pattern(new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$")).min(8).required().label("Password"), password: Joi.string().pattern(new RegExp("^(?=.*?[A-Z])(?=.*?[a-z])(?=.*?[0-9])(?=.*?[#?!@$%^&*-]).{8,}$")).min(8).required().label("Password"),
retype_password: Joi.ref("password"), retype_password: Joi.ref("password"),
name: Joi.string().max(64).required().label("Name"), name: Joi.string().max(64).required().label("Name"),
nik: Joi.string().max(64).optional().allow("").label("NIK"), employee_id: Joi.string().max(64).optional().allow("").label("Employee ID"),
status: Joi.string().required().label("Status"), status: Joi.string().required().label("Status"),
}) })
@ -272,8 +272,8 @@ export class UserController {
data.email = param.email data.email = param.email
data.status = param.status data.status = param.status
if (param.nik && param.nik! + "") { if (param.employee_id && param.employee_id! + "") {
data.nik = param.nik data.employee_id = param.employee_id
} }
data.hashPassword() data.hashPassword()
@ -583,7 +583,7 @@ export class UserController {
password: Joi.string().allow("").optional().label("Password"), password: Joi.string().allow("").optional().label("Password"),
retype_password: Joi.ref("password"), retype_password: Joi.ref("password"),
name: Joi.string().max(64).required().label("Name"), name: Joi.string().max(64).required().label("Name"),
nik: Joi.string().max(64).optional().allow("").label("NIK"), employee_id: Joi.string().max(64).optional().allow("").label("Employee ID"),
status: Joi.string().required().label("Status"), status: Joi.string().required().label("Status"),
}) })
@ -597,13 +597,13 @@ export class UserController {
if (data != null) { if (data != null) {
data.name = param.name data.name = param.name
data.nik = param.nik data.employee_id = param.employee_id
data.username = param.username data.username = param.username
data.email = param.email data.email = param.email
data.status = param.status data.status = param.status
if (param.nik && param.nik != "") { if (param.employee_id && param.employee_id != "") {
data.nik = param.nik data.employee_id = param.employee_id
} }
if (param.password) { if (param.password) {

View File

@ -21,13 +21,12 @@ const doc = {
$application: "ukln", $application: "ukln",
}, },
user: { user: {
$nik: "123456789", $employee_id: "EMP001",
$email: "admin@gmail.com", $email: "admin@gmail.com",
$username: "admin", $username: "admin",
$password: "12345aA!", $password: "12345aA!",
$retype_password: "12345aA!", $retype_password: "12345aA!",
$name: "Administrator", $name: "Administrator",
$nik: "123456789",
// $phone: "08123456789", // $phone: "08123456789",
// $jabatan: "4a6991b6-78a0-4b3b-bf5c-fa0af5f69be8", // $jabatan: "4a6991b6-78a0-4b3b-bf5c-fa0af5f69be8",
// $organisasi: "4a6991b6-78a0-4b3b-bf5c-fa0af5f69be8", // $organisasi: "4a6991b6-78a0-4b3b-bf5c-fa0af5f69be8",