Initial commit

This commit is contained in:
Jose Selesan
2026-04-08 22:53:11 -03:00
commit 9ae270609d
179 changed files with 28096 additions and 0 deletions

View File

@@ -0,0 +1,37 @@
import { zValidator } from '@hono/zod-validator'
import { createComplexSchema, updateComplexSchema } from '@repo/api-contract'
import { Hono } from 'hono'
import { z } from 'zod'
import { requireAuth } from '@/middlewares/require-auth.middleware'
import { createComplexHandler } from '@/modules/complex/handlers/create-complex.handler'
import { getComplexByIdHandler } from '@/modules/complex/handlers/get-complex-by-id.handler'
import { getComplexBySlugHandler } from '@/modules/complex/handlers/get-complex-by-slug.handler'
import { listMyComplexesHandler } from '@/modules/complex/handlers/list-my-complexes.handler'
import { updateComplexHandler } from '@/modules/complex/handlers/update-complex.handler'
import type { AppEnv } from '@/types/hono'
export const complexRoutes = new Hono<AppEnv>()
const complexIdParamsSchema = z.object({ id: z.uuid() })
const complexSlugParamsSchema = z.object({ slug: z.string().trim().min(1) })
complexRoutes.use('*', requireAuth)
complexRoutes.post('/', zValidator('json', createComplexSchema), createComplexHandler)
complexRoutes.get('/mine', listMyComplexesHandler)
complexRoutes.get(
'/slug/:slug',
zValidator('param', complexSlugParamsSchema),
getComplexBySlugHandler,
)
complexRoutes.get(
'/:id',
zValidator('param', complexIdParamsSchema),
getComplexByIdHandler,
)
complexRoutes.patch(
'/:id',
zValidator('param', complexIdParamsSchema),
zValidator('json', updateComplexSchema),
updateComplexHandler,
)