diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-03-02 10:46:23 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-03-02 10:46:59 +0000 |
| commit | 379c49b2cd6d081cbe593c969b6f2128b60407c9 (patch) | |
| tree | e5b137fe03dd4113b6ec4c05ee15259ff61981f9 /packages/trpc | |
| parent | feac3147fe3af648f8f39f339411dbeff116ca6c (diff) | |
| download | karakeep-379c49b2cd6d081cbe593c969b6f2128b60407c9.tar.zst | |
feat(web): Show list stats in the sidebar
Diffstat (limited to 'packages/trpc')
| -rw-r--r-- | packages/trpc/routers/lists.ts | 11 |
1 files changed, 11 insertions, 0 deletions
diff --git a/packages/trpc/routers/lists.ts b/packages/trpc/routers/lists.ts index 59441879..f9e382f2 100644 --- a/packages/trpc/routers/lists.ts +++ b/packages/trpc/routers/lists.ts @@ -106,4 +106,15 @@ export const listsAppRouter = router({ const lists = await List.forBookmark(ctx, input.bookmarkId); return { lists: lists.map((l) => l.list) }; }), + stats: authedProcedure + .output( + z.object({ + stats: z.map(z.string(), z.number()), + }), + ) + .query(async ({ ctx }) => { + const lists = await List.getAll(ctx); + const sizes = await Promise.all(lists.map((l) => l.getSize())); + return { stats: new Map(lists.map((l, i) => [l.list.id, sizes[i]])) }; + }), }); |
