mirror of
https://github.com/anomalyco/opencode.git
synced 2026-05-15 00:52:35 +00:00
40 lines
880 B
TypeScript
40 lines
880 B
TypeScript
import { resolver } from "hono-openapi"
|
|
import z from "zod"
|
|
import { NotFoundError } from "@/storage/storage"
|
|
|
|
export const ERRORS = {
|
|
400: {
|
|
description: "Bad request",
|
|
content: {
|
|
"application/json": {
|
|
schema: resolver(
|
|
z
|
|
.object({
|
|
data: z.any(),
|
|
errors: z.array(z.record(z.string(), z.any())),
|
|
success: z.literal(false),
|
|
})
|
|
.meta({
|
|
ref: "BadRequestError",
|
|
}),
|
|
),
|
|
},
|
|
},
|
|
},
|
|
403: {
|
|
description: "Forbidden",
|
|
},
|
|
404: {
|
|
description: "Not found",
|
|
content: {
|
|
"application/json": {
|
|
schema: resolver(NotFoundError.Schema),
|
|
},
|
|
},
|
|
},
|
|
} as const
|
|
|
|
export function errors(...codes: number[]) {
|
|
return Object.fromEntries(codes.map((code) => [code, ERRORS[code as keyof typeof ERRORS]]))
|
|
}
|