Files
2026-05-26 22:46:00 +02:00

19 lines
989 B
TypeScript

import "server-only";
import { rawDb, uniqueSlug } from "@/lib/db/client";
function upsert(table: "studios" | "labels" | "series" | "actresses" | "genres", name: string): number {
const trimmed = name.trim();
if (!trimmed) throw new Error(`empty ${table.slice(0, -1)} name`);
const existing = rawDb.prepare(`SELECT id FROM ${table} WHERE name = ?`).get(trimmed) as { id: number } | undefined;
if (existing) return existing.id;
const slug = uniqueSlug(rawDb, table, trimmed);
const row = rawDb.prepare(`INSERT INTO ${table} (name, slug) VALUES (?, ?) RETURNING id`).get(trimmed, slug) as { id: number };
return row.id;
}
export const upsertStudio = (name: string) => upsert("studios", name);
export const upsertLabel = (name: string) => upsert("labels", name);
export const upsertSeries = (name: string) => upsert("series", name);
export const upsertActress = (name: string) => upsert("actresses", name);
export const upsertGenre = (name: string) => upsert("genres", name);