From 6a2d9e752fab27b59da4f194b0ef6daf7e8b6d81 Mon Sep 17 00:00:00 2001 From: seth Date: Sat, 12 Oct 2024 14:28:54 -0400 Subject: port to deno --- lib/schemas.ts | 34 ++++++++++++++++++++++++++++++++++ 1 file changed, 34 insertions(+) create mode 100644 lib/schemas.ts (limited to 'lib/schemas.ts') 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; -- cgit v1.2.3