aboutsummaryrefslogtreecommitdiffstats
path: root/packages/trpc/routers/lists.ts
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-09-28 17:49:20 +0100
committerGitHub <noreply@github.com>2025-09-28 17:49:20 +0100
commit7d0b414f1f5681dcc73254fe97cb67de4c0cb748 (patch)
treeb76d5f88fe9b35bb60c8dbfb07effa5b23fa977d /packages/trpc/routers/lists.ts
parented1f24f2df639786a7e6f6ef8951c0d9197f57ff (diff)
downloadkarakeep-7d0b414f1f5681dcc73254fe97cb67de4c0cb748.tar.zst
feat: recursive list delete (#1989)
Diffstat (limited to 'packages/trpc/routers/lists.ts')
-rw-r--r--packages/trpc/routers/lists.ts7
1 files changed, 6 insertions, 1 deletions
diff --git a/packages/trpc/routers/lists.ts b/packages/trpc/routers/lists.ts
index 92392448..7118c608 100644
--- a/packages/trpc/routers/lists.ts
+++ b/packages/trpc/routers/lists.ts
@@ -57,10 +57,15 @@ export const listsAppRouter = router({
.input(
z.object({
listId: z.string(),
+ deleteChildren: z.boolean().optional().default(false),
}),
)
.use(ensureListOwnership)
- .mutation(async ({ ctx }) => {
+ .mutation(async ({ ctx, input }) => {
+ if (input.deleteChildren) {
+ const children = await ctx.list.getChildren();
+ await Promise.all(children.map((l) => l.delete()));
+ }
await ctx.list.delete();
}),
addToList: authedProcedure