Skip to content

Documentation


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