Initial commit

This commit is contained in:
meusinfirmary
2025-04-22 14:31:37 +07:00
commit b7e852126c
115 changed files with 23188 additions and 0 deletions

View File

@ -0,0 +1,49 @@
const AuthDriverMiddleware = require('../middleware/AuthDriverMiddleware');
const AuthDriverMiddlewareNotStrict = require('../middleware/AuthDriverMiddlewareNotStrict');
const ServiceDriverController = require('../controllers/ServiceDriverController');
const { PATH_URL } = process.env;
exports.routesConfig = function (app) {
// AUTHENTIFICATION
app.post(`${PATH_URL}/driver/login`, ServiceDriverController.login);
app.get(`${PATH_URL}/driver/profile`, AuthDriverMiddleware, ServiceDriverController.profile);
app.post(`${PATH_URL}/driver/logout`, AuthDriverMiddlewareNotStrict, ServiceDriverController.logout);
// JOBS
app.get(`${PATH_URL}/driver/active_jobs`, AuthDriverMiddleware, ServiceDriverController.listActiveJobs);
app.get(`${PATH_URL}/driver/detail_job/:detail_id`, AuthDriverMiddleware, ServiceDriverController.detailJobs);
// JOB UPLOAD PHOTO
app.post(`${PATH_URL}/driver/job/arrived_pickup`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 2; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/process_pickup`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 3; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/finish_pickup`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 4; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/travel_document`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 5; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/otw_drop`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 6; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/arrived_drop`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 7; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/process_drop`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 8; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/finish_drop`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 9; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/handover_document`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 10; next(); }, ServiceDriverController.jobPhotoTransitions);
app.post(`${PATH_URL}/driver/job/accident`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_up_photo = 11; next(); }, ServiceDriverController.jobPhotoTransitions);
// JOB LOCK MENU
app.put(`${PATH_URL}/driver/job/lock_menu_otw_drop`, AuthDriverMiddleware, async function(req, res, next) { req.body.type_lock_menu = 6; next(); }, ServiceDriverController.lockMenu);
// FINANCE
app.get(`${PATH_URL}/driver/list_pockets_paid`, AuthDriverMiddleware, ServiceDriverController.listPockets);
app.get(`${PATH_URL}/driver/detail_pocket/:checkpoint_id`, AuthDriverMiddleware, ServiceDriverController.detailPocket);
// LOGBOOK
app.get(`${PATH_URL}/driver/list_logbooks`, AuthDriverMiddleware, ServiceDriverController.listLogBooks);
app.get(`${PATH_URL}/driver/detail_logbook/:lgb_id`, AuthDriverMiddleware, ServiceDriverController.detailLogBook);
app.post(`${PATH_URL}/driver/insert_order_logbook`, AuthDriverMiddleware, ServiceDriverController.insOrdLogBook);
app.get(`${PATH_URL}/driver/list_ord_logbooks`, AuthDriverMiddleware, ServiceDriverController.listOrdLogBooks);
app.get(`${PATH_URL}/driver/detail_ord_logbook/:ord_lgb_id`, AuthDriverMiddleware, ServiceDriverController.detailOrdLogBook);
// RUNNING BACKGROUND
app.post(`${PATH_URL}/driver/up_location`, AuthDriverMiddleware, ServiceDriverController.upLocation);
// OTHERS
app.post(`${PATH_URL}/driver/notif`, ServiceDriverController.notif);
// DEV ONLY
app.get(`${PATH_URL}/driver/last_positions`, ServiceDriverController.lastLatLng);
}

47
routes/routes.js Normal file
View File

