Appearance
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
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>