aboutsummaryrefslogtreecommitdiffstats
path: root/apps/web/app/api/v1
diff options
context:
space:
mode:
authorMohamed Bassem <me@mbassem.com>2025-03-11 20:09:32 +0000
committerMohamed Bassem <me@mbassem.com>2025-03-11 20:09:32 +0000
commitb8c587e3c3e717263da84522d59c7904715ae22a (patch)
treea26a67162118b4a629d33a833dd25be67d344855 /apps/web/app/api/v1
parent59c444a503c0124988608c190342acc53c797107 (diff)
downloadkarakeep-b8c587e3c3e717263da84522d59c7904715ae22a.tar.zst
feat: Add endpoints for whoami and user stats. Fixes #1113
Diffstat (limited to 'apps/web/app/api/v1')
-rw-r--r--apps/web/app/api/v1/users/me/route.ts14
-rw-r--r--apps/web/app/api/v1/users/me/stats/route.ts14
2 files changed, 28 insertions, 0 deletions
diff --git a/apps/web/app/api/v1/users/me/route.ts b/apps/web/app/api/v1/users/me/route.ts
new file mode 100644
index 00000000..bf0a3ba2
--- /dev/null
+++ b/apps/web/app/api/v1/users/me/route.ts
@@ -0,0 +1,14 @@
+import { NextRequest } from "next/server";
+
+import { buildHandler } from "../../utils/handler";
+
+export const dynamic = "force-dynamic";
+
+export const GET = (req: NextRequest) =>
+ buildHandler({
+ req,
+ handler: async ({ api }) => {
+ const user = await api.users.whoami();
+ return { status: 200, resp: user };
+ },
+ });
diff --git a/apps/web/app/api/v1/users/me/stats/route.ts b/apps/web/app/api/v1/users/me/stats/route.ts
new file mode 100644
index 00000000..359c3156
--- /dev/null
+++ b/apps/web/app/api/v1/users/me/stats/route.ts
@@ -0,0 +1,14 @@
+import { NextRequest } from "next/server";
+
+import { buildHandler } from "../../../utils/handler";
+
+export const dynamic = "force-dynamic";
+
+export const GET = (req: NextRequest) =>
+ buildHandler({
+ req,
+ handler: async ({ api }) => {
+ const stats = await api.users.stats();
+ return { status: 200, resp: stats };
+ },
+ });