Improved routes registration
This commit is contained in:
@@ -1,4 +1,3 @@
|
||||
import { registerApiRoutes } from '@repo/api-contract'
|
||||
import type { Hono } from 'hono'
|
||||
import { serveStatic } from 'hono/bun'
|
||||
import path from 'node:path'
|
||||
@@ -14,18 +13,16 @@ import type { AppEnv } from '@/types/hono'
|
||||
import { healthCheckRoutes } from './modules/health-check/health-check.routes'
|
||||
|
||||
export function registerRoutes(app: Hono<AppEnv>) {
|
||||
registerApiRoutes(app, {
|
||||
user: userRoutes,
|
||||
plans: planRoutes,
|
||||
onboarding: onboardingRoutes,
|
||||
complexes: complexRoutes,
|
||||
sports: sportRoutes,
|
||||
courts: courtRoutes,
|
||||
})
|
||||
|
||||
app.route('/api/public-bookings', publicBookingRoutes)
|
||||
app.route('/api/admin-bookings', adminBookingRoutes)
|
||||
app.route('/api/health', healthCheckRoutes)
|
||||
app
|
||||
.route('/api/user', userRoutes)
|
||||
.route('/api/plans', planRoutes)
|
||||
.route('/api/onboarding', onboardingRoutes)
|
||||
.route('/api/complexes', complexRoutes)
|
||||
.route('/api/sports', sportRoutes)
|
||||
.route('/api/courts', courtRoutes)
|
||||
.route('/api/public-bookings', publicBookingRoutes)
|
||||
.route('/api/admin-bookings', adminBookingRoutes)
|
||||
.route('/api/health', healthCheckRoutes)
|
||||
|
||||
app.use('*', serveStatic({ root: './public' }))
|
||||
app.get('*', async (c) => {
|
||||
|
||||
@@ -1,4 +1,3 @@
|
||||
export { API_ROUTES, API_ROUTE_PATHS, registerApiRoutes } from './register-routes'
|
||||
export {
|
||||
planFeatureFlagsSchema,
|
||||
planRulesSchema,
|
||||
|
||||
@@ -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)
|
||||
}
|
||||
Reference in New Issue
Block a user