Merge branch 'develop' into adiDev
This commit is contained in:
commit
37ec36b374
1 changed files with 62 additions and 1 deletions
|
|
@ -32,7 +32,7 @@ import {
|
||||||
enableStatus,
|
enableStatus,
|
||||||
getUserByUsername,
|
getUserByUsername,
|
||||||
changeUserPassword,
|
changeUserPassword,
|
||||||
resetPassword
|
resetPassword,
|
||||||
} from "../keycloak";
|
} from "../keycloak";
|
||||||
import { AppDataSource } from "../database/data-source";
|
import { AppDataSource } from "../database/data-source";
|
||||||
import { Profile } from "../entities/Profile";
|
import { Profile } from "../entities/Profile";
|
||||||
|
|
@ -830,4 +830,65 @@ export class KeycloakController extends Controller {
|
||||||
return result;
|
return result;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Post("user/asdasdasd")
|
||||||
|
@Security("bearerAuth", ["system", "admin"])
|
||||||
|
async createUserImport(
|
||||||
|
@Request() request: { user: { sub: string; preferred_username: string } },
|
||||||
|
) {
|
||||||
|
const profiles = await this.profileRepo.find({
|
||||||
|
// where: {
|
||||||
|
// citizenId: "3640500632315",
|
||||||
|
// },
|
||||||
|
relations: ["roleKeycloaks"],
|
||||||
|
});
|
||||||
|
|
||||||
|
for await (const _item of profiles) {
|
||||||
|
let password = _item.citizenId;
|
||||||
|
if (_item.birthDate != null) {
|
||||||
|
const gregorianYear = _item.birthDate.getFullYear() + 543;
|
||||||
|
|
||||||
|
const formattedDate =
|
||||||
|
_item.birthDate.toISOString().slice(8, 10) +
|
||||||
|
_item.birthDate.toISOString().slice(5, 7) +
|
||||||
|
gregorianYear;
|
||||||
|
password = formattedDate;
|
||||||
|
}
|
||||||
|
const checkUser = await getUserByUsername(_item.citizenId);
|
||||||
|
let userId: any = "";
|
||||||
|
if (checkUser.length == 0) {
|
||||||
|
userId = await createUser(_item.citizenId, password, {
|
||||||
|
firstName: _item.firstName,
|
||||||
|
lastName: _item.lastName,
|
||||||
|
// email: _item.email,
|
||||||
|
});
|
||||||
|
if (typeof userId !== "string") {
|
||||||
|
throw new Error(userId.errorMessage);
|
||||||
|
}
|
||||||
|
} else {
|
||||||
|
userId = checkUser[0].id;
|
||||||
|
}
|
||||||
|
|
||||||
|
const list = await getRoles();
|
||||||
|
if (!Array.isArray(list)) throw new Error("Failed. Cannot get role(s) data from the server.");
|
||||||
|
const result = await addUserRoles(
|
||||||
|
userId,
|
||||||
|
list.filter((v) => v.id == "f8619dc2-dc0d-4aab-957f-66bdf905e9d0"),
|
||||||
|
);
|
||||||
|
|
||||||
|
if (!result) {
|
||||||
|
throw new Error("Failed. Cannot set user's role.");
|
||||||
|
}
|
||||||
|
if (typeof userId === "string") {
|
||||||
|
_item.keycloak = userId;
|
||||||
|
}
|
||||||
|
const roleKeycloak = await this.roleKeycloakRepo.find({
|
||||||
|
where: { id: "f8619dc2-dc0d-4aab-957f-66bdf905e9d0" },
|
||||||
|
});
|
||||||
|
if (_item) {
|
||||||
|
_item.roleKeycloaks = Array.from(new Set([..._item.roleKeycloaks, ...roleKeycloak]));
|
||||||
|
this.profileRepo.save(_item);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
return "555+";
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|
|
||||||
Loading…
Add table
Add a link
Reference in a new issue