Initial commit in this repository

This commit is contained in:
Rapturate
2026-04-27 22:16:17 -04:00
commit 68e7058ca4
64 changed files with 20817 additions and 0 deletions
+10
View File
@@ -0,0 +1,10 @@
import express from 'express';
import { logInHandler, signUpHandler } from '../controllers/authController.js';
import { validateSignUp, validateLogIn } from '../middleware/validateAuth.js';
const router = express.Router();
router.post('/signup', validateSignUp, signUpHandler);
router.post('/login', validateLogIn, logInHandler);
export default router;
+25
View File
@@ -0,0 +1,25 @@
import express from 'express';
import {
getAllIdeasHandler,
createIdeaHandler,
updateIdeaHandler,
deleteIdeaHandler,
} from '../controllers/ideasController.js';
import {
validateGetAllQuery,
validateId,
validateCreateIdea,
validateUpdateIdea,
} from '../middleware/validateIdeas.js';
import { authenticate } from '../middleware/authenticate.js';
const router = express.Router();
router.use(authenticate);
router.get('/', validateGetAllQuery, getAllIdeasHandler);
router.post('/', validateCreateIdea, createIdeaHandler);
router.put('/:id', validateId, validateUpdateIdea, updateIdeaHandler);
router.delete('/:id', validateId, deleteIdeaHandler);
export default router;
+32
View File
@@ -0,0 +1,32 @@
import express from 'express';
import {
getAllMaterialsHandler,
getMaterialsByProjectHandler,
getMaterialByIdHandler,
createMaterialHandler,
deleteMaterialHandler,
} from '../controllers/materialsController.js';
import {
validateGetAllQuery,
validateId,
validateProjectId,
validateCreateMaterial,
} from '../middleware/validateMaterials.js';
import { authenticate } from '../middleware/authenticate.js';
const router = express.Router();
router.use(authenticate);
router.get('/', validateGetAllQuery, getAllMaterialsHandler);
router.get(
'/project/:projectId',
validateProjectId,
validateGetAllQuery,
getMaterialsByProjectHandler
);
router.get('/:id', validateId, getMaterialByIdHandler);
router.post('/', validateCreateMaterial, createMaterialHandler);
router.delete('/:id', validateId, deleteMaterialHandler);
export default router;
+44
View 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;