import { eq, and, isNull, desc } from "drizzle-orm"; import { db, adventureTemplates, adventureItems } from "@/lib/db"; export async function listTemplates(userId: string) { return db .select() .from(adventureTemplates) .where(and(eq(adventureTemplates.userId, userId), isNull(adventureTemplates.deletedAt))) .orderBy(desc(adventureTemplates.sortPriority)); } export async function findTemplateById(templateId: string) { const [row] = await db .select() .from(adventureTemplates) .where(eq(adventureTemplates.id, templateId)); return row ?? null; } export async function listTemplateItems(templateId: string) { return db .select() .from(adventureItems) .where(and(eq(adventureItems.templateId, templateId), isNull(adventureItems.deletedAt))) .orderBy(adventureItems.sortOrder); }