Appearance
Documentation / @kizami/db / isUniqueConstraintError
Function: isUniqueConstraintError()
isUniqueConstraintError(
err):boolean
Defined in: packages/db/src/errors.ts:15
SQLite/@libsql エラーの判定ヘルパ。
apps/api 層が @libsql/client に直接依存せずに「UNIQUE 制約違反か」を判定できるよう、 ここでダックタイピングする(@libsql/client の LibsqlError#code は "SQLITE_CONSTRAINT" または "SQLITE_CONSTRAINT_UNIQUE" 等になる)。
drizzle-orm はクエリ失敗時、元の LibsqlError を cause に包んだ汎用 Error ("Failed query: ...")を投げる。code はそちらの cause(さらにその cause の場合もある) に付いているため、数段階だけ cause を辿って判定する。
用途: punch_events.supersedes_id の UNIQUE インデックス違反(同一イベントの二重無効化)を、 修正申請の承認処理(apps/api/src/routes/corrections.ts)が 409 として扱うために使う。
Parameters
err
unknown
Returns
boolean