module.exports = function (app) { const router = require('express').Router(), jobCtl = require('../controllers/job')(app.locals), { checkRqPkgSubscription, checkRqUsageLimits } = require('../middlewares/app_validator'); // On routes that end in /Jobs router.route('/') .get(jobCtl.getJobs_get) .post(checkRqUsageLimits, jobCtl.createJob_post); // On routes that end in /jobs/:job_id router.route('/:job_id') .get(jobCtl.getJob_get) .put(jobCtl.updateJob_put) .delete(jobCtl.deleteJob); router.post('/getdata', jobCtl.getData_post); /** * Get Report Options of the specify Job, coverage, areaSize in ha */ router.post('/reportOps', jobCtl.getReportOps_get); router.post('/preAppReport', jobCtl.preAppReport_post); router.post('/getRptVars', jobCtl.getRptVars_post); router.post('/setRptVars', jobCtl.setRptVars_post); router.post('/saveReport', jobCtl.saveReport_post); router.post('/preLoadReport', jobCtl.preLoadReport_post); router.post('/getUploadedFiles', jobCtl.getUploadedFiles_post); router.post('/importStatus', jobCtl.importStatus_post); router.post('/importingStatus', jobCtl.importingStatus_post); router.post('/deleteAppFile', jobCtl.deleteAppFile_post); router.post('/getJobLogs', jobCtl.getJobLogs_post); router.post('/assign', jobCtl.assign_post); /** * Get the list of available users and assigned users of a given jobId */ router.post('/assignments', jobCtl.assignments_post); router.post('/countByClient', jobCtl.countByClient_post); // Save Map Download Options for the job router.post('/saveMapOps', jobCtl.saveMapOps_post); router.post('/searchJobs', jobCtl.searchJobs_post); router.post('/appFiles', jobCtl.appFiles_post); // Get files data for a given fileId. Used in Playback of job files router.post('/filesdata', jobCtl.filesdata_post); router.post('/fetchInvReadyJobs', jobCtl.fetchInvReadyJobs_post); app.use('/api/jobs', checkRqPkgSubscription, router); }