mirror of
https://github.com/Routstr/routstr-core.git
synced 2026-08-09 11:04:36 +00:00
33 lines
838 B
TypeScript
33 lines
838 B
TypeScript
import { z } from 'zod';
|
|
|
|
export const ApiKeySchema = z.object({
|
|
id: z.string(),
|
|
name: z.string(),
|
|
key: z.string(),
|
|
user_id: z.string(),
|
|
organization_id: z.string(),
|
|
last_used_at: z.string().optional(),
|
|
expires_at: z.string().optional(),
|
|
is_active: z.boolean().default(true),
|
|
created_at: z.string(),
|
|
updated_at: z.string().optional(),
|
|
});
|
|
|
|
export const CreateApiKeySchema = ApiKeySchema.omit({
|
|
id: true,
|
|
key: true,
|
|
created_at: true,
|
|
updated_at: true,
|
|
last_used_at: true,
|
|
});
|
|
|
|
export const UpdateApiKeySchema = z.object({
|
|
name: z.string().optional(),
|
|
is_active: z.boolean().optional(),
|
|
expires_at: z.string().optional(),
|
|
});
|
|
|
|
export type ApiKey = z.infer<typeof ApiKeySchema>;
|
|
export type CreateApiKey = z.infer<typeof CreateApiKeySchema>;
|
|
export type UpdateApiKey = z.infer<typeof UpdateApiKeySchema>;
|