aboutsummaryrefslogtreecommitdiffstats
path: root/packages
diff options
context:
space:
mode:
Diffstat (limited to 'packages')
-rw-r--r--packages/trpc/routers/apiKeys.ts11
1 files changed, 10 insertions, 1 deletions
diff --git a/packages/trpc/routers/apiKeys.ts b/packages/trpc/routers/apiKeys.ts
index deeb108f..81e3bb2b 100644
--- a/packages/trpc/routers/apiKeys.ts
+++ b/packages/trpc/routers/apiKeys.ts
@@ -4,7 +4,7 @@ import { z } from "zod";
import { apiKeys } from "@hoarder/db/schema";
-import { generateApiKey, validatePassword } from "../auth";
+import { authenticateApiKey, generateApiKey, validatePassword } from "../auth";
import { authedProcedure, publicProcedure, router } from "../index";
const zApiKeySchema = z.object({
@@ -81,4 +81,13 @@ export const apiKeysAppRouter = router({
}
return await generateApiKey(input.keyName, user.id);
}),
+ validate: publicProcedure
+ .input(z.object({ apiKey: z.string() }))
+ .output(z.object({ success: z.boolean() }))
+ .mutation(async ({ input }) => {
+ await authenticateApiKey(input.apiKey); // Throws if the key is invalid
+ return {
+ success: true,
+ };
+ }),
});