4056c70d90
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
33 lines
1.4 KiB
JavaScript
33 lines
1.4 KiB
JavaScript
import { Router } from 'express';
|
|
import { requireAuth } from '../../middleware/auth.js';
|
|
import { requireModule } from '../../middleware/modules.js';
|
|
import {
|
|
getProjects, getProjectOptions, getProject, postProject, putProject, deleteProject, postProjectRestore,
|
|
deleteProjectPermanent, postMember, putMemberRole, deleteMember,
|
|
} from './controller.js';
|
|
import { getGantt } from '../dashboard/controller.js';
|
|
import { getActivitiesByProject, getActivitiesTrash, postActivity, putReorderActivities } from '../activities/controller.js';
|
|
|
|
const router = Router();
|
|
|
|
router.use(requireAuth);
|
|
router.use(requireModule('projects'));
|
|
router.get('/', getProjects);
|
|
router.get('/options', getProjectOptions);
|
|
router.post('/', postProject);
|
|
router.get('/:id', getProject);
|
|
router.put('/:id', putProject);
|
|
router.delete('/:id', deleteProject);
|
|
router.post('/:id/restore', postProjectRestore);
|
|
router.delete('/:id/permanent', deleteProjectPermanent);
|
|
router.get('/:id/gantt', getGantt);
|
|
router.post('/:id/members', postMember);
|
|
router.put('/:id/members/:userId/role', putMemberRole);
|
|
router.delete('/:id/members/:userId', deleteMember);
|
|
router.get('/:projectId/activities', getActivitiesByProject);
|
|
router.get('/:projectId/activities/trash', getActivitiesTrash);
|
|
router.post('/:projectId/activities', postActivity);
|
|
router.put('/:projectId/activities/reorder', putReorderActivities);
|
|
|
|
export default router;
|