Admin User v1
This commit is contained in:
@@ -9,6 +9,7 @@ import fastifyMultipart from '@fastify/multipart';
|
||||
|
||||
// Core plugins
|
||||
import authPlugin from './core/plugins/auth.plugin';
|
||||
import adminGuardPlugin, { setAdminGuardPool } from './core/plugins/admin-guard.plugin';
|
||||
import loggingPlugin from './core/plugins/logging.plugin';
|
||||
import errorPlugin from './core/plugins/error.plugin';
|
||||
import { appConfig } from './core/config/config-loader';
|
||||
@@ -20,6 +21,8 @@ import { stationsRoutes } from './features/stations/api/stations.routes';
|
||||
import { documentsRoutes } from './features/documents/api/documents.routes';
|
||||
import { maintenanceRoutes } from './features/maintenance';
|
||||
import { platformRoutes } from './features/platform';
|
||||
import { adminRoutes } from './features/admin/api/admin.routes';
|
||||
import { pool } from './core/config/database';
|
||||
|
||||
async function buildApp(): Promise<FastifyInstance> {
|
||||
const app = Fastify({
|
||||
@@ -65,13 +68,17 @@ async function buildApp(): Promise<FastifyInstance> {
|
||||
// Authentication plugin
|
||||
await app.register(authPlugin);
|
||||
|
||||
// Admin guard plugin - initializes after auth plugin
|
||||
await app.register(adminGuardPlugin);
|
||||
setAdminGuardPool(pool);
|
||||
|
||||
// Health check
|
||||
app.get('/health', async (_request, reply) => {
|
||||
return reply.code(200).send({
|
||||
status: 'healthy',
|
||||
timestamp: new Date().toISOString(),
|
||||
environment: process.env.NODE_ENV,
|
||||
features: ['vehicles', 'documents', 'fuel-logs', 'stations', 'maintenance', 'platform']
|
||||
features: ['admin', 'vehicles', 'documents', 'fuel-logs', 'stations', 'maintenance', 'platform']
|
||||
});
|
||||
});
|
||||
|
||||
@@ -81,7 +88,7 @@ async function buildApp(): Promise<FastifyInstance> {
|
||||
status: 'healthy',
|
||||
scope: 'api',
|
||||
timestamp: new Date().toISOString(),
|
||||
features: ['vehicles', 'documents', 'fuel-logs', 'stations', 'maintenance', 'platform']
|
||||
features: ['admin', 'vehicles', 'documents', 'fuel-logs', 'stations', 'maintenance', 'platform']
|
||||
});
|
||||
});
|
||||
|
||||
@@ -113,6 +120,7 @@ async function buildApp(): Promise<FastifyInstance> {
|
||||
await app.register(fuelLogsRoutes, { prefix: '/api' });
|
||||
await app.register(stationsRoutes, { prefix: '/api' });
|
||||
await app.register(maintenanceRoutes, { prefix: '/api' });
|
||||
await app.register(adminRoutes, { prefix: '/api' });
|
||||
|
||||
// 404 handler
|
||||
app.setNotFoundHandler(async (_request, reply) => {
|
||||
|
||||
Reference in New Issue
Block a user