Skip to content

Documentation


Documentation / @kizami/db / tenantLeaveSettings

Variable: tenantLeaveSettings

const tenantLeaveSettings: SQLiteTableWithColumns<{ columns: { fixedDateMmDd: 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: "fixed_date_mm_dd"; notNull: false; tableName: "tenant_leave_settings"; }, { }, { length: number | undefined; }>; grantMethod: 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: "grant_method"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { length: number | undefined; }>; halfDayLeaveEnabled: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteBoolean"; data: boolean; dataType: "boolean"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: true; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "half_day_leave_enabled"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; hourlyLeaveEnabled: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteBoolean"; data: boolean; dataType: "boolean"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: true; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "hourly_leave_enabled"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; hourlyLeaveMaxDays: 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: "hourly_leave_max_days"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; stockConversionEnabled: SQLiteColumn<{ baseColumn: never; columnType: "SQLiteBoolean"; data: boolean; dataType: "boolean"; driverParam: number; enumValues: undefined; generated: undefined; hasDefault: true; hasRuntimeDefault: false; identity: undefined; isAutoincrement: false; isPrimaryKey: false; name: "stock_conversion_enabled"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; stockExpiresMonths: 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: "stock_expires_months"; notNull: false; tableName: "tenant_leave_settings"; }, { }, { }>; stockMaxDays: 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: "stock_max_days"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; 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: true; name: "tenant_id"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { length: number | undefined; }>; updatedAt: 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: "updated_at"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { }>; updatedBy: 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: "updated_by"; notNull: true; tableName: "tenant_leave_settings"; }, { }, { length: number | undefined; }>; }; dialect: "sqlite"; name: "tenant_leave_settings"; schema: undefined; }>

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

テナント単位の有給付与方式・時間単位年休・積立休暇の設定。tenant_id が PK(1テナント1行)。

hourlyLeaveMaxDays: 時間単位年休の年度あたり上限日数(労使協定、1〜5日。既定5。 根拠: 労働基準法39条4項)。分への換算は packages/leave/src/hourly.ts (1時間未満切り上げ)を使う。