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;