Skip to content

Documentation


Documentation / @kizami/db / index / 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; }>; requiredSteps: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteInteger"; data: number; dataType: "number"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: true; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "required_steps"; notNull: true; tableName: "leave_requests"; }, { }, { }>; 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; }>; step1DecidedAt: 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: "step1_decided_at"; notNull: false; tableName: "leave_requests"; }, { }, { }>; step1DecidedBy: 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: "step1_decided_by"; notNull: false; 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:99

休暇申請。correction_requests と同じ形のワークフロー(pending → approved/rejected/withdrawn。 二段承認では pending → approved_step1 → approved/rejected — docs/design/approval-flows.md)。

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