- Added city, state, and country optional fields to Complex model - Updated onboarding to include optional location fields - Created new settings page with sidebar navigation (Datos del Complejo, Canchas) - Replaced ESLint with Biome for frontend and backend linting - Added parallel dev script with concurrently - Migrated register-routes to use direct app.route() pattern
41 lines
1.4 KiB
TypeScript
41 lines
1.4 KiB
TypeScript
import { requireAuth } from '@/middlewares/require-auth.middleware';
|
|
import { createAdminBookingHandler } from '@/modules/admin-booking/handlers/create-admin-booking.handler';
|
|
import { listAdminBookingsHandler } from '@/modules/admin-booking/handlers/list-admin-bookings.handler';
|
|
import { updateAdminBookingStatusHandler } from '@/modules/admin-booking/handlers/update-admin-booking-status.handler';
|
|
import type { AppEnv } from '@/types/hono';
|
|
import { zValidator } from '@hono/zod-validator';
|
|
import {
|
|
createAdminBookingSchema,
|
|
listAdminBookingsQuerySchema,
|
|
updateAdminBookingStatusSchema,
|
|
} from '@repo/api-contract';
|
|
import { Hono } from 'hono';
|
|
import { z } from 'zod';
|
|
|
|
export const adminBookingRoutes = new Hono<AppEnv>();
|
|
const complexIdParamsSchema = z.object({ complexId: z.uuid() });
|
|
const bookingIdParamsSchema = z.object({ id: z.uuid() });
|
|
|
|
adminBookingRoutes.use('*', requireAuth);
|
|
|
|
adminBookingRoutes.get(
|
|
'/complex/:complexId',
|
|
zValidator('param', complexIdParamsSchema),
|
|
zValidator('query', listAdminBookingsQuerySchema),
|
|
listAdminBookingsHandler
|
|
);
|
|
|
|
adminBookingRoutes.post(
|
|
'/complex/:complexId',
|
|
zValidator('param', complexIdParamsSchema),
|
|
zValidator('json', createAdminBookingSchema),
|
|
createAdminBookingHandler
|
|
);
|
|
|
|
adminBookingRoutes.patch(
|
|
'/:id/status',
|
|
zValidator('param', bookingIdParamsSchema),
|
|
zValidator('json', updateAdminBookingStatusSchema),
|
|
updateAdminBookingStatusHandler
|
|
);
|