diff --git a/website/src/website/switch/templates.ts b/website/src/website/switch/templates.ts new file mode 100644 index 00000000..2a885239 --- /dev/null +++ b/website/src/website/switch/templates.ts @@ -0,0 +1,26 @@ +import { get, put, del, getAll, type RepoTemplateRecord, type IssueTemplateRecord } from "./db"; +import { nanoid } from "./uid"; + +export async function createRepoTemplate(name: string, fsHandleId: string): Promise { + const rec: RepoTemplateRecord = { id: nanoid(), name, fsHandleId }; + await put("repoTemplates" as any, rec as any); + return rec; +} +export async function listRepoTemplates(): Promise { + return getAll("repoTemplates" as any) as any; +} +export async function deleteRepoTemplate(id: string): Promise { + await del("repoTemplates" as any, id); +} + +export async function createIssueTemplate(data: { name: string; title: string; body: string; labels: string[] }): Promise { + const rec: IssueTemplateRecord = { id: nanoid(), ...data }; + await put("issueTemplates" as any, rec as any); + return rec; +} +export async function listIssueTemplates(): Promise { + return getAll("issueTemplates" as any) as any; +} +export async function deleteIssueTemplate(id: string): Promise { + await del("issueTemplates" as any, id); +}