Request Flow
Route Definition
Routes are defined in/api/src/routes/index.ts
:
/api/src/routes/index.ts
Route Types
Public Routes
Accessible without authentication. Defined in/api/src/routes/public.routes.ts
.
Examples:
GET /health
- Health checkPOST /account/sign-up
- User registrationPOST /account/sign-in
- User authentication
Private Routes
Require user authentication via theauth
middleware. Defined in /api/src/routes/private.routes.ts
.
GET /account
- Get current user accountPUT /account
- Update user profileGET /users
- List users
Admin Routes
Require admin authentication via theadminAuth
middleware (validates x-admin-key
header). Defined in /api/src/routes/admin.routes.ts
.
GET /admin/users
- Admin user managementPUT /admin/users/:id
- Admin user updates
Route Mounting
Ship uses two Koa utilities:- koa-mount - Mount routes at a specific path prefix
- koa-compose - Compose multiple middlewares together
Authentication Flow
See Also
- Routing Middlewares - Global and route-specific middlewares
- API Actions - Creating resource endpoints
- Middlewares - Validation and rate limiting