diff options
| author | Mohamed Bassem <me@mbassem.com> | 2025-07-06 14:31:58 +0000 |
|---|---|---|
| committer | Mohamed Bassem <me@mbassem.com> | 2025-07-06 15:30:18 +0000 |
| commit | 47624547f8cb352426d597537c11e7a4550aa91e (patch) | |
| tree | 6d216e7634c75d83484d14f76c14a18f530feaf2 /packages/shared | |
| parent | 5576361a1afa280abb256cafe17b7a140ee42adf (diff) | |
| download | karakeep-47624547f8cb352426d597537c11e7a4550aa91e.tar.zst | |
feat: Add new user stats page. Fixes #1523
Diffstat (limited to '')
| -rw-r--r-- | packages/shared/types/users.ts | 46 |
1 files changed, 46 insertions, 0 deletions
diff --git a/packages/shared/types/users.ts b/packages/shared/types/users.ts index 0abe13b1..65e73ff3 100644 --- a/packages/shared/types/users.ts +++ b/packages/shared/types/users.ts @@ -38,6 +38,52 @@ export const zUserStatsResponseSchema = z.object({ numTags: z.number(), numLists: z.number(), numHighlights: z.number(), + bookmarksByType: z.object({ + link: z.number(), + text: z.number(), + asset: z.number(), + }), + topDomains: z + .array( + z.object({ + domain: z.string(), + count: z.number(), + }), + ) + .max(10), + totalAssetSize: z.number(), + assetsByType: z.array( + z.object({ + type: z.string(), + count: z.number(), + totalSize: z.number(), + }), + ), + bookmarkingActivity: z.object({ + thisWeek: z.number(), + thisMonth: z.number(), + thisYear: z.number(), + byHour: z.array( + z.object({ + hour: z.number(), + count: z.number(), + }), + ), + byDayOfWeek: z.array( + z.object({ + day: z.number(), + count: z.number(), + }), + ), + }), + tagUsage: z + .array( + z.object({ + name: z.string(), + count: z.number(), + }), + ) + .max(10), }); export const zUserSettingsSchema = z.object({ |
