sendou.ink/app/utils/sql.ts
Kalle 31191eeaae
Some checks are pending
Tests and checks on push / run-checks-and-tests (push) Waiting to run
Updates translation progress / update-translation-progress-issue (push) Waiting to run
Handle new account having a team in account merge Closes #2308
2025-05-19 22:49:23 +03:00

36 lines
892 B
TypeScript

export function errorIsSqliteUniqueConstraintFailure(error: any) {
return error?.code === "SQLITE_CONSTRAINT_UNIQUE";
}
export function errorIsSqliteForeignKeyConstraintFailure(error: unknown) {
return (
error instanceof Error &&
error?.message?.includes("FOREIGN KEY constraint failed")
);
}
export function parseDBJsonArray(value: any) {
const parsed = JSON.parse(value);
// If the returned array of JSON objects from DB is empty
// it will be returned as object with all values being null
// this is a (hacky) workaround for that
return parsed.filter((item: any) =>
Object.values(item).some((val) => val !== null),
);
}
export function parseDBArray(value: any) {
const parsed = JSON.parse(value);
if (!parsed || (parsed.length === 1 && parsed[0] === null)) {
return [];
}
return parsed;
}
export function booleanToInt(value: boolean) {
return value ? 1 : 0;
}