create user keycloak เมื่อกลับเข้ารับราชการ

This commit is contained in:
Bright 2024-10-28 20:59:31 +07:00
parent 1b3f42fd85
commit 08706f57ed
2 changed files with 39 additions and 0 deletions

View file

@ -39,6 +39,7 @@ import {
commandTypePath,
removeProfileInOrganize,
setLogDataDiff,
checkReturnCommandType,
checkExceptCommandType,
checkCommandType,
} from "../interfaces/utils";
@ -1838,6 +1839,30 @@ export class CommandController extends Controller {
profile.posTypeId = _null;
profile.posLevelId = _null;
}
const returnWork = await checkReturnCommandType(String(item.commandId));
if(returnWork && item.isGovernment) {
const userKeycloakId = await createUser(profile.citizenId, profile.citizenId, {
firstName: profile.firstName,
lastName: profile.lastName,
});
if (typeof userKeycloakId !== "string") {
throw new Error(userKeycloakId.errorMessage);
}
const list = await getRoles();
if (!Array.isArray(list))
throw new Error("Failed. Cannot get role(s) data from the server.");
const result = await addUserRoles(
userKeycloakId,
list
.filter((v) => v.name === "USER")
.map((x) => ({
id: x.id,
name: x.name,
})),
);
if (!result) throw new Error("Failed. Cannot set user's role.");
profile.keycloak = userKeycloakId;
}
await this.profileRepository.save(profile);
}),
);