Files
project.linkedcorp.net/backend/src/modules/projects/routes.js
T
Milton Gonzalez 4056c70d90 feat: version 3.1.0 -- Acceso por modulo y por usuario
Co-Authored-By: Claude Opus 5.5 <noreply@anthropic.com>
2026-10-23 14:14:01 -05:00

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;