@ -0,0 +1,47 @@
const WorkerController = require('../controllers/WorkerController');
const ZoneController = require('../controllers/ZoneController');
const DummyController = require('../controllers/DummyController');
const OrderController = require('../controllers/OrderController');
const ServiceDriverRoute = require('./ServiceDriverRoute');
const { PATH_URL } = process.env;
exports.use = function (app) {
// app.all('/*', DummyController.logging);
// queue
app.post(PATH_URL + '/workers/add', WorkerController.add);
app.get(PATH_URL + '/workers/getJobs', WorkerController.getJobs);
app.get(PATH_URL + '/workers/getRepeatableJobs', WorkerController.getRepeatableJobs);
app.post(PATH_URL + '/workers/resume', WorkerController.resume);
app.post(PATH_URL + '/workers/pause', WorkerController.pause);
app.post(PATH_URL + '/workers/drain', WorkerController.drain);
app.post(PATH_URL + '/workers/obliterate', WorkerController.obliterate);
// workers
app.post(PATH_URL + '/workers/start', WorkerController.start);
app.post(PATH_URL + '/workers/shutdown', WorkerController.shutdown);
// process workers via request
app.post(PATH_URL + '/workers/revgeo', WorkerController.revgeo);
// zoning
app.get(PATH_URL + '/zone/nearest', ZoneController.nearest);
app.get(PATH_URL + '/zone/in_circle', ZoneController.inCircle);
app.get(PATH_URL + '/zone/in_shape', ZoneController.inShape);
// order
app.post(PATH_URL + '/order/create', OrderController.createOrder);
app.post(PATH_URL + '/order/email_to_vendor', OrderController.emailToVendor);
app.post(PATH_URL + '/order/email_vendor_acc_order', OrderController.emailVdrAccOrder);
app.post(PATH_URL + '/order/delay_blast_order', OrderController.delayBlastOrder);
app.post(PATH_URL + '/order/finance_info_tf_pocket', OrderController.sendFinanceInfoTfPocket);
app.post(PATH_URL + '/order/finance_info_dana_amount', OrderController.sendFinanceInfoDanaAmount);
// dummy
app.get(PATH_URL + '/dummy/distance', DummyController.distance);
app.post(PATH_URL + '/dummy/send_email', DummyController.sendEmail);
ServiceDriverRoute.routesConfig(app);
};

View File

@ -0,0 +1,47 @@
// const WorkerController = require('../controllers/WorkerController');
const ZoneController = require('../controllers/ZoneController');
const DummyController = require('../controllers/DummyController');
const OrderController = require('../controllers/OrderController');
const ServiceDriverRoute = require('./ServiceDriverRoute');
const { PATH_URL } = process.env;
exports.use = function (app) {
// app.all('/*', DummyController.logging);
// queue
// app.post(PATH_URL + '/workers/add', WorkerController.add);
// app.get(PATH_URL + '/workers/getJobs', WorkerController.getJobs);
// app.get(PATH_URL + '/workers/getRepeatableJobs', WorkerController.getRepeatableJobs);
// app.post(PATH_URL + '/workers/resume', WorkerController.resume);
// app.post(PATH_URL + '/workers/pause', WorkerController.pause);
// app.post(PATH_URL + '/workers/drain', WorkerController.drain);
// app.post(PATH_URL + '/workers/obliterate', WorkerController.obliterate);
// // workers
// app.post(PATH_URL + '/workers/start', WorkerController.start);
// app.post(PATH_URL + '/workers/shutdown', WorkerController.shutdown);
// // process workers via request
// app.post(PATH_URL + '/workers/revgeo', WorkerController.revgeo);
// zoning
app.get(PATH_URL + '/zone/nearest', ZoneController.nearest);
app.get(PATH_URL + '/zone/in_circle', ZoneController.inCircle);
app.get(PATH_URL + '/zone/in_shape', ZoneController.inShape);
// order
app.post(PATH_URL + '/order/create', OrderController.createOrder);
app.post(PATH_URL + '/order/email_to_vendor', OrderController.emailToVendor);
app.post(PATH_URL + '/order/email_vendor_acc_order', OrderController.emailVdrAccOrder);
app.post(PATH_URL + '/order/delay_blast_order', OrderController.delayBlastOrder);
app.post(PATH_URL + '/order/finance_info_tf_pocket', OrderController.sendFinanceInfoTfPocket);
app.post(PATH_URL + '/order/finance_info_dana_amount', OrderController.sendFinanceInfoDanaAmount);
// dummy
app.get(PATH_URL + '/dummy/distance', DummyController.distance);
app.post(PATH_URL + '/dummy/send_email', DummyController.sendEmail);
ServiceDriverRoute.routesConfig(app);
};