Template
1
0
Files
boilerplate/tests/mocks/relay.ts
2025-04-18 20:18:50 +00:00

24 lines
757 B
TypeScript

import z from "zod";
import { http } from "../../adapters/http.ts";
import { Relay } from "../../libraries/relay.ts";
import { route } from "../../libraries/route.ts";
import { UserSchema } from "./user.ts";
export const relay = new Relay({ adapter: http }, [
route
.post("/users")
.body(UserSchema.omit({ id: true }))
.response(z.string()),
route.get("/users").response(z.array(UserSchema)),
route
.get("/users/:userId")
.params({ userId: z.string().check(z.uuid()) })
.response(UserSchema.or(z.undefined())),
route
.put("/users/:userId")
.params({ userId: z.string().check(z.uuid()) })
.body(UserSchema.omit({ id: true })),
route.delete("/users/:userId").params({ userId: z.string().check(z.uuid()) }),
]);