Files
adventure/apps/web/src/lib/repositories/adventure-templates.repository.ts
Zaine 3b37368e7d
Some checks failed
CI / test (push) Has been cancelled
initial 2
2026-06-26 09:26:50 +01:00

27 lines
835 B
TypeScript
Executable File

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);
}