-
-
Notifications
You must be signed in to change notification settings - Fork 9
Expand file tree
/
Copy pathindex.ts
More file actions
71 lines (57 loc) · 3.27 KB
/
index.ts
File metadata and controls
71 lines (57 loc) · 3.27 KB
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
import { Router, Request, Response } from 'express';
import surveyController from '../controllers/survey.controller.js';
import settingsController from '../controllers/settings.controller.js';
import setupController from '../controllers/setup.controller.js';
import SeatsController from '../controllers/seats.controller.js';
import metricsController from '../controllers/metrics.controller.js';
import teamsController from '../controllers/teams.controller.js';
import targetValuesController from '../controllers/target.controller.js';
import adoptionController from '../controllers/adoption.controller.js';
import apiDocsController from '../controllers/api-docs.controller.js';
import mongoSanitize from 'express-mongo-sanitize';
const router = Router();
router.use(mongoSanitize());
router.get('/', (req: Request, res: Response) => {
res.send('Hello github-value!');
});
router.get('/survey', surveyController.getAllSurveys);
router.post('/survey', surveyController.createSurvey);
router.get('/survey/:id', surveyController.getSurveyById);
router.put('/survey/:id', surveyController.updateSurvey); // put github survey logic here
router.delete('/survey/:id', surveyController.deleteSurvey);
router.post('/survey/:id/github', surveyController.updateSurveyGitHub);
router.get('/metrics', metricsController.getMetrics);
router.get('/metrics/totals', metricsController.getMetricsTotals);
router.get('/seats', SeatsController.getAllSeats);
router.get('/seats/activity', adoptionController.getAdoptions);
router.get('/seats/activity/totals', adoptionController.getAdoptionTotals);
router.get('/seats/:id', SeatsController.getSeat);
// The order matters - more specific routes first
router.get('/teams', teamsController.getAllTeams);
router.get('/members', teamsController.getAllMembers);
router.get('/members/search', teamsController.searchMembersByLogin); // This needs to be before the dynamic route
router.get('/members/:login', teamsController.getMemberByLogin);
router.get('/settings', settingsController.getAllSettings);
router.post('/settings', settingsController.createSettings);
router.put('/settings', settingsController.updateSettings);
router.get('/settings/:name', settingsController.getSettingsByName);
router.delete('/settings/:name', settingsController.deleteSettings);
router.get('/setup/registration/complete', setupController.registrationComplete);
router.get('/setup/install/complete', setupController.installComplete);
router.get('/setup/install', setupController.getInstall);
router.get('/setup/manifest', setupController.getManifest);
router.post('/setup/existing-app', setupController.addExistingApp);
router.post('/setup/db', setupController.setupDB);
router.get('/setup/status', setupController.setupStatus);
router.get('/setup/validate-installations', setupController.validateInstallations);
router.get('/status', setupController.getStatus);
router.get('/targets', targetValuesController.getTargetValues);
router.post('/targets', targetValuesController.updateTargetValues);
// Add the new route for target calculation
router.get('/targets/calculate', targetValuesController.calculateTargetValues);
// Add the new API documentation endpoint
router.get('/docs', apiDocsController.getApiDocs);
router.get('*', (req: Request, res: Response) => {
res.status(404).send('Route not found');
});
export default router;