Openstatus
www.openstatus.dev
1import { createInsertSchema, createSelectSchema } from "drizzle-zod";
2import { z } from "zod";
3
4import { apiKey } from "./api_key";
5
6export const insertApiKeySchema = createInsertSchema(apiKey, {
7 name: z.string().min(1, "Name is required"),
8 description: z.string().optional(),
9 expiresAt: z.date().optional(),
10});
11
12export const selectApiKeySchema = createSelectSchema(apiKey);
13
14export const createApiKeySchema = z.object({
15 name: z.string().min(1, "Name is required"),
16 description: z.string().optional(),
17 expiresAt: z.date().optional(),
18});
19
20export type InsertApiKey = z.infer<typeof insertApiKeySchema>;
21export type ApiKey = z.infer<typeof selectApiKeySchema>;
22export type CreateApiKeyInput = z.infer<typeof createApiKeySchema>;