Improved routes registration

This commit is contained in:
Jose Selesan
2026-04-09 15:39:42 -03:00
parent 7ca74970fa
commit ae90562d88
3 changed files with 10 additions and 47 deletions

View File

@@ -1,4 +1,3 @@
import { registerApiRoutes } from '@repo/api-contract'
import type { Hono } from 'hono' import type { Hono } from 'hono'
import { serveStatic } from 'hono/bun' import { serveStatic } from 'hono/bun'
import path from 'node:path' import path from 'node:path'
@@ -14,18 +13,16 @@ import type { AppEnv } from '@/types/hono'
import { healthCheckRoutes } from './modules/health-check/health-check.routes' import { healthCheckRoutes } from './modules/health-check/health-check.routes'
export function registerRoutes(app: Hono<AppEnv>) { export function registerRoutes(app: Hono<AppEnv>) {
registerApiRoutes(app, { app
user: userRoutes, .route('/api/user', userRoutes)
plans: planRoutes, .route('/api/plans', planRoutes)
onboarding: onboardingRoutes, .route('/api/onboarding', onboardingRoutes)
complexes: complexRoutes, .route('/api/complexes', complexRoutes)
sports: sportRoutes, .route('/api/sports', sportRoutes)
courts: courtRoutes, .route('/api/courts', courtRoutes)
}) .route('/api/public-bookings', publicBookingRoutes)
.route('/api/admin-bookings', adminBookingRoutes)
app.route('/api/public-bookings', publicBookingRoutes) .route('/api/health', healthCheckRoutes)
app.route('/api/admin-bookings', adminBookingRoutes)
app.route('/api/health', healthCheckRoutes)
app.use('*', serveStatic({ root: './public' })) app.use('*', serveStatic({ root: './public' }))
app.get('*', async (c) => { app.get('*', async (c) => {

View File

@@ -1,4 +1,3 @@
export { API_ROUTES, API_ROUTE_PATHS, registerApiRoutes } from './register-routes'
export { export {
planFeatureFlagsSchema, planFeatureFlagsSchema,
planRulesSchema, planRulesSchema,

View File

@@ -1,33 +0,0 @@
import type { Hono } from 'hono'
type ApiRouteModules = {
user: Hono<any>
plans: Hono<any>
onboarding: Hono<any>
complexes: Hono<any>
sports: Hono<any>
courts: Hono<any>
}
export const API_ROUTES = {
user: '/api/user',
plans: '/api/plans',
onboarding: '/api/onboarding',
complexes: '/api/complexes',
sports: '/api/sports',
courts: '/api/courts',
} as const
// Backward-compatible alias for previous name.
export const API_ROUTE_PATHS = API_ROUTES
// Registers all backend API route modules under their `/api/*` prefixes.
export function registerApiRoutes(app: Hono<any>, modules: ApiRouteModules) {
return app
.route(API_ROUTES.user, modules.user)
.route(API_ROUTES.plans, modules.plans)
.route(API_ROUTES.onboarding, modules.onboarding)
.route(API_ROUTES.complexes, modules.complexes)
.route(API_ROUTES.sports, modules.sports)
.route(API_ROUTES.courts, modules.courts)
}