Initial commit in this repository
This commit is contained in:
44
src/routes/projectsRoutes.js
Normal file
44
src/routes/projectsRoutes.js
Normal file
@@ -0,0 +1,44 @@
|
||||
import express from 'express';
|
||||
import multer from 'multer';
|
||||
import {
|
||||
getAllProjectsHandler,
|
||||
getProjectByIdHandler,
|
||||
createProjectHandler,
|
||||
updateProjectHandler,
|
||||
deleteProjectHandler,
|
||||
getProjectFilesHandler,
|
||||
addProjectFileHandler,
|
||||
deleteProjectFileHandler,
|
||||
downloadProjectFilesHandler
|
||||
} from '../controllers/projectsController.js';
|
||||
import {
|
||||
validateGetAllQuery,
|
||||
validateId,
|
||||
validateCreateProject,
|
||||
validateUpdateProject,
|
||||
} from '../middleware/validateProjects.js';
|
||||
import { authenticate } from '../middleware/authenticate.js';
|
||||
|
||||
const router = express.Router();
|
||||
|
||||
const upload = multer({
|
||||
storage: multer.memoryStorage(),
|
||||
limits: { fileSize: 10 * 1024 * 1024 }
|
||||
});
|
||||
|
||||
router.use(authenticate);
|
||||
|
||||
//Project Routes
|
||||
router.get('/', validateGetAllQuery, getAllProjectsHandler);
|
||||
router.get('/:id', validateId, getProjectByIdHandler);
|
||||
router.post('/', validateCreateProject, createProjectHandler);
|
||||
router.put('/:id', validateId, validateUpdateProject, updateProjectHandler);
|
||||
router.delete('/:id', validateId, deleteProjectHandler);
|
||||
|
||||
// Project File Routes
|
||||
router.get('/:id/files', validateId, getProjectFilesHandler);
|
||||
router.post('/:id/files', validateId, upload.single('file'), addProjectFileHandler);
|
||||
router.delete('/files/:id', validateId, deleteProjectFileHandler);
|
||||
router.get('/:id/files/download', validateId, downloadProjectFilesHandler);
|
||||
|
||||
export default router;
|
||||
Reference in New Issue
Block a user