Untitled

 avatar
unknown
plain_text
9 months ago
2.2 kB
14
Indexable
const express = require('express');
const {
    validateAuth,
    getValidateDefaultWorkspace,
} = require('../../../middlewares/auth');
const reportController = require('../../../controllers/time-tracking/report.controller');

const router = express.Router();
// router.use(getValidateDefaultWorkspace);

// Existing timesheet routes
router
    .route('/timesheet/summary')
    .get(validateAuth, reportController.getTimesheetSummary);
router
    .route('/timesheet/summary/csv')
    .get(validateAuth, reportController.downloadCsvReport);
router
    .route('/timesheet/weekly')
    .post(validateAuth, reportController.getTimesheetWeekly);

// Existing expense and invoice routes
router
    .route('/expenses/summary')
    .post(validateAuth, reportController.expensesReport);
router
    .route('/invoices/summary')
    .post(
        validateAuth,
        getValidateDefaultWorkspace,
        reportController.invoiceReport,
    );

// Existing utilization routes
router
    .route('/utilization/summary')
    .post(
        validateAuth,
        getValidateDefaultWorkspace,
        reportController.utilizationReport,
    );
router
    .route('/utilization/detail')
    .post(validateAuth, reportController.getUtilizationDetail);
router
    .route('/timesheet/management')
    .post(validateAuth, reportController.managementReport);
// NEW VARIANCE ROUTES
// Main variance report with grouping options (project, user, client, task)
router
    .route('/variance/summary')
    .post(validateAuth, reportController.varianceReport);

// // Variance alerts for items with significant deviations
// router
//     .route('/variance/alerts')
//     .post(validateAuth, reportController.getVarianceAlerts);

// // CSV export for variance reports
// router
//     .route('/variance/summary/csv')
//     .post(validateAuth, reportController.downloadVarianceCsvReport);

// // Existing filters route
router
    .route('/getFilters')
    .post(
        validateAuth,
        getValidateDefaultWorkspace,
        reportController.getFilters,
    );
router
    .route('/timesheet/breakdown')
    .post(validateAuth, reportController.getTimesheetBreakdown);
module.exports = router;
Editor is loading...
Leave a Comment