refactor: user relation
This commit is contained in:
parent
a74d8b63b1
commit
2bd30b735d
21 changed files with 607 additions and 185 deletions
49
src/app.ts
49
src/app.ts
|
|
@ -6,6 +6,8 @@ import swaggerDocument from "./swagger.json";
|
|||
import error from "./middlewares/error";
|
||||
import { RegisterRoutes } from "./routes";
|
||||
import logMiddleware from "./middlewares/log";
|
||||
import { addUserRoles, createUser, getRoleByName, listUser } from "./services/keycloak";
|
||||
import prisma from "./db";
|
||||
|
||||
const APP_HOST = process.env.APP_HOST || "0.0.0.0";
|
||||
const APP_PORT = +(process.env.APP_PORT || 3000);
|
||||
|
|
@ -13,6 +15,53 @@ const APP_PORT = +(process.env.APP_PORT || 3000);
|
|||
(async () => {
|
||||
const app = express();
|
||||
|
||||
let users = await (async () => {
|
||||
let list = await listUser();
|
||||
while (!list) {
|
||||
list = await listUser();
|
||||
await new Promise((resolve) => setTimeout(resolve, 1000));
|
||||
}
|
||||
return list;
|
||||
})();
|
||||
|
||||
if (users.length === 0) {
|
||||
const role = await getRoleByName("system");
|
||||
const userId = await createUser("admin", "1234", {
|
||||
firstName: "Admin",
|
||||
lastName: "System",
|
||||
email: "admin@jws.local",
|
||||
requiredActions: ["UPDATE_PASSWORD"],
|
||||
enabled: true,
|
||||
});
|
||||
|
||||
if (!userId || typeof userId !== "string") {
|
||||
throw new Error("Error create user with keycloak service.");
|
||||
}
|
||||
|
||||
if (role) await addUserRoles(userId, [role]);
|
||||
|
||||
await prisma.user.create({
|
||||
include: { province: true, district: true, subDistrict: true },
|
||||
data: {
|
||||
id: userId,
|
||||
email: "admin@jws.local",
|
||||
gender: "",
|
||||
address: "",
|
||||
addressEN: "",
|
||||
zipCode: "",
|
||||
userType: "USER",
|
||||
userRole: "system",
|
||||
telephoneNo: "",
|
||||
firstName: "Admin",
|
||||
firstNameEN: "Admin",
|
||||
lastName: "System",
|
||||
lastNameEN: "System",
|
||||
statusOrder: 0,
|
||||
username: "admin",
|
||||
},
|
||||
});
|
||||
}
|
||||
|
||||
app.use(cors());
|
||||
app.use(json());
|
||||
app.use(urlencoded({ extended: true }));
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue