Community 93 Premium feature complete
This commit is contained in:
@@ -24,6 +24,7 @@ import { CatalogImportService } from '../domain/catalog-import.service';
|
||||
import { PlatformCacheService } from '../../platform/domain/platform-cache.service';
|
||||
import { cacheService } from '../../../core/config/redis';
|
||||
import { pool } from '../../../core/config/database';
|
||||
import { CommunityStationsController } from '../../stations/api/community-stations.controller';
|
||||
|
||||
export const adminRoutes: FastifyPluginAsync = async (fastify) => {
|
||||
const adminController = new AdminController();
|
||||
@@ -33,6 +34,9 @@ export const adminRoutes: FastifyPluginAsync = async (fastify) => {
|
||||
const stationOversightService = new StationOversightService(pool, adminRepository);
|
||||
const stationsController = new StationsController(stationOversightService);
|
||||
|
||||
// Initialize community stations dependencies
|
||||
const communityStationsController = new CommunityStationsController();
|
||||
|
||||
// Initialize catalog dependencies
|
||||
const platformCacheService = new PlatformCacheService(cacheService);
|
||||
const catalogService = new VehicleCatalogService(pool, platformCacheService);
|
||||
@@ -294,4 +298,24 @@ export const adminRoutes: FastifyPluginAsync = async (fastify) => {
|
||||
preHandler: [fastify.requireAdmin],
|
||||
handler: stationsController.removeUserSavedStation.bind(stationsController)
|
||||
});
|
||||
|
||||
// Phase 5: Community gas station submission oversight
|
||||
|
||||
// GET /api/admin/community-stations - List all submissions with filters
|
||||
fastify.get('/admin/community-stations', {
|
||||
preHandler: [fastify.requireAdmin],
|
||||
handler: communityStationsController.listAllSubmissions.bind(communityStationsController)
|
||||
});
|
||||
|
||||
// GET /api/admin/community-stations/pending - Get pending review queue
|
||||
fastify.get('/admin/community-stations/pending', {
|
||||
preHandler: [fastify.requireAdmin],
|
||||
handler: communityStationsController.getPendingQueue.bind(communityStationsController)
|
||||
});
|
||||
|
||||
// PATCH /api/admin/community-stations/:id/review - Approve or reject submission
|
||||
fastify.patch('/admin/community-stations/:id/review', {
|
||||
preHandler: [fastify.requireAdmin],
|
||||
handler: communityStationsController.reviewStation.bind(communityStationsController)
|
||||
});
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user