aboutsummaryrefslogtreecommitdiffstats
path: root/packages/shared
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-07-06 14:31:58 +0000
committerMohamed Bassem <me@mbassem.com>2025-07-06 15:30:18 +0000
commit47624547f8cb352426d597537c11e7a4550aa91e (patch)
tree6d216e7634c75d83484d14f76c14a18f530feaf2 /packages/shared
parent5576361a1afa280abb256cafe17b7a140ee42adf (diff)
downloadkarakeep-47624547f8cb352426d597537c11e7a4550aa91e.tar.zst
feat: Add new user stats page. Fixes #1523
Diffstat (limited to '')
-rw-r--r--packages/shared/types/users.ts46
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({