70 lines
2.0 KiB
TypeScript
70 lines
2.0 KiB
TypeScript
import express from "express";
|
|
import ProjectRateCardController from "../../controllers/project-ratecard-controller";
|
|
import idParamValidator from "../../middlewares/validators/id-param-validator";
|
|
import safeControllerFunction from "../../shared/safe-controller-function";
|
|
import projectManagerValidator from "../../middlewares/validators/project-manager-validator";
|
|
|
|
const projectRatecardApiRouter = express.Router();
|
|
|
|
// Insert multiple roles for a project
|
|
projectRatecardApiRouter.post(
|
|
"/",
|
|
projectManagerValidator,
|
|
safeControllerFunction(ProjectRateCardController.createMany)
|
|
);
|
|
// Insert a single role for a project
|
|
projectRatecardApiRouter.post(
|
|
"/create-project-rate-card-role",
|
|
projectManagerValidator,
|
|
safeControllerFunction(ProjectRateCardController.createOne)
|
|
);
|
|
|
|
// Get all roles for a project
|
|
projectRatecardApiRouter.get(
|
|
"/project/:project_id",
|
|
safeControllerFunction(ProjectRateCardController.getByProjectId)
|
|
);
|
|
|
|
// Get a single role by id
|
|
projectRatecardApiRouter.get(
|
|
"/:id",
|
|
idParamValidator,
|
|
safeControllerFunction(ProjectRateCardController.getById)
|
|
);
|
|
|
|
// Update a single role by id
|
|
projectRatecardApiRouter.put(
|
|
"/:id",
|
|
idParamValidator,
|
|
safeControllerFunction(ProjectRateCardController.updateById)
|
|
);
|
|
|
|
// Update all roles for a project (delete then insert)
|
|
projectRatecardApiRouter.put(
|
|
"/project/:project_id",
|
|
safeControllerFunction(ProjectRateCardController.updateByProjectId)
|
|
);
|
|
|
|
// Update project member rate card role
|
|
projectRatecardApiRouter.put(
|
|
"/project/:project_id/members/:id/rate-card-role",
|
|
idParamValidator,
|
|
projectManagerValidator,
|
|
safeControllerFunction(ProjectRateCardController.updateProjectMemberByProjectIdAndMemberId)
|
|
);
|
|
|
|
// Delete a single role by id
|
|
projectRatecardApiRouter.delete(
|
|
"/:id",
|
|
idParamValidator,
|
|
safeControllerFunction(ProjectRateCardController.deleteById)
|
|
);
|
|
|
|
// Delete all roles for a project
|
|
projectRatecardApiRouter.delete(
|
|
"/project/:project_id",
|
|
safeControllerFunction(ProjectRateCardController.deleteByProjectId)
|
|
);
|
|
|
|
export default projectRatecardApiRouter;
|