diff options
Diffstat (limited to 'db/schema/users.ts')
| -rw-r--r-- | db/schema/users.ts | 23 |
1 files changed, 22 insertions, 1 deletions
diff --git a/db/schema/users.ts b/db/schema/users.ts index 0d727bb4..9977a442 100644 --- a/db/schema/users.ts +++ b/db/schema/users.ts @@ -59,6 +59,14 @@ export const users = pgTable("users", { // emailVerifiedAt: timestamp("email_verified_at", { withTimezone: true }), // registrationCompleted: boolean("registration_completed").default(false).notNull(), + // 김희은 프로 요구사항으로 추가 + employeeNumber: varchar("employee_number", { length: 50 }), + knoxId: varchar("knox_id", { length: 50 }), + nonsapUserId: varchar("nonsap_user_id", { length: 50 }).unique(), + isAbsent: boolean("is_absent"), // 휴직여부 (SHI-API LOFF_GB (Y/N)) + isDeletedOnNonSap: boolean("is_deleted_on_non_sap"), // 퇴직여부 (SHI-API DEL_YN (Y/N)) + isRegularEmployee: boolean("is_regular_employee"), // 정직원여부 (SHI-API REGL_ORORD_GB (S/N)) + }, (table) => { return { emailIdx: uniqueIndex("users_email_idx").on(table.email), @@ -286,6 +294,17 @@ export const userView = pgView("user_view").as((qb) => { user_image: sql<string>`${users.imageUrl}`.as("user_image"), + // 추가: 사번, 부서, 녹스ID + employee_number: sql<string | null>`${users.employeeNumber}`.as("employee_number"), + dept_name: sql<string | null>`${users.deptName}`.as("dept_name"), + knox_id: sql<string | null>`${users.knoxId}`.as("knox_id"), + + // 추가: 계정 상태 플래그 + is_locked: sql<boolean>`${users.isLocked}`.as("is_locked"), + is_absent: sql<boolean | null>`${users.isAbsent}`.as("is_absent"), + is_deleted_on_non_sap: sql<boolean | null>`${users.isDeletedOnNonSap}`.as("is_deleted_on_non_sap"), + is_regular_employee: sql<boolean | null>`${users.isRegularEmployee}`.as("is_regular_employee"), + // 4) companyId: number | null company_id: sql<number | null>`${vendors.id}`.as("company_id"), @@ -297,8 +316,10 @@ export const userView = pgView("user_view").as((qb) => { roles: sql<string[]>` array_agg(${roles.name}) `.as("roles"), - // 7) createdAt: Date + // 7) created/updated/deactivated dates created_at: sql<Date>`${users.createdAt}`.as("created_at"), + updated_at: sql<Date>`${users.updatedAt}`.as("updated_at"), + deactivated_at: sql<Date | null>`${users.deactivatedAt}`.as("deactivated_at"), }) .from(users) .leftJoin(vendors, eq(users.companyId, vendors.id)) |
