Improved routes registration
This commit is contained in:
@@ -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) => {
|
||||||
|
|||||||
@@ -1,4 +1,3 @@
|
|||||||
export { API_ROUTES, API_ROUTE_PATHS, registerApiRoutes } from './register-routes'
|
|
||||||
export {
|
export {
|
||||||
planFeatureFlagsSchema,
|
planFeatureFlagsSchema,
|
||||||
planRulesSchema,
|
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