Skip to content

Documentation


Documentation / @kizami/db / decideAutoBreakWaiver

Function: decideAutoBreakWaiver()

decideAutoBreakWaiver(db, params): Promise<{ createdAt: number; decidedAt: number | null; decidedBy: string | null; decisionNote: string | null; id: string; reason: string; requestedBy: string; status: string; tenantId: string; userId: string; waiveDate: string; } | null>

Defined in: packages/db/src/queries/auto-break-waivers.ts:96

pending の申請を approve/reject する。対象が pending でない(既に決定済み・取り下げ済み)場合は 0件更新となり null を返す(呼び出し側はこれを競合・二重操作の合図として扱う)。

approved にする場合、同一 (tenantId, userId, waiveDate) の approved 重複は schema 側の部分 UNIQUE index (auto_break_waivers_approved_unique_idx) が防ぐため、 ここでは事前チェックをせず UNIQUE 制約違反を呼び出し側(isUniqueConstraintError)に委ねる。

Parameters

db

Database | SQLiteTransaction<"async", ResultSet, schema, ExtractTablesWithRelations<schema>>

params

DecideAutoBreakWaiverParams

Returns

Promise<{ createdAt: number; decidedAt: number | null; decidedBy: string | null; decisionNote: string | null; id: string; reason: string; requestedBy: string; status: string; tenantId: string; userId: string; waiveDate: string; } | null>