File size: 794 Bytes
bf48b89
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
import type { RouteHandler } from '@hono/zod-openapi';
import { createRoute, z } from '@hono/zod-openapi';

import { namespaces } from '@/registry';

const ParamsSchema = z.object({
    namespace: z.string().openapi({
        param: {
            name: 'namespace',
            in: 'path',
        },
        example: 'github',
    }),
});

const route = createRoute({
    method: 'get',
    path: '/namespace/{namespace}',
    tags: ['Namespace'],
    request: {
        params: ParamsSchema,
    },
    responses: {
        200: {
            description: 'Information about a namespace',
        },
    },
});

const handler: RouteHandler<typeof route> = (ctx) => {
    const { namespace } = ctx.req.valid('param');
    return ctx.json(namespaces[namespace]);
};

export { handler, route };