38 lines
2.8 KiB
TypeScript
38 lines
2.8 KiB
TypeScript
import express from "express";
|
|
|
|
import ProjectsController from "../../controllers/projects-controller";
|
|
|
|
import idParamValidator from "../../middlewares/validators/id-param-validator";
|
|
import projectsBodyValidator from "../../middlewares/validators/projects-body-validator";
|
|
import teamOwnerOrAdminValidator from "../../middlewares/validators/team-owner-or-admin-validator";
|
|
import safeControllerFunction from "../../shared/safe-controller-function";
|
|
import projectManagerValidator from "../../middlewares/validators/project-manager-validator";
|
|
import projectMemberValidator from "../../middlewares/validators/project-member-validator";
|
|
|
|
const projectsApiRouter = express.Router();
|
|
|
|
// db changes. One time only
|
|
projectsApiRouter.get("/update-exist-phase-colors", safeControllerFunction(ProjectsController.updateExistPhaseColors));
|
|
projectsApiRouter.get("/update-exist-sort-order", safeControllerFunction(ProjectsController.updateExistSortOrder));
|
|
|
|
|
|
projectsApiRouter.post("/", teamOwnerOrAdminValidator, projectsBodyValidator, safeControllerFunction(ProjectsController.create));
|
|
projectsApiRouter.get("/", safeControllerFunction(ProjectsController.get));
|
|
projectsApiRouter.get("/my-task-projects", safeControllerFunction(ProjectsController.getMyProjectsToTasks));
|
|
projectsApiRouter.get("/my-projects", safeControllerFunction(ProjectsController.getMyProjects));
|
|
projectsApiRouter.get("/all", safeControllerFunction(ProjectsController.getAllProjects));
|
|
projectsApiRouter.get("/tasks", safeControllerFunction(ProjectsController.getAllTasks));
|
|
projectsApiRouter.get("/members/:id", safeControllerFunction(ProjectsController.getMembersByProjectId));
|
|
projectsApiRouter.get("/overview/:id", idParamValidator, safeControllerFunction(ProjectsController.getOverview));
|
|
projectsApiRouter.get("/overview-members/:id", idParamValidator, safeControllerFunction(ProjectsController.getOverviewMembers));
|
|
projectsApiRouter.get("/favorite/:id", idParamValidator, safeControllerFunction(ProjectsController.toggleFavorite));
|
|
projectsApiRouter.get("/archive/:id", idParamValidator, safeControllerFunction(ProjectsController.toggleArchive));
|
|
projectsApiRouter.get("/:id", idParamValidator, safeControllerFunction(ProjectsController.getById));
|
|
projectsApiRouter.put("/update-pinned-view", projectMemberValidator, safeControllerFunction(ProjectsController.updatePinnedView));
|
|
projectsApiRouter.put("/:id", projectManagerValidator, idParamValidator, projectsBodyValidator, safeControllerFunction(ProjectsController.update));
|
|
projectsApiRouter.delete("/:id", teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(ProjectsController.deleteById));
|
|
projectsApiRouter.get("/archive-all/:id", teamOwnerOrAdminValidator, idParamValidator, safeControllerFunction(ProjectsController.toggleArchiveAll));
|
|
|
|
|
|
export default projectsApiRouter;
|