55 lines
2.6 KiB
TypeScript
55 lines
2.6 KiB
TypeScript
import express from 'express';
|
|
const router = express.Router();
|
|
import {
|
|
submitApplication, getApplications, getApplicationById, updateApplicationStatus,
|
|
uploadDocuments, getApplicationDocuments, bulkShortlist,
|
|
assignArchitectureTeam, updateArchitectureStatus, generateDealerCodes,
|
|
retriggerEvaluators, getDocumentConfigs, getDocumentConfigMetadata,
|
|
createDocumentConfig, updateDocumentConfig, deleteDocumentConfig, updateApplication,
|
|
exportApplicationResponses, convertToOpportunity, bulkConvertToOpportunity
|
|
} from './onboarding.controller.js';
|
|
import { authenticate } from '../../common/middleware/auth.js';
|
|
|
|
import { uploadSingle } from '../../common/middleware/upload.js';
|
|
|
|
// All routes require authentication (or public for submission? Keeping auth for now)
|
|
// Public route for application submission
|
|
router.post('/apply', submitApplication);
|
|
|
|
// All subsequent routes require authentication
|
|
router.use(authenticate as any);
|
|
|
|
router.post('/document-configs', createDocumentConfig);
|
|
router.put('/document-configs/:id', updateDocumentConfig);
|
|
router.delete('/document-configs/:id', deleteDocumentConfig);
|
|
|
|
router.get('/applications', getApplications);
|
|
router.get('/applications/export-responses', exportApplicationResponses);
|
|
router.get('/document-configs/metadata', getDocumentConfigMetadata);
|
|
router.get('/document-configs', getDocumentConfigs);
|
|
router.post('/applications/shortlist', bulkShortlist); // Existing route, updated to named import
|
|
router.get('/applications/:id', getApplicationById);
|
|
router.put('/applications/:id', updateApplication);
|
|
router.put('/applications/:id/status', updateApplicationStatus);
|
|
router.post('/applications/:id/documents', uploadSingle, uploadDocuments);
|
|
router.get('/applications/:id/documents', getApplicationDocuments); // Existing route, updated to named import
|
|
router.post('/applications/bulk-convert-to-opportunity', bulkConvertToOpportunity);
|
|
router.post('/applications/:id/convert-to-opportunity', convertToOpportunity);
|
|
|
|
// Architecture-related routes
|
|
router.post('/applications/:id/assign-architecture', assignArchitectureTeam);
|
|
router.put('/applications/:id/architecture-status', updateArchitectureStatus);
|
|
router.post('/applications/:id/generate-codes', generateDealerCodes);
|
|
router.post('/applications/:id/retrigger-evaluators', retriggerEvaluators);
|
|
|
|
|
|
// Questionnaire Routes
|
|
router.get('/questionnaires', (req, res, next) => {
|
|
import('./questionnaire.controller.js').then(c => c.getAllQuestionnaires(req, res)).catch(next);
|
|
});
|
|
router.get('/questionnaires/:id', (req, res, next) => {
|
|
import('./questionnaire.controller.js').then(c => c.getQuestionnaireById(req, res)).catch(next);
|
|
});
|
|
|
|
export default router;
|