This commit is contained in:
chamikaJ
2025-04-17 18:28:54 +05:30
parent f583291d8a
commit 8825b0410a
2837 changed files with 241385 additions and 127578 deletions

View File

@@ -17,6 +17,7 @@ adminCenterApiRouter.put("/organization/owner/contact-number", teamOwnerOrAdminV
adminCenterApiRouter.get("/organization/users", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getOrganizationUsers));
adminCenterApiRouter.get("/organization/teams", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getOrganizationTeams));
adminCenterApiRouter.get("/organization/projects", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getOrganizationProjects));
adminCenterApiRouter.put("/organization/team/:id", teamOwnerOrAdminValidator, organizationSettingsValidator, safeControllerFunction(AdminCenterController.updateTeam));
adminCenterApiRouter.get("/organization/team/:id", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getTeamDetails));
adminCenterApiRouter.delete("/organization/team/:id", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.deleteTeam));
@@ -27,4 +28,30 @@ adminCenterApiRouter.put("/", teamOwnerOrAdminValidator, safeControllerFunction(
adminCenterApiRouter.get("/", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getOrganizationTeams));
// billing
adminCenterApiRouter.get("/billing/info", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingInfo));
adminCenterApiRouter.get("/billing/account-storage", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getAccountStorage));
adminCenterApiRouter.get("/billing/storage", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingStorageInfo));
adminCenterApiRouter.get("/billing/transactions", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingTransactions));
adminCenterApiRouter.get("/billing/charges", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingCharges));
adminCenterApiRouter.get("/billing/modifiers", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingCharges));
adminCenterApiRouter.get("/billing/countries", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getCountries));
adminCenterApiRouter.get("/billing/purchase-storage", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.purchaseStorage));
adminCenterApiRouter.get("/billing/configuration", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getBillingConfiguration));
adminCenterApiRouter.put("/billing/configuration", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.updateBillingConfiguration));
adminCenterApiRouter.get("/billing/upgrade-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.upgradePlan));
adminCenterApiRouter.get("/billing/change-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.changePlan));
adminCenterApiRouter.get("/billing/cancel-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.cancelPlan));
adminCenterApiRouter.get("/billing/pause-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.pauseSubscription));
adminCenterApiRouter.get("/billing/resume-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.resumeSubscription));
adminCenterApiRouter.get("/billing/plans", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getPlans));
adminCenterApiRouter.get("/billing/switch-to-free-plan/:id", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.switchToFreePlan));
adminCenterApiRouter.get("/billing/free-plan", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.getFreePlanLimits));
adminCenterApiRouter.post("/billing/redeem", teamOwnerOrAdminValidator, safeControllerFunction(AdminCenterController.redeem));
export default adminCenterApiRouter;

View File

@@ -0,0 +1,15 @@
import express from "express";
import BillingController from "../../controllers/billing-controller";
const billingApiRouter = express.Router();
billingApiRouter.get("/upgrade-to-paid-plan", BillingController.upgradeToPaidPlan);
billingApiRouter.post("/purchase-more-seats", BillingController.addMoreSeats);
billingApiRouter.get("/get-direct-pay-data", BillingController.getDirectPayObject);
billingApiRouter.post("/save-transaction-data", BillingController.saveTransactionData);
billingApiRouter.get("/get-card-list", BillingController.getCardList);
billingApiRouter.get("/contact-us", BillingController.contactUs);
export default billingApiRouter;

View File

@@ -0,0 +1,14 @@
import express from "express";
import CustomcolumnsController from "../../controllers/custom-columns-controller";
const customColumnsApiRouter = express.Router();
customColumnsApiRouter.post("/", CustomcolumnsController.create);
customColumnsApiRouter.get("/", CustomcolumnsController.get);
customColumnsApiRouter.get("/project/:project_id/columns", CustomcolumnsController.getProjectColumns);
customColumnsApiRouter.get("/:id", CustomcolumnsController.getById);
customColumnsApiRouter.put("/:id", CustomcolumnsController.update);
customColumnsApiRouter.delete("/:id", CustomcolumnsController.deleteById);
export default customColumnsApiRouter;

View File

@@ -17,6 +17,7 @@ scheduleApiRouter.get("/projects/:id", idParamValidator, safeControllerFunction(
scheduleApiRouter.get("/project-member/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.getSingleProjectMember));
scheduleApiRouter.get("/refresh/project-indicator/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.getSingleProjectIndicator));
scheduleApiRouter.get("/tasks-by-member/:id", idParamValidator, safeControllerFunction(getList));
scheduleApiRouter.get("/migrate/member-allocations", safeControllerFunction(ScheduleControllerV2.migrate));
scheduleApiRouter.put("/bulk/delete-member-allocations", safeControllerFunction(ScheduleControllerV2.deleteMemberAllocations));
export default scheduleApiRouter;

View File

@@ -0,0 +1,22 @@
import express, {Request, Response} from "express";
import idParamValidator from "../../../middlewares/validators/id-param-validator";
import safeControllerFunction from "../../../shared/safe-controller-function";
import ScheduleControllerV2 from "../../../controllers/schedule-v2/schedule-controller";
const scheduleApiRouter = express.Router();
// scheduleApiRouter.get("/chart-dates/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.createDateRange));
// scheduleApiRouter.get("/projects/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.getProjects));
// scheduleApiRouter.get("/project-member/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.getSingleProjectMember));
// scheduleApiRouter.get("/refresh/project-indicator/:id", idParamValidator, safeControllerFunction(ScheduleControllerV2.getSingleProjectIndicator));
// scheduleApiRouter.get("/tasks-by-member/:id", idParamValidator, safeControllerFunction(getList));
scheduleApiRouter.get("/settings", safeControllerFunction(ScheduleControllerV2.getSettings));
scheduleApiRouter.put("/settings", safeControllerFunction(ScheduleControllerV2.updateSettings));
scheduleApiRouter.get("/dates/:date/:type", safeControllerFunction(ScheduleControllerV2.getDates));
scheduleApiRouter.get("/members", safeControllerFunction(ScheduleControllerV2.getOrganizationMembers));
scheduleApiRouter.get("/members/projects/:id", safeControllerFunction(ScheduleControllerV2.getOrganizationMemberProjects));
scheduleApiRouter.post("/schedule", safeControllerFunction(ScheduleControllerV2.createSchedule));
// scheduleApiRouter.put("/bulk/delete-member-allocations", safeControllerFunction(ScheduleControllerV2.deleteMemberAllocations));
export default scheduleApiRouter;

View File

@@ -1,105 +1,120 @@
import express from "express";
import express from "express";
import AccessControlsController from "../../controllers/access-controls-controller";
import AuthController from "../../controllers/auth-controller";
import LogsController from "../../controllers/logs-controller";
import OverviewController from "../../controllers/overview-controller";
import TaskPrioritiesController from "../../controllers/task-priorities-controller";
import attachmentsApiRouter from "./attachments-api-router";
import clientsApiRouter from "./clients-api-router";
import jobTitlesApiRouter from "./job-titles-api-router";
import notificationsApiRouter from "./notifications-api-router";
import personalOverviewApiRouter from "./personal-overview-api-router";
import projectMembersApiRouter from "./project-members-api-router";
import projectsApiRouter from "./projects-api-router";
import settingsApiRouter from "./settings-api-router";
import statusesApiRouter from "./statuses-api-router";
import subTasksApiRouter from "./sub-tasks-api-router";
import taskCommentsApiRouter from "./task-comments-api-router";
import taskWorkLogApiRouter from "./task-work-log-api-router";
import tasksApiRouter from "./tasks-api-router";
import teamMembersApiRouter from "./team-members-api-router";
import teamsApiRouter from "./teams-api-router";
import timezonesApiRouter from "./timezones-api-router";
import todoListApiRouter from "./todo-list-api-router";
import projectStatusesApiRouter from "./project-statuses-api-router";
import labelsApiRouter from "./labels-api-router";
import sharedProjectsApiRouter from "./shared-projects-api-router";
import resourceAllocationApiRouter from "./resource-allocation-api-router";
import taskTemplatesApiRouter from "./task-templates-api-router";
import projectInsightsApiRouter from "./project-insights-api-router";
import passwordValidator from "../../middlewares/validators/password-validator";
import adminCenterApiRouter from "./admin-center-api-router";
import reportingApiRouter from "./reporting-api-router";
import activityLogsApiRouter from "./activity-logs-api-router";
import safeControllerFunction from "../../shared/safe-controller-function";
import projectFoldersApiRouter from "./project-folders-api-router";
import taskPhasesApiRouter from "./task-phases-api-router";
import projectCategoriesApiRouter from "./project-categories-api-router";
import homePageApiRouter from "./home-page-api-router";
import ganttApiRouter from "./gantt-api-router";
import projectCommentsApiRouter from "./project-comments-api-router";
import reportingExportApiRouter from "./reporting-export-api-router";
import projectHealthsApiRouter from "./project-healths-api-router";
import ptTasksApiRouter from "./pt-tasks-api-router";
import projectTemplatesApiRouter from "./project-templates-api";
import ptTaskPhasesApiRouter from "./pt_task-phases-api-router";
import ptStatusesApiRouter from "./pt-statuses-api-router";
import workloadApiRouter from "./gannt-apis/workload-api-router";
import roadmapApiRouter from "./gannt-apis/roadmap-api-router";
import scheduleApiRouter from "./gannt-apis/schedule-api-router";
import scheduleApiV2Router from "./gannt-apis/schedule-api-v2-router";
import projectManagerApiRouter from "./project-managers-api-router";
import billingApiRouter from "./billing-api-router";
import taskDependenciesApiRouter from "./task-dependencies-api-router";
import taskRecurringApiRouter from "./task-recurring-api-router";
import customColumnsApiRouter from "./custom-columns-api-router";
import AccessControlsController from "../../controllers/access-controls-controller";
import AuthController from "../../controllers/auth-controller";
import LogsController from "../../controllers/logs-controller";
import OverviewController from "../../controllers/overview-controller";
import TaskPrioritiesController from "../../controllers/task-priorities-controller";
const api = express.Router();
api.use("/projects", projectsApiRouter);
api.use("/team-members", teamMembersApiRouter);
api.use("/job-titles", jobTitlesApiRouter);
api.use("/clients", clientsApiRouter);
api.use("/teams", teamsApiRouter);
api.use("/tasks", tasksApiRouter);
api.use("/settings", settingsApiRouter);
api.use("/personal-overview", personalOverviewApiRouter);
api.use("/statuses", statusesApiRouter);
api.use("/todo-list", todoListApiRouter);
api.use("/notifications", notificationsApiRouter);
api.use("/attachments", attachmentsApiRouter);
api.use("/sub-tasks", subTasksApiRouter);
api.use("/project-members", projectMembersApiRouter);
api.use("/task-time-log", taskWorkLogApiRouter);
api.use("/task-comments", taskCommentsApiRouter);
api.use("/timezones", timezonesApiRouter);
api.use("/project-statuses", projectStatusesApiRouter);
api.use("/labels", labelsApiRouter);
api.use("/resource-allocation", resourceAllocationApiRouter);
api.use("/shared/projects", sharedProjectsApiRouter);
api.use("/task-templates", taskTemplatesApiRouter);
api.use("/project-insights", projectInsightsApiRouter);
api.use("/admin-center", adminCenterApiRouter);
api.use("/reporting", reportingApiRouter);
api.use("/activity-logs", activityLogsApiRouter);
api.use("/projects-folders", projectFoldersApiRouter);
api.use("/task-phases", taskPhasesApiRouter);
api.use("/project-categories", projectCategoriesApiRouter);
api.use("/home", homePageApiRouter);
api.use("/gantt", ganttApiRouter);
api.use("/project-comments", projectCommentsApiRouter);
api.use("/reporting-export", reportingExportApiRouter);
api.use("/project-healths", projectHealthsApiRouter);
api.use("/project-templates", projectTemplatesApiRouter);
api.use("/pt-tasks", ptTasksApiRouter);
api.use("/pt-task-phases", ptTaskPhasesApiRouter);
api.use("/pt-statuses", ptStatusesApiRouter);
api.use("/workload-gannt", workloadApiRouter);
api.use("/roadmap-gannt", roadmapApiRouter);
api.use("/schedule-gannt", scheduleApiRouter);
api.use("/schedule-gannt-v2", scheduleApiV2Router);
api.use("/project-managers", projectManagerApiRouter);
api.get("/overview/:id", safeControllerFunction(OverviewController.getById));
api.get("/task-priorities", safeControllerFunction(TaskPrioritiesController.get));
api.post("/change-password", passwordValidator, safeControllerFunction(AuthController.changePassword));
api.get("/access-controls/roles", safeControllerFunction(AccessControlsController.getRoles));
api.get("/logs/my-dashboard", safeControllerFunction(LogsController.getActivityLog));
api.use("/billing", billingApiRouter);
api.use("/task-dependencies", taskDependenciesApiRouter);
api.use("/task-recurring", taskRecurringApiRouter);
api.use("/custom-columns", customColumnsApiRouter);
import attachmentsApiRouter from "./attachments-api-router";
import clientsApiRouter from "./clients-api-router";
import jobTitlesApiRouter from "./job-titles-api-router";
import notificationsApiRouter from "./notifications-api-router";
import personalOverviewApiRouter from "./personal-overview-api-router";
import projectMembersApiRouter from "./project-members-api-router";
import projectsApiRouter from "./projects-api-router";
import settingsApiRouter from "./settings-api-router";
import statusesApiRouter from "./statuses-api-router";
import subTasksApiRouter from "./sub-tasks-api-router";
import taskCommentsApiRouter from "./task-comments-api-router";
import taskWorkLogApiRouter from "./task-work-log-api-router";
import tasksApiRouter from "./tasks-api-router";
import teamMembersApiRouter from "./team-members-api-router";
import teamsApiRouter from "./teams-api-router";
import timezonesApiRouter from "./timezones-api-router";
import todoListApiRouter from "./todo-list-api-router";
import projectStatusesApiRouter from "./project-statuses-api-router";
import labelsApiRouter from "./labels-api-router";
import sharedProjectsApiRouter from "./shared-projects-api-router";
import resourceAllocationApiRouter from "./resource-allocation-api-router";
import taskTemplatesApiRouter from "./task-templates-api-router";
import projectInsightsApiRouter from "./project-insights-api-router";
import passwordValidator from "../../middlewares/validators/password-validator";
import adminCenterApiRouter from "./admin-center-api-router";
import reportingApiRouter from "./reporting-api-router";
import activityLogsApiRouter from "./activity-logs-api-router";
import safeControllerFunction from "../../shared/safe-controller-function";
import projectFoldersApiRouter from "./project-folders-api-router";
import taskPhasesApiRouter from "./task-phases-api-router";
import projectCategoriesApiRouter from "./project-categories-api-router";
import homePageApiRouter from "./home-page-api-router";
import ganttApiRouter from "./gantt-api-router";
import projectCommentsApiRouter from "./project-comments-api-router";
import reportingExportApiRouter from "./reporting-export-api-router";
import projectHealthsApiRouter from "./project-healths-api-router";
import ptTasksApiRouter from "./pt-tasks-api-router";
import projectTemplatesApiRouter from "./project-templates-api";
import ptTaskPhasesApiRouter from "./pt_task-phases-api-router";
import ptStatusesApiRouter from "./pt-statuses-api-router";
import workloadApiRouter from "./gannt-apis/workload-api-router";
import roadmapApiRouter from "./gannt-apis/roadmap-api-router";
import scheduleApiRouter from "./gannt-apis/schedule-api-router";
import projectManagerApiRouter from "./project-managers-api-router";
const api = express.Router();
api.use("/projects", projectsApiRouter);
api.use("/team-members", teamMembersApiRouter);
api.use("/job-titles", jobTitlesApiRouter);
api.use("/clients", clientsApiRouter);
api.use("/teams", teamsApiRouter);
api.use("/tasks", tasksApiRouter);
api.use("/settings", settingsApiRouter);
api.use("/personal-overview", personalOverviewApiRouter);
api.use("/statuses", statusesApiRouter);
api.use("/todo-list", todoListApiRouter);
api.use("/notifications", notificationsApiRouter);
api.use("/attachments", attachmentsApiRouter);
api.use("/sub-tasks", subTasksApiRouter);
api.use("/project-members", projectMembersApiRouter);
api.use("/task-time-log", taskWorkLogApiRouter);
api.use("/task-comments", taskCommentsApiRouter);
api.use("/timezones", timezonesApiRouter);
api.use("/project-statuses", projectStatusesApiRouter);
api.use("/labels", labelsApiRouter);
api.use("/resource-allocation", resourceAllocationApiRouter);
api.use("/shared/projects", sharedProjectsApiRouter);
api.use("/task-templates", taskTemplatesApiRouter);
api.use("/project-insights", projectInsightsApiRouter);
api.use("/admin-center", adminCenterApiRouter);
api.use("/reporting", reportingApiRouter);
api.use("/activity-logs", activityLogsApiRouter);
api.use("/projects-folders", projectFoldersApiRouter);
api.use("/task-phases", taskPhasesApiRouter);
api.use("/project-categories", projectCategoriesApiRouter);
api.use("/home", homePageApiRouter);
api.use("/gantt", ganttApiRouter);
api.use("/project-comments", projectCommentsApiRouter);
api.use("/reporting-export", reportingExportApiRouter);
api.use("/project-healths", projectHealthsApiRouter);
api.use("/project-templates", projectTemplatesApiRouter);
api.use("/pt-tasks", ptTasksApiRouter);
api.use("/pt-task-phases", ptTaskPhasesApiRouter);
api.use("/pt-statuses", ptStatusesApiRouter);
api.use("/workload-gannt", workloadApiRouter);
api.use("/roadmap-gannt", roadmapApiRouter);
api.use("/schedule-gannt", scheduleApiRouter);
api.use("/project-managers", projectManagerApiRouter);
api.get("/overview/:id", safeControllerFunction(OverviewController.getById));
api.get("/task-priorities", safeControllerFunction(TaskPrioritiesController.get));
api.post("/change-password", passwordValidator, safeControllerFunction(AuthController.changePassword));
api.get("/access-controls/roles", safeControllerFunction(AccessControlsController.getRoles));
api.get("/logs/my-dashboard", safeControllerFunction(LogsController.getActivityLog));
export default api;

View File

@@ -11,6 +11,11 @@ import projectMemberValidator from "../../middlewares/validators/project-member-
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));

View File

@@ -4,12 +4,20 @@ import TaskCommentsController from "../../controllers/task-comments-controller";
import idParamValidator from "../../middlewares/validators/id-param-validator";
import taskCommentBodyValidator from "../../middlewares/validators/task-comment-body-validator";
import taskCommentAttachmentValidator from "../../middlewares/validators/task-comment-attachment-validator";
import safeControllerFunction from "../../shared/safe-controller-function";
const taskCommentsApiRouter = express.Router();
taskCommentsApiRouter.post("/", taskCommentBodyValidator, safeControllerFunction(TaskCommentsController.create));
taskCommentsApiRouter.get("/download", safeControllerFunction(TaskCommentsController.download));
taskCommentsApiRouter.get("/:id", idParamValidator, safeControllerFunction(TaskCommentsController.getByTaskId));
taskCommentsApiRouter.delete("/attachment/:id/:taskId", idParamValidator, safeControllerFunction(TaskCommentsController.deleteAttachmentById));
taskCommentsApiRouter.delete("/:id/:taskId", idParamValidator, safeControllerFunction(TaskCommentsController.deleteById));
taskCommentsApiRouter.put("/reaction/:id", safeControllerFunction(TaskCommentsController.updateReaction));
taskCommentsApiRouter.put("/:id", safeControllerFunction(TaskCommentsController.update));
taskCommentsApiRouter.post("/attachment", taskCommentAttachmentValidator, safeControllerFunction(TaskCommentsController.createAttachment));
export default taskCommentsApiRouter;

View File

@@ -0,0 +1,11 @@
import express from "express";
import TaskdependenciesController from "../../controllers/task-dependencies-controller";
const taskDependenciesApiRouter = express.Router();
taskDependenciesApiRouter.post("/", TaskdependenciesController.saveTaskDependency);
taskDependenciesApiRouter.get("/:id", TaskdependenciesController.getTaskDependencies);
taskDependenciesApiRouter.delete("/:id", TaskdependenciesController.deleteById);
export default taskDependenciesApiRouter;

View File

@@ -0,0 +1,10 @@
import express from "express";
import TaskRecurringController from "../../controllers/task-recurring-controller";
const taskRecurringApiRouter = express.Router();
taskRecurringApiRouter.get("/:id", TaskRecurringController.getById);
taskRecurringApiRouter.put("/:id", TaskRecurringController.updateSchedule);
export default taskRecurringApiRouter;

View File

@@ -13,5 +13,6 @@ taskWorkLogApiRouter.get("/task/:id", idParamValidator, safeControllerFunction(T
taskWorkLogApiRouter.get("/export/:id", idParamValidator, safeControllerFunction(TaskWorklogController.exportLog));
taskWorkLogApiRouter.put("/:id", taskTimeLogValidator, idParamValidator, safeControllerFunction(TaskWorklogController.update));
taskWorkLogApiRouter.delete("/:id", idParamValidator, safeControllerFunction(TaskWorklogController.deleteById));
taskWorkLogApiRouter.get("/running-timers", safeControllerFunction(TaskWorklogController.getAllRunningTimers));
export default taskWorkLogApiRouter;

View File

@@ -17,8 +17,7 @@ import homeTaskBodyValidator from "../../middlewares/validators/home-task-body-v
import TaskListColumnsController from "../../controllers/task-list-columns-controller";
import TasksControllerV2 from "../../controllers/tasks-controller-v2";
import safeControllerFunction from "../../shared/safe-controller-function";
import taskCreateBodyValidator from "../../middlewares/validators/task-create-body--validator";
const tasksApiRouter = express.Router();
@@ -29,7 +28,7 @@ function getList(req: Request, res: Response) {
return TasksControllerV2.getList(req, res);
}
tasksApiRouter.post("/", tasksBodyValidator, safeControllerFunction(TasksController.create));
tasksApiRouter.post("/", taskCreateBodyValidator, safeControllerFunction(TasksController.create));
tasksApiRouter.get("/project/:id", idParamValidator, safeControllerFunction(TasksController.getTasksByProject));
tasksApiRouter.get("/roadmap", ganttTasksQueryParamsValidator, safeControllerFunction(TasksController.getGanttTasksByProject));
tasksApiRouter.get("/range", ganttTasksRangeParamsValidator, safeControllerFunction(TasksController.getTasksBetweenRange));
@@ -62,5 +61,12 @@ tasksApiRouter.post("/quick-task", quickTaskBodyValidator, safeControllerFunctio
tasksApiRouter.post("/home-task", homeTaskBodyValidator, safeControllerFunction(TasksController.createHomeTask));
tasksApiRouter.post("/convert-to-subtask", safeControllerFunction(TasksControllerV2.convertToSubtask));
tasksApiRouter.get("/subscribers/:id", safeControllerFunction(TasksControllerV2.getSubscribers));
tasksApiRouter.get("/search", safeControllerFunction(TasksControllerV2.searchTasks));
tasksApiRouter.get("/dependency-status", safeControllerFunction(TasksControllerV2.getTaskDependencyStatus));
tasksApiRouter.put("/labels/:id", idParamValidator, safeControllerFunction(TasksControllerV2.assignLabelsToTask));
// Add custom column value update route
tasksApiRouter.put("/:taskId/custom-column", TasksControllerV2.updateCustomColumnValue);
export default tasksApiRouter;

View File

@@ -26,6 +26,8 @@ authRouter.get("/check-password", safeControllerFunction(AuthController.checkPas
authRouter.post("/reset-password", resetEmailValidator, safeControllerFunction(AuthController.reset_password));
authRouter.post("/update-password", updatePasswordValidator, passwordValidator, safeControllerFunction(AuthController.verify_reset_email));
authRouter.post("/verify-captcha", safeControllerFunction(AuthController.verifyCaptcha));
// Google authentication
authRouter.get("/google", (req, res) => {
return passport.authenticate("google", {

View File

@@ -12,8 +12,8 @@ const TEMPLATES_BASE = "../../worklenz-email-templates";
router.get("/task-assignee-change", (req: IWorkLenzRequest, res: IWorkLenzResponse) => {
const sampleData = {
"name": "John Doe",
"email": "johndoe.office@worklenz.com",
"name": "Dinindu Wanniarachchi",
"email": "dinindu.office@gmail.com",
"team_member_id": "e3f95f03-5ea7-4cf7-9f61-123c55d8f6d9",
"teams": [
{
@@ -27,13 +27,13 @@ router.get("/task-assignee-change", (req: IWorkLenzRequest, res: IWorkLenzRespon
"tasks": [
{
"name": "Soloman's Island Project - SIM Registration + Central DB + KYC",
"updater_name": "John Doe",
"members": "John Doe, Jane Smith"
"updater_name": "Dinindu",
"members": "Dinindu, Dinindu Wanniarachchi, Pasindu Ishan"
},
{
"name": "Theory everyone send half sure.",
"updater_name": "John Doe",
"members": "John Doe, Jane Smith"
"updater_name": "Dinindu",
"members": "Dinindu Wanniarachchi"
}
]
}
@@ -64,11 +64,11 @@ router.get("/daily-digest", (req: IWorkLenzRequest, res: IWorkLenzResponse) => {
tasks: [
{
name: "Soloman's Island Project - SIM Registration + Central DB + KYC",
members: "John Doe, Soloman"
members: "Dinindu, Dinindu Wanniarachchi, Pasindu Ishan"
},
{
name: "Theory everyone send half sure.",
members: "John Doe"
members: "Dinindu Wanniarachchi"
}
]
}
@@ -83,9 +83,9 @@ router.get("/daily-digest", (req: IWorkLenzRequest, res: IWorkLenzResponse) => {
];
const sampleData = {
greeting: "Hi John Doe",
greeting: "Hi Dinindu",
note: "Here's your Monday update!",
email: "johndoe.office@gmail.com",
email: "dinindu.office@gmail.com",
recently_assigned: teams,
overdue: teams,
recently_completed: teams
@@ -97,14 +97,14 @@ router.get("/task-moved-to-done", (req: IWorkLenzRequest, res: IWorkLenzResponse
const task = {
name: "Soloman's Island Project - SIM Registration + Central DB + KYC",
members: "John Doe, Soloman",
members: "Dinindu, Dinindu Wanniarachchi, Pasindu Ishan",
url: "http://localhost:4200/worklenz/projects/6de9c9df-2193-4212-8d64-9dfc36a83ed2?tab=tasks-list&task=f8b3fc45-a28b-4d8f-985e-9e43f8577aa8",
team_name: "Automation",
project_name: "Allen LLC"
};
const sampleData: ITaskMovedToDoneRecord = {
greeting: "Hi John Doe",
greeting: "Hi Dinindu",
summary: "Great news! a task just got completed!",
settings_url: "/settings",
task
@@ -117,7 +117,7 @@ router.get("/project-daily-digest", (req: IWorkLenzRequest, res: IWorkLenzRespon
id: "",
name: "Worklenz",
team_name: "Ceydigital",
greeting: `Hi John Doe`,
greeting: `Hi Dinindu`,
due_tomorrow: [],
settings_url: "/",
project_url: "/",
@@ -138,8 +138,8 @@ router.get("/project-daily-digest", (req: IWorkLenzRequest, res: IWorkLenzRespon
router.get("/task-comment", (req: IWorkLenzRequest, res: IWorkLenzResponse) => {
const data: ICommentEmailNotification = {
greeting: "Hi John Doe",
summary: `"John Doe Office" added a new comment on "Email Notifications"`,
greeting: "Hi Dinindu",
summary: `"Dinindu Office" added a new comment on "Email Notifications"`,
team: "Ceydigital",
project_name: "Worklenz",
comment: "Any updates on this?",