Files
motovaultpro/backend/src/features/vehicles/api/vehicles.routes.ts
Eric Gullickson 6683f1eeff Very minimal MVP
2025-08-23 09:54:22 -05:00

32 lines
1.3 KiB
TypeScript

/**
* @ai-summary Express routes for vehicles API
* @ai-context Defines REST endpoints with auth middleware
*/
import { Router } from 'express';
import { VehiclesController } from './vehicles.controller';
import { authMiddleware } from '../../../core/security/auth.middleware';
export function registerVehiclesRoutes(): Router {
const router = Router();
const controller = new VehiclesController();
// Dropdown Data Routes (no auth required for form population)
router.get('/api/vehicles/dropdown/makes', controller.getDropdownMakes);
router.get('/api/vehicles/dropdown/models/:make', controller.getDropdownModels);
router.get('/api/vehicles/dropdown/transmissions', controller.getDropdownTransmissions);
router.get('/api/vehicles/dropdown/engines', controller.getDropdownEngines);
router.get('/api/vehicles/dropdown/trims', controller.getDropdownTrims);
// All other vehicle routes require authentication
router.use(authMiddleware);
// CRUD Routes
router.post('/api/vehicles', controller.createVehicle);
router.get('/api/vehicles', controller.getUserVehicles);
router.get('/api/vehicles/:id', controller.getVehicle);
router.put('/api/vehicles/:id', controller.updateVehicle);
router.delete('/api/vehicles/:id', controller.deleteVehicle);
return router;
}