diff options
| author | seth <[email protected]> | 2024-10-12 14:28:54 -0400 |
|---|---|---|
| committer | seth <[email protected]> | 2024-10-12 14:59:04 -0400 |
| commit | 6a2d9e752fab27b59da4f194b0ef6daf7e8b6d81 (patch) | |
| tree | ed8f9f07861a0a4463dcd910baa349b6cc6656aa /lib/schemas.ts | |
| parent | 08912b439bd61088dd849b9342a81341fa9e4a23 (diff) | |
port to deno
Diffstat (limited to 'lib/schemas.ts')
| -rw-r--r-- | lib/schemas.ts | 34 |
1 files changed, 34 insertions, 0 deletions
diff --git a/lib/schemas.ts b/lib/schemas.ts new file mode 100644 index 0000000..669674a --- /dev/null +++ b/lib/schemas.ts @@ -0,0 +1,34 @@ +import { z } from "@hono/zod-openapi"; + +const ErrorResponse = z.string().optional().openapi({ + description: "Error message reported by server", +}); + +const TeawieURLResponse = z.object({ + url: z.string().url().optional().openapi({ + description: "URL to Teawie", + }), + + error: ErrorResponse, +}); + +export const ListTeawiesParams = z.object({ + limit: z + .string() + .optional() + .default("5") + .refine((data) => { + const parsed = parseInt(data); + return !isNaN(parsed); + }) + .openapi({ + description: "Maximum number of Teawie URLs to be returned", + }), +}); + +export const ListTeawiesResponse = z.object({ + urls: z.array(z.string().url()).optional(), + error: ErrorResponse, +}); + +export const RandomTeawiesResponse = TeawieURLResponse; |
