Skip to content

Documentation


Documentation / @kizami/db / leaveRequests

Variable: leaveRequests

const leaveRequests: SQLiteTableWithColumns<{ columns: { createdAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "created_at"; notNull: true; tableName: "leave_requests"; }, { }, { }>; decidedAt: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "decided_at"; notNull: false; tableName: "leave_requests"; }, { }, { }>; decidedBy: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "decided_by"; notNull: false; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; decisionNote: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "decision_note"; notNull: false; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; id: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: true; name: "id"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; leaveDate: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "leave_date"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; leaveType: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "leave_type"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; minutes: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "minutes"; notNull: false; tableName: "leave_requests"; }, { }, { }>; reason: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "reason"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; requestedBy: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "requested_by"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; status: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "status"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; tenantId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "tenant_id"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; unit: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "unit"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; userId: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteText"; data: string; dataType: "string"; driverParam: string; enumValues: [string, ...string[]]; generated: undefined; hasDefault: false; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "user_id"; notNull: true; tableName: "leave_requests"; }, { }, { length: number | undefined; }>; }; dialect: "sqlite"; name: "leave_requests"; schema: undefined; }>

Defined in: packages/db/src/schema/leave.ts:98

休暇申請。correction_requests と同じ形のワークフロー(pending → approved/rejected/withdrawn)。

unit: 'full_day' | 'half_day_am' | 'half_day_pm' | 'hourly'。 minutes: unit='hourly' のときのみ必須(申請された分数)。full_day/half_day_* は 消化時点の所定労働時間から動的に解決する(標準労働時間の変更を遡って反映できるよう、 申請時点の値を固定保存しない設計判断)。