86 lines
5.8 KiB
JavaScript
86 lines
5.8 KiB
JavaScript
import express from "express";
|
|
const vaRoutes = express.Router();
|
|
|
|
import { va_username_callback } from "../../controllers/va/vaUsername.controller.js";
|
|
import { va_register } from "../../controllers/va/vaProfile/vaRegister.controller.js";
|
|
import { va_profile_callback } from "../../controllers/va/vaProfile/vaProfile.controller.js";
|
|
import { va_profile_update_callback } from "../../controllers/va/vaProfile/vaProfileUpdate.controller.js";
|
|
import { va_login_callback } from "../../controllers/va/vaAuth/vaLogin.controller.js";
|
|
import { va_refresh_token_callback } from "../../controllers/va/vaAuth/vaRefreshToken.controller.js";
|
|
import { va_logout_callback } from "../../controllers/va/vaAuth/vaLogout.controller.js";
|
|
import { va_filter_search } from "../../controllers/va/vaFilterSearch.controller.js";
|
|
import { va_log_callback } from "../../controllers/va/vaLog/vaLog.controller.js";
|
|
import { va_callback } from "../../controllers/va/vaLog/vaListLog.controller.js";
|
|
import { va_project_log_callback } from "../../controllers/va/vaProjects/vaProjectLog.controller.js";
|
|
import { authValidator } from "../../middlewares/auth.middleware.js";
|
|
import { va_log_track_work_callback } from "../../controllers/va/vaLog/vaLogTrackWork.controller.js";
|
|
import { va_log_work_report_callback } from "../../controllers/va/vaLog/vaLogWorkReport.js";
|
|
import { va_projects_report_function } from "../../controllers/va/vaProjects/vaProjectReport.controller.js";
|
|
import { va_projects_log_list_function } from "../../controllers/va/vaProjects/vaProjectLogList.controller.js";
|
|
import { va_request_password_reset } from "../../controllers/passwordReset.controllers.js";
|
|
import { va_timesheet_summary_function } from "../../controllers/va/vaTimesheetAdjustment/vaTimesheetAdjustmentSummary.controller.js";
|
|
import { va_timesheet_adjustment_function } from "../../controllers/va/vaTimesheetAdjustment/vaTimesheetAdjustment.controller.js";
|
|
import { get_adjustment_requests_list } from "../../controllers/va/vaTimesheetAdjustment/vaAllTimesheetAdjustmentReuqest.controller.js"
|
|
import { va_timesheet_manage_adjustment_request } from "../../controllers/va/vaTimesheetAdjustment/vaManageTimesheetAdjustment.controller.js"
|
|
import { va_verify_email } from "../../controllers/va/vaAuth/vaVerifyEmail.controller.js";
|
|
import { va_leave_apply_function } from "../../controllers/va/vaLeaves/vaLeavesApply.controller.js";
|
|
import { va_leave_list_function } from "../../controllers/va/vaLeaves/vaLeaveList.controller.js"
|
|
import { va_leave_manage_function } from "../../controllers/va/vaLeaves/vaLeaveManage.controller.js";
|
|
import { va_remove_function } from "../../controllers/va/vaProfile/vaDelete.controller.js";
|
|
|
|
vaRoutes.get("/", va_callback); // VA Callback for getting active VA
|
|
|
|
vaRoutes.post("/login", va_login_callback); // VA Callback for login VA
|
|
vaRoutes.get("/logout", authValidator, va_logout_callback); // VA Callback for login VA
|
|
vaRoutes.post("/refreshToken", va_refresh_token_callback); // VA Callback for refresh token
|
|
vaRoutes.post("/register", va_register); // Register a new VA
|
|
vaRoutes.post("/forgot-password", va_request_password_reset);
|
|
vaRoutes.post("/verify-va-email", va_verify_email);
|
|
|
|
vaRoutes.get("/profile", authValidator, va_profile_callback); // Get VA Profile
|
|
vaRoutes.patch("/profile", authValidator, va_profile_update_callback); // Update VA Profile
|
|
|
|
|
|
|
|
vaRoutes.get("/:userName", va_username_callback); // VA Username Callback
|
|
vaRoutes.delete("/:id", va_remove_function); // VA Username Callback
|
|
|
|
// timesheet adjustment routes
|
|
vaRoutes.get("/timesheet/summary/:projectId/:date/:vaId?", authValidator, va_timesheet_summary_function); // Get Timesheet Adjustment for VA on specific project and date
|
|
vaRoutes.post("/timesheet/adjustment/request", authValidator, va_timesheet_adjustment_function); // Timesheet Adjustment for VA
|
|
// vaRoutes.get("/timesheet/adjustments/list/:status?/:projectId?/:vaId?", get_adjustment_requests_list); // show all adjustment list to approve and reject
|
|
vaRoutes.patch("/timesheet/adjustments/:adjustmentId", va_timesheet_manage_adjustment_request);
|
|
|
|
// Leaves routes
|
|
vaRoutes.get("/leaves/all", authValidator, va_leave_list_function); // Get all leaves
|
|
vaRoutes.get("/leaves/status/:status", authValidator, va_leave_list_function); // Leaves Filter by status
|
|
vaRoutes.get("/leaves/type/:leaveType", authValidator, va_leave_list_function); // Filter by leave type
|
|
vaRoutes.get("/leaves/status/:status/type/:leaveType", authValidator, va_leave_list_function); // leaves Filter
|
|
vaRoutes.post("/leave/request", authValidator, va_leave_apply_function); // Timesheet Adjustment for VA
|
|
vaRoutes.patch("/leave/:leaveId", va_leave_manage_function);
|
|
|
|
// timesheet adjustment routes
|
|
|
|
// Example: GET /va/search?name=john&email=@example.com&from=2025-01-01&to=2025-01-31 (NC)
|
|
vaRoutes.get("/search", va_filter_search);
|
|
|
|
|
|
|
|
// GET Windows Tab Logged Data for VA IN Between Login and LOGOUT
|
|
vaRoutes.get("/report/project/:projectId/:from?/:to?/:vaId?", authValidator, va_projects_report_function);
|
|
|
|
// Getting Project List assigned to VA should be ACTIVE and add total logged hours added by VA
|
|
vaRoutes.get("/list/projects/:projectId?/:from?/:to?", authValidator, va_projects_log_list_function);
|
|
|
|
vaRoutes.post("/log/project", authValidator, va_project_log_callback); // VA Logged IN / Logged Out in project
|
|
|
|
vaRoutes.post("/log/project/track", authValidator, va_log_track_work_callback); // Track Window Tabs Logs Data
|
|
vaRoutes.patch("/log/project/track", authValidator, va_log_track_work_callback); // Update Track Window Tab Closing Time
|
|
vaRoutes.get("/log/workReport/", authValidator, va_log_work_report_callback); // VA Audit Report // All Projects
|
|
vaRoutes.get("/log/project/:projectId/:from?/:to?", authValidator, va_log_callback); // VA / Project Audit Report
|
|
// VA filter search: supports query params `name`, `email`, `from`, `to`
|
|
|
|
|
|
|
|
|
|
export default vaRoutes; |