design fixup and docs + api versioning
All checks were successful
Deploy to Test Environment / deploy-to-test (push) Successful in 21m49s

This commit is contained in:
2026-01-28 00:04:56 -08:00
parent 4baed53713
commit 0d4b028a66
26 changed files with 445 additions and 24 deletions

View File

@@ -47,16 +47,20 @@ export async function getFlyerById(id: number, client?: PoolClient): Promise<Fly
```typescript
import { sendError } from '../utils/apiResponse';
app.get('/api/flyers/:id', async (req, res) => {
app.get('/api/v1/flyers/:id', async (req, res) => {
try {
const flyer = await flyerDb.getFlyerById(parseInt(req.params.id));
return sendSuccess(res, flyer);
} catch (error) {
// IMPORTANT: Use req.originalUrl for dynamic path logging (not hardcoded paths)
req.log.error({ error }, `Error in ${req.originalUrl.split('?')[0]}:`);
return sendError(res, error);
}
});
```
**Best Practice**: Always use `req.originalUrl.split('?')[0]` in error log messages instead of hardcoded paths. This ensures logs reflect the actual request URL including version prefixes (`/api/v1/`). See [Error Logging Path Patterns](ERROR-LOGGING-PATHS.md) for details.
### Custom Error Types
```typescript