From 49d236df3bd2bd976ebc424644f34f5affa1074f Mon Sep 17 00:00:00 2001 From: joonhoekim <26rote@gmail.com> Date: Thu, 14 Aug 2025 13:15:21 +0000 Subject: (김준회) 결재 테스트 모듈 수정, 환경병수 eVCP 운영 대응, SGIPS JWT TOKEN 수정, SHI-API 기반 유저 관리 추가, 유저목록 테이블 변경 MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit --- db/schema/users.ts | 23 ++++++++++++++++++++++- 1 file changed, 22 insertions(+), 1 deletion(-) (limited to 'db/schema/users.ts') 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`${users.imageUrl}`.as("user_image"), + // 추가: 사번, 부서, 녹스ID + employee_number: sql`${users.employeeNumber}`.as("employee_number"), + dept_name: sql`${users.deptName}`.as("dept_name"), + knox_id: sql`${users.knoxId}`.as("knox_id"), + + // 추가: 계정 상태 플래그 + is_locked: sql`${users.isLocked}`.as("is_locked"), + is_absent: sql`${users.isAbsent}`.as("is_absent"), + is_deleted_on_non_sap: sql`${users.isDeletedOnNonSap}`.as("is_deleted_on_non_sap"), + is_regular_employee: sql`${users.isRegularEmployee}`.as("is_regular_employee"), + // 4) companyId: number | null company_id: sql`${vendors.id}`.as("company_id"), @@ -297,8 +316,10 @@ export const userView = pgView("user_view").as((qb) => { roles: sql` array_agg(${roles.name}) `.as("roles"), - // 7) createdAt: Date + // 7) created/updated/deactivated dates created_at: sql`${users.createdAt}`.as("created_at"), + updated_at: sql`${users.updatedAt}`.as("updated_at"), + deactivated_at: sql`${users.deactivatedAt}`.as("deactivated_at"), }) .from(users) .leftJoin(vendors, eq(users.companyId, vendors.id)) -- cgit v1.2.3