diff --git a/src/routes/finance/invoices.js b/src/routes/finance/invoices.js
index c47bde8..8272795 100644
--- a/src/routes/finance/invoices.js
+++ b/src/routes/finance/invoices.js
@@ -2,6 +2,7 @@ import express from 'express';
import { isAuthenticated } from '../../keycloak.js';
import { checkPermissions, hasPermission } from '../../database/permissions.js';
import { getFilter, convertPropertiesString, getSort } from '../../utils.js';
+import { invoiceModel } from '../../database/schemas/finance/invoice.schema.js';
const router = express.Router();
@@ -11,6 +12,10 @@ const listAllowedFilters = [
'state',
'vendor._id',
'client._id',
+ 'from',
+ 'from._id',
+ 'to',
+ 'to._id',
'order',
'order._id',
'orderType',
@@ -22,8 +27,13 @@ const listAllowedSorters = ['createdAt', 'state', 'updatedAt', 'invoiceDate', 'd
const propertiesAllowedFilters = [
'vendor',
'client',
+ 'from',
+ 'from._id',
+ 'to',
+ 'to._id',
'orderType',
'order',
+ 'order._id',
'state.type',
'value',
'vendor._id',
@@ -49,8 +59,8 @@ import {
// list of invoices
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
- const filter = await getFilter(req.query, listAllowedFilters);
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
+ const filter = await getFilter(req.query, listAllowedFilters, true, invoiceModel);
listInvoicesRouteHandler(
req,
res,
@@ -59,8 +69,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -98,16 +108,16 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
- const filter = await getFilter(req.query, listAllowedFilters);
+ const { property, search, sortProperty, sortOrder, id } = req.query;
+ const filter = await getFilter(req.query, listAllowedFilters, true, invoiceModel);
getInvoiceNeighborsRouteHandler(
req,
res,
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/finance/payments.js b/src/routes/finance/payments.js
index fdd64c2..2ef6c56 100644
--- a/src/routes/finance/payments.js
+++ b/src/routes/finance/payments.js
@@ -50,9 +50,9 @@ import {
// list of payments
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPaymentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPaymentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => {
@@ -90,9 +90,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPaymentNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPaymentNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('payment', 'info'), async (req, res) => {
diff --git a/src/routes/finance/taxrecords.js b/src/routes/finance/taxrecords.js
index 1a30490..e1eed15 100644
--- a/src/routes/finance/taxrecords.js
+++ b/src/routes/finance/taxrecords.js
@@ -35,9 +35,9 @@ import {
// list of tax records
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listTaxRecordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listTaxRecordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => {
@@ -75,9 +75,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getTaxRecordNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getTaxRecordNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('taxRecord', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/filamentstocks.js b/src/routes/inventory/filamentstocks.js
index 2dabd30..be16ca3 100644
--- a/src/routes/inventory/filamentstocks.js
+++ b/src/routes/inventory/filamentstocks.js
@@ -45,9 +45,9 @@ import {
// list of filament stocks
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listFilamentStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listFilamentStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => {
@@ -85,9 +85,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getFilamentStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getFilamentStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('filamentStock', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/orderitems.js b/src/routes/inventory/orderitems.js
index 88f695b..f5281d9 100644
--- a/src/routes/inventory/orderitems.js
+++ b/src/routes/inventory/orderitems.js
@@ -49,7 +49,7 @@ import {
// list of order items
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listOrderItemsRouteHandler(
req,
@@ -59,8 +59,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -98,7 +98,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getOrderItemNeighborsRouteHandler(
req,
@@ -106,8 +106,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/inventory/partstocks.js b/src/routes/inventory/partstocks.js
index e9bfd46..8670064 100644
--- a/src/routes/inventory/partstocks.js
+++ b/src/routes/inventory/partstocks.js
@@ -37,9 +37,9 @@ import {
// list of part stocks
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPartStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPartStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => {
@@ -77,9 +77,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPartStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPartStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('partStock', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/productstocks.js b/src/routes/inventory/productstocks.js
index d27dc65..2d9e5ac 100644
--- a/src/routes/inventory/productstocks.js
+++ b/src/routes/inventory/productstocks.js
@@ -36,9 +36,9 @@ import {
} from '../../services/inventory/productstocks.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listProductStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listProductStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => {
@@ -74,9 +74,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getProductStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getProductStockNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('productStock', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/purchaseorders.js b/src/routes/inventory/purchaseorders.js
index 588a767..06deacd 100644
--- a/src/routes/inventory/purchaseorders.js
+++ b/src/routes/inventory/purchaseorders.js
@@ -63,9 +63,9 @@ import {
// list of purchase orders
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPurchaseOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPurchaseOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => {
@@ -102,9 +102,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPurchaseOrderNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPurchaseOrderNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('purchaseOrder', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/shipments.js b/src/routes/inventory/shipments.js
index 793a946..2924cf5 100644
--- a/src/routes/inventory/shipments.js
+++ b/src/routes/inventory/shipments.js
@@ -54,7 +54,7 @@ import {
// list of shipments
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listShipmentsRouteHandler(
req,
@@ -64,8 +64,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -107,7 +107,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getShipmentNeighborsRouteHandler(
req,
@@ -115,8 +115,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/inventory/stockaudits.js b/src/routes/inventory/stockaudits.js
index 1dda6df..ca46016 100644
--- a/src/routes/inventory/stockaudits.js
+++ b/src/routes/inventory/stockaudits.js
@@ -66,9 +66,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getStockAuditNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getStockAuditNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
// Get specific stock audit
diff --git a/src/routes/inventory/stockevents.js b/src/routes/inventory/stockevents.js
index 98de1d0..f7b6b6f 100644
--- a/src/routes/inventory/stockevents.js
+++ b/src/routes/inventory/stockevents.js
@@ -26,9 +26,9 @@ import {
// list of stock events
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, sort, order } = req.query;
+ const { page, limit, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listStockEventsRouteHandler(req, res, page, limit, filter, getSort(sort, listAllowedSorters), order);
+ listStockEventsRouteHandler(req, res, page, limit, filter, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => {
@@ -66,9 +66,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getStockEventNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getStockEventNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('stockEvent', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/stocklocations.js b/src/routes/inventory/stocklocations.js
index 90139fb..5d2fe30 100644
--- a/src/routes/inventory/stocklocations.js
+++ b/src/routes/inventory/stocklocations.js
@@ -25,9 +25,9 @@ import {
} from '../../services/inventory/stocklocations.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listStockLocationsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listStockLocationsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => {
@@ -63,9 +63,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getStockLocationNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getStockLocationNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('stockLocation', 'info'), async (req, res) => {
diff --git a/src/routes/inventory/stocktransfers.js b/src/routes/inventory/stocktransfers.js
index 1b5ffc2..c8f494f 100644
--- a/src/routes/inventory/stocktransfers.js
+++ b/src/routes/inventory/stocktransfers.js
@@ -34,9 +34,9 @@ import {
} from '../../services/inventory/stocktransfers.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listStockTransfersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listStockTransfersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => {
@@ -72,9 +72,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getStockTransferNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getStockTransferNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('stockTransfer', 'info'), async (req, res) => {
diff --git a/src/routes/management/apppasswords.js b/src/routes/management/apppasswords.js
index f081167..4ebd70f 100644
--- a/src/routes/management/apppasswords.js
+++ b/src/routes/management/apppasswords.js
@@ -34,9 +34,9 @@ import {
} from '../../services/management/apppasswords.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listAppPasswordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listAppPasswordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.post('/:id/regenerateSecret', isAuthenticated, checkPermissions('appPassw
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getAppPasswordNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getAppPasswordNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/auditlogs.js b/src/routes/management/auditlogs.js
index c001776..ea1325a 100644
--- a/src/routes/management/auditlogs.js
+++ b/src/routes/management/auditlogs.js
@@ -23,7 +23,7 @@ const listAllowedFilters = [
const listAllowedSorters = ['createdAt', 'updatedAt'];
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, sort, order } = req.query;
+ const { page, limit, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listAuditLogsRouteHandler(
req,
@@ -31,8 +31,8 @@ router.get('/', isAuthenticated, async (req, res) => {
page,
limit,
filter,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
diff --git a/src/routes/management/courier.js b/src/routes/management/courier.js
index 493653b..527f048 100644
--- a/src/routes/management/courier.js
+++ b/src/routes/management/courier.js
@@ -35,9 +35,9 @@ import {
// list of couriers
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listCouriersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listCouriersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => {
@@ -75,9 +75,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getCourierNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getCourierNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/courierservice.js b/src/routes/management/courierservice.js
index 39ad134..0113672 100644
--- a/src/routes/management/courierservice.js
+++ b/src/routes/management/courierservice.js
@@ -59,9 +59,9 @@ import {
// list of courier services
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listCourierServicesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listCourierServicesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => {
@@ -99,9 +99,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getCourierServiceNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getCourierServiceNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/documentjobs.js b/src/routes/management/documentjobs.js
index 57e059b..2d08c22 100644
--- a/src/routes/management/documentjobs.js
+++ b/src/routes/management/documentjobs.js
@@ -33,9 +33,9 @@ import {
// list of document jobs
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listDocumentJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listDocumentJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getDocumentJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getDocumentJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/documentprinters.js b/src/routes/management/documentprinters.js
index 1d3f885..0d3c31d 100644
--- a/src/routes/management/documentprinters.js
+++ b/src/routes/management/documentprinters.js
@@ -34,9 +34,9 @@ import {
// list of document printers
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listDocumentPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listDocumentPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => {
@@ -74,9 +74,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getDocumentPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getDocumentPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/documentsizes.js b/src/routes/management/documentsizes.js
index d29948d..0454684 100644
--- a/src/routes/management/documentsizes.js
+++ b/src/routes/management/documentsizes.js
@@ -49,9 +49,9 @@ import {
// list of document sizes
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listDocumentSizesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listDocumentSizesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => {
@@ -89,9 +89,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getDocumentSizeNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getDocumentSizeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/documenttemplates.js b/src/routes/management/documenttemplates.js
index 9565a2d..5ed5626 100644
--- a/src/routes/management/documenttemplates.js
+++ b/src/routes/management/documenttemplates.js
@@ -49,9 +49,9 @@ import {
// list of document templates
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listDocumentTemplatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listDocumentTemplatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => {
@@ -93,9 +93,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getDocumentTemplateNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getDocumentTemplateNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.post('/:id/preview', isAuthenticated, checkPermissions('documentTemplate', 'design'), async (req, res) => {
diff --git a/src/routes/management/filaments.js b/src/routes/management/filaments.js
index f73df55..25aa990 100644
--- a/src/routes/management/filaments.js
+++ b/src/routes/management/filaments.js
@@ -44,7 +44,7 @@ import {
// list of filaments
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
var filter = {};
@@ -57,7 +57,7 @@ router.get('/', isAuthenticated, async (req, res) => {
}
}
- listFilamentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listFilamentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => {
@@ -95,9 +95,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getFilamentNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getFilamentNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/filamentskus.js b/src/routes/management/filamentskus.js
index d3b0ce4..1cb9a80 100644
--- a/src/routes/management/filamentskus.js
+++ b/src/routes/management/filamentskus.js
@@ -44,9 +44,9 @@ import {
} from '../../services/management/filamentskus.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
@@ -81,9 +81,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getFilamentSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getFilamentSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/files.js b/src/routes/management/files.js
index 861149f..988e0af 100644
--- a/src/routes/management/files.js
+++ b/src/routes/management/files.js
@@ -37,9 +37,9 @@ import {
// list of files
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => {
@@ -81,9 +81,9 @@ router.delete('/:id/flush', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/hosts.js b/src/routes/management/hosts.js
index 76663ba..1cd7cca 100644
--- a/src/routes/management/hosts.js
+++ b/src/routes/management/hosts.js
@@ -33,9 +33,9 @@ import {
// list of hosts
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listHostsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listHostsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getHostNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getHostNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/materials.js b/src/routes/management/materials.js
index 60c5225..441c3c0 100644
--- a/src/routes/management/materials.js
+++ b/src/routes/management/materials.js
@@ -24,7 +24,7 @@ import {
// list of materials
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
var filter = {};
@@ -35,7 +35,7 @@ router.get('/', isAuthenticated, async (req, res) => {
}
}
- listMaterialsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listMaterialsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getMaterialNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getMaterialNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/notetypes.js b/src/routes/management/notetypes.js
index 81d06a1..29c2774 100644
--- a/src/routes/management/notetypes.js
+++ b/src/routes/management/notetypes.js
@@ -33,9 +33,9 @@ import {
// list of note types
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listNoteTypesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listNoteTypesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getNoteTypeNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getNoteTypeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/parts.js b/src/routes/management/parts.js
index 3aa7e76..aaa2271 100644
--- a/src/routes/management/parts.js
+++ b/src/routes/management/parts.js
@@ -34,7 +34,7 @@ import {
// list of parts
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listPartsRouteHandler(
req,
@@ -44,8 +44,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -84,7 +84,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getPartNeighborsRouteHandler(
req,
@@ -92,8 +92,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/management/partskus.js b/src/routes/management/partskus.js
index 20591ea..07b8e3c 100644
--- a/src/routes/management/partskus.js
+++ b/src/routes/management/partskus.js
@@ -45,9 +45,9 @@ import {
} from '../../services/management/partskus.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPartSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPartSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => {
@@ -83,9 +83,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPartSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPartSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/permissionsetting.js b/src/routes/management/permissionsetting.js
index 8e4405a..19e7039 100644
--- a/src/routes/management/permissionsetting.js
+++ b/src/routes/management/permissionsetting.js
@@ -23,7 +23,7 @@ import {
} from '../../services/management/permissionsetting.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listPermissionSettingsRouteHandler(
req,
@@ -33,8 +33,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -71,7 +71,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getPermissionSettingsNeighborsRouteHandler(
req,
@@ -79,8 +79,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/management/productcategories.js b/src/routes/management/productcategories.js
index 8e87bdf..c1d0a2b 100644
--- a/src/routes/management/productcategories.js
+++ b/src/routes/management/productcategories.js
@@ -24,9 +24,9 @@ const listAllowedSorters = ['name', 'createdAt', 'updatedAt', '_id'];
const propertiesAllowedFilters = ['name'];
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listProductCategoriesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listProductCategoriesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => {
@@ -62,9 +62,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getProductCategoryNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getProductCategoryNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/products.js b/src/routes/management/products.js
index 5559f73..8dca584 100644
--- a/src/routes/management/products.js
+++ b/src/routes/management/products.js
@@ -45,9 +45,9 @@ import {
// list of products
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listProductsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listProductsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => {
@@ -85,9 +85,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getProductNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getProductNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/productskus.js b/src/routes/management/productskus.js
index 94488d6..00ddf0f 100644
--- a/src/routes/management/productskus.js
+++ b/src/routes/management/productskus.js
@@ -45,9 +45,9 @@ import {
} from '../../services/management/productskus.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listProductSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listProductSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => {
@@ -83,9 +83,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getProductSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getProductSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/taxrates.js b/src/routes/management/taxrates.js
index 0d862b5..7f13d72 100644
--- a/src/routes/management/taxrates.js
+++ b/src/routes/management/taxrates.js
@@ -43,9 +43,9 @@ import {
// list of tax rates
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listTaxRatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listTaxRatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => {
@@ -83,9 +83,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getTaxRateNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getTaxRateNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/usergroups.js b/src/routes/management/usergroups.js
index 472a667..9c5c771 100644
--- a/src/routes/management/usergroups.js
+++ b/src/routes/management/usergroups.js
@@ -23,7 +23,7 @@ import {
} from '../../services/management/usergroups.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listUserGroupsRouteHandler(
req,
@@ -33,8 +33,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -71,7 +71,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getUserGroupNeighborsRouteHandler(
req,
@@ -79,8 +79,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/management/users.js b/src/routes/management/users.js
index c77943b..bdd3dd8 100644
--- a/src/routes/management/users.js
+++ b/src/routes/management/users.js
@@ -35,9 +35,9 @@ import {
// list of document templates
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listUsersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listUsersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => {
@@ -71,9 +71,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getUserNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getUserNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/management/vendors.js b/src/routes/management/vendors.js
index b072ddb..18fdb12 100644
--- a/src/routes/management/vendors.js
+++ b/src/routes/management/vendors.js
@@ -33,9 +33,9 @@ import {
// list of vendors
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listVendorsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listVendorsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => {
@@ -73,9 +73,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getVendorNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getVendorNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/misc/notes.js b/src/routes/misc/notes.js
index 1117341..0b72032 100644
--- a/src/routes/misc/notes.js
+++ b/src/routes/misc/notes.js
@@ -35,9 +35,9 @@ const propertiesAllowedFilters = ['parent'];
// list of notes
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listNotesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listNotesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', isAuthenticated, async (req, res) => {
@@ -71,9 +71,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getNoteNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getNoteNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, async (req, res) => {
diff --git a/src/routes/misc/notifications.js b/src/routes/misc/notifications.js
index c0f571a..c5f4801 100644
--- a/src/routes/misc/notifications.js
+++ b/src/routes/misc/notifications.js
@@ -12,10 +12,10 @@ import { getFilter } from '../../utils.js';
const router = express.Router();
router.get('/', isAuthenticated, async (req, res) => {
- const { page = 1, limit = 50, sort = 'createdAt', order = 'descend' } = req.query;
+ const { page = 1, limit = 50, sortProperty = 'createdAt', sortOrder = 'descend' } = req.query;
const allowedFilters = ['user'];
const filter = await getFilter(req.query, allowedFilters);
- listNotificationsRouteHandler(req, res, page, limit, filter, sort, order);
+ listNotificationsRouteHandler(req, res, page, limit, filter, sortProperty, sortOrder);
});
router.put('/read-all', isAuthenticated, async (req, res) => {
diff --git a/src/routes/misc/usernotifiers.js b/src/routes/misc/usernotifiers.js
index 954f285..8b8db14 100644
--- a/src/routes/misc/usernotifiers.js
+++ b/src/routes/misc/usernotifiers.js
@@ -12,10 +12,10 @@ import { getFilter } from '../../utils.js';
const router = express.Router();
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const allowedFilters = ['user', 'object', 'objectType'];
const filter = await getFilter(req.query, allowedFilters);
- listUserNotifiersRouteHandler(req, res, page, limit, property, filter, search, sort, order);
+ listUserNotifiersRouteHandler(req, res, page, limit, property, filter, search, sortProperty, sortOrder);
});
router.post('/', isAuthenticated, async (req, res) => {
diff --git a/src/routes/production/filamentprofiles.js b/src/routes/production/filamentprofiles.js
index 7315809..4ab3557 100644
--- a/src/routes/production/filamentprofiles.js
+++ b/src/routes/production/filamentprofiles.js
@@ -21,7 +21,7 @@ const listAllowedSorters = ['name', 'createdAt', 'updatedAt'];
const propertiesAllowedFilters = ['name'];
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
listFilamentProfilesRouteHandler(
req,
@@ -31,8 +31,8 @@ router.get('/', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder
);
});
@@ -60,7 +60,7 @@ router.post('/', isAuthenticated, checkPermissions('filamentProfile', 'new'), as
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
getFilamentProfileNeighborsRouteHandler(
req,
@@ -68,8 +68,8 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
property,
filter,
search,
- getSort(sort, listAllowedSorters),
- order,
+ getSort(sortProperty, listAllowedSorters),
+ sortOrder,
id
);
});
diff --git a/src/routes/production/gcodefiles.js b/src/routes/production/gcodefiles.js
index 925487f..41e714f 100644
--- a/src/routes/production/gcodefiles.js
+++ b/src/routes/production/gcodefiles.js
@@ -34,9 +34,9 @@ import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
// list of gcodeFiles
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listGCodeFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listGCodeFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => {
@@ -70,9 +70,9 @@ router.get('/stats', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getGCodeFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getGCodeFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('gcodeFile', 'info'), async (req, res) => {
diff --git a/src/routes/production/jobs.js b/src/routes/production/jobs.js
index 0de3bde..9eedc12 100644
--- a/src/routes/production/jobs.js
+++ b/src/routes/production/jobs.js
@@ -43,9 +43,9 @@ import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
// list of jobs
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => {
@@ -82,9 +82,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('job', 'info'), async (req, res) => {
diff --git a/src/routes/production/printerprofiles.js b/src/routes/production/printerprofiles.js
index 1358c39..c758946 100644
--- a/src/routes/production/printerprofiles.js
+++ b/src/routes/production/printerprofiles.js
@@ -30,9 +30,9 @@ const listAllowedSorters = [
const propertiesAllowedFilters = ['name'];
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPrinterProfilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPrinterProfilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => {
@@ -59,9 +59,9 @@ router.post('/', isAuthenticated, checkPermissions('printer', 'newPrinterProfile
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPrinterProfileNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPrinterProfileNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('printerProfile', 'info'), async (req, res) => {
diff --git a/src/routes/production/printers.js b/src/routes/production/printers.js
index 093f318..becb016 100644
--- a/src/routes/production/printers.js
+++ b/src/routes/production/printers.js
@@ -34,9 +34,9 @@ const listAllowedSorters = ['name', 'state', 'connectedAt', 'createdAt', 'update
const propertiesAllowedFilters = ['tags'];
// list of printers
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => {
@@ -69,9 +69,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
// get printer stats
diff --git a/src/routes/production/subjobs.js b/src/routes/production/subjobs.js
index 3c88401..66b5a73 100644
--- a/src/routes/production/subjobs.js
+++ b/src/routes/production/subjobs.js
@@ -41,9 +41,9 @@ import { getFilter, convertPropertiesString, getSort } from '../../utils.js';
// list of sub jobs
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listSubJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listSubJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => {
@@ -76,9 +76,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getSubJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getSubJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('subJob', 'info'), async (req, res) => {
diff --git a/src/routes/sales/clients.js b/src/routes/sales/clients.js
index 9bdf0bf..befa7d6 100644
--- a/src/routes/sales/clients.js
+++ b/src/routes/sales/clients.js
@@ -34,9 +34,9 @@ import {
// list of clients
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listClientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listClientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => {
@@ -74,9 +74,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getClientNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getClientNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('client', 'info'), async (req, res) => {
diff --git a/src/routes/sales/listings.js b/src/routes/sales/listings.js
index 82de1bf..0f65f60 100644
--- a/src/routes/sales/listings.js
+++ b/src/routes/sales/listings.js
@@ -60,9 +60,9 @@ import {
} from '../../services/sales/listings.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listListingsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listListingsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => {
@@ -105,9 +105,9 @@ router.post('/:id/unpublish', isAuthenticated, checkPermissions('listing', 'unpu
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getListingNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getListingNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('listing', 'info'), async (req, res) => {
diff --git a/src/routes/sales/listingvarients.js b/src/routes/sales/listingvarients.js
index e6f54f5..da15fbe 100644
--- a/src/routes/sales/listingvarients.js
+++ b/src/routes/sales/listingvarients.js
@@ -47,9 +47,9 @@ import {
} from '../../services/sales/listingvarients.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listListingVarientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listListingVarientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => {
@@ -93,9 +93,9 @@ router.post('/:id/unpublish', isAuthenticated, checkPermissions('listingVarient'
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getListingVarientNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getListingVarientNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('listingVarient', 'info'), async (req, res) => {
diff --git a/src/routes/sales/marketplaces.js b/src/routes/sales/marketplaces.js
index 0ce39af..fc073f2 100644
--- a/src/routes/sales/marketplaces.js
+++ b/src/routes/sales/marketplaces.js
@@ -49,9 +49,9 @@ import {
} from '../../services/sales/marketplaces.js';
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listMarketplacesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listMarketplacesRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('marketplace', 'list'), isAuthenticated, async (req, res) => {
@@ -124,9 +124,9 @@ router.post('/:id/hook', async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getMarketplaceNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getMarketplaceNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('marketplace', 'info'), async (req, res) => {
diff --git a/src/routes/sales/salesorders.js b/src/routes/sales/salesorders.js
index c72d65f..6882d58 100644
--- a/src/routes/sales/salesorders.js
+++ b/src/routes/sales/salesorders.js
@@ -36,9 +36,9 @@ import {
// list of sales orders
router.get('/', isAuthenticated, async (req, res) => {
- const { page, limit, property, search, sort, order } = req.query;
+ const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- listSalesOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
+ listSalesOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
});
router.get('/properties', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => {
@@ -75,9 +75,9 @@ router.get('/history', isAuthenticated, async (req, res) => {
});
router.get('/neighbors', isAuthenticated, async (req, res) => {
- const { property, search, sort, order, id } = req.query;
+ const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters);
- getSalesOrderNeighborsRouteHandler(req, res, property, filter, search, getSort(sort, listAllowedSorters), order, id);
+ getSalesOrderNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
});
router.get('/:id', isAuthenticated, checkPermissions('salesOrder', 'info'), async (req, res) => {
diff --git a/src/templates/__tests__/templateformatter.test.js b/src/templates/__tests__/templateformatter.test.js
index 8c4c745..21df572 100644
--- a/src/templates/__tests__/templateformatter.test.js
+++ b/src/templates/__tests__/templateformatter.test.js
@@ -51,8 +51,7 @@ describe('formatTemplateContent', () => {
});
it('should not add spaces inside parentheses around EJS output', () => {
- const input =
- '<%= courierService.name %> ( <%= courier.name %> )';
+ const input = '<%= courierService.name %> ( <%= courier.name %> )';
const result = formatTemplateContent(input);
expect(result.content).toContain(' (<%= courier.name %>)');
diff --git a/src/templates/__tests__/templatemanager.test.js b/src/templates/__tests__/templatemanager.test.js
index 60c0d6a..76b6207 100644
--- a/src/templates/__tests__/templatemanager.test.js
+++ b/src/templates/__tests__/templatemanager.test.js
@@ -35,6 +35,10 @@ jest.unstable_mockModule('../../database/database.js', () => ({
listObjects: jest.fn(),
}));
+jest.unstable_mockModule('../../utils.js', () => ({
+ getFilter: jest.fn(async (query) => query),
+}));
+
jest.unstable_mockModule('../../database/schemas/management/documenttemplate.schema.js', () => ({
documentTemplateModel: { modelName: 'DocumentTemplate' },
}));
@@ -91,11 +95,26 @@ jest.unstable_mockModule('../../config.js', () => ({
},
}));
-const { TemplateManager, resolveDocumentPadding } = await import('../templatemanager.js');
-const { getObject } = await import('../../database/database.js');
+const { TemplateManager, resolveDocumentPadding, stripDocumentTemplateReference } = await import('../templatemanager.js');
+const { getObject, listObjects } = await import('../../database/database.js');
+const { getFilter } = await import('../../utils.js');
const ejs = (await import('ejs')).default;
const { generatePDF } = await import('../pdffactory.js');
+describe('stripDocumentTemplateReference', () => {
+ it('strips a DTP: prefix', () => {
+ expect(stripDocumentTemplateReference('DTP:YPZY0P8XYKHZ')).toBe('YPZY0P8XYKHZ');
+ });
+
+ it('strips a dtp: prefix case-insensitively', () => {
+ expect(stripDocumentTemplateReference('dtp:YPZY0P8XYKHZ')).toBe('YPZY0P8XYKHZ');
+ });
+
+ it('returns a bare reference unchanged', () => {
+ expect(stripDocumentTemplateReference('YPZY0P8XYKHZ')).toBe('YPZY0P8XYKHZ');
+ });
+});
+
describe('resolveDocumentPadding', () => {
const paddedSize = {
printPadding: false,
@@ -172,6 +191,197 @@ describe('TemplateManager', () => {
expect(result).toEqual({ error: 'Document template not found.', code: 404 });
});
+
+ it('exposes fc.renderDocumentTemplate when rendering', async () => {
+ getObject.mockResolvedValue({
+ documentSize: { width: 100, height: 100, infiniteHeight: false },
+ global: false,
+ objectType: 'printer',
+ _reference: 'PARENTREF',
+ });
+
+ await templateManager.renderTemplate('temp-id', 'some content', { name: 'Test' });
+
+ expect(ejs.render).toHaveBeenCalledWith(
+ 'some content',
+ expect.objectContaining({
+ name: 'Test',
+ fc: expect.objectContaining({
+ renderDocumentTemplate: expect.any(Function),
+ }),
+ }),
+ expect.anything()
+ );
+ });
+
+ it('looks up a nested template by reference without the DTP: prefix', async () => {
+ getObject.mockResolvedValue({
+ documentSize: { width: 100, height: 100, infiniteHeight: false },
+ global: false,
+ objectType: 'printer',
+ _reference: 'PARENTREF',
+ });
+ listObjects.mockResolvedValue([
+ {
+ _reference: 'YPZY0P8XYKHZ',
+ content: '<%= name %>',
+ objectType: 'printer',
+ global: false,
+ },
+ ]);
+
+ let capturedFc;
+ ejs.render.mockImplementation(async (content, data) => {
+ if (data?.fc?.renderDocumentTemplate) {
+ capturedFc = data.fc;
+ }
+ return `rendered: ${content}`;
+ });
+
+ await templateManager.renderTemplate('temp-id', 'some content', { name: 'Parent' });
+
+ const nestedHtml = await capturedFc.renderDocumentTemplate('DTP:YPZY0P8XYKHZ');
+
+ expect(listObjects).toHaveBeenCalledWith(
+ expect.objectContaining({
+ filter: { _reference: 'YPZY0P8XYKHZ' },
+ })
+ );
+ expect(ejs.render).toHaveBeenCalledWith(
+ '<%= name %>',
+ expect.objectContaining({ name: 'Parent' }),
+ expect.anything()
+ );
+ expect(nestedHtml).toBe('rendered: <%= name %>');
+ });
+
+ it('renders a nested template with a passed object instead of the parent object', async () => {
+ getObject.mockResolvedValue({
+ documentSize: { width: 100, height: 100, infiniteHeight: false },
+ global: false,
+ objectType: 'printer',
+ _reference: 'PARENTREF',
+ });
+ listObjects.mockResolvedValue([
+ {
+ _reference: 'YPZY0P8XYKHZ',
+ content: '<%= name %>',
+ objectType: 'printer',
+ global: false,
+ },
+ ]);
+
+ let capturedFc;
+ ejs.render.mockImplementation(async (content, data) => {
+ if (data?.fc?.renderDocumentTemplate) {
+ capturedFc = data.fc;
+ }
+ return `rendered: ${content}`;
+ });
+
+ await templateManager.renderTemplate('temp-id', 'some content', { name: 'Parent' });
+
+ await capturedFc.renderDocumentTemplate('YPZY0P8XYKHZ', { name: 'Nested' });
+
+ expect(ejs.render).toHaveBeenCalledWith(
+ '<%= name %>',
+ expect.objectContaining({ name: 'Nested' }),
+ expect.anything()
+ );
+ });
+
+ it('uses the passed object as nested template data without fetching it', async () => {
+ getObject.mockResolvedValue({
+ documentSize: { width: 100, height: 100, infiniteHeight: false },
+ global: false,
+ objectType: 'printer',
+ _reference: 'PARENTREF',
+ });
+ listObjects.mockResolvedValue([
+ {
+ _reference: 'PKEFDZV5X1SU',
+ content: '<%= totalAmount %>',
+ objectType: 'invoice',
+ global: false,
+ },
+ ]);
+
+ let capturedFc;
+ ejs.render.mockImplementation(async (content, data) => {
+ if (data?.fc?.renderDocumentTemplate) {
+ capturedFc = data.fc;
+ }
+ return `rendered: ${content}`;
+ });
+
+ await templateManager.renderTemplate('temp-id', 'some content', { name: 'Parent' });
+ getObject.mockClear();
+
+ const invoice = { _id: 'inv-1', totalAmount: 42, orderType: 'salesOrder' };
+ await capturedFc.renderDocumentTemplate('DTP:PKEFDZV5X1SU', invoice);
+
+ expect(getObject).not.toHaveBeenCalled();
+ expect(ejs.render).toHaveBeenCalledWith(
+ '<%= totalAmount %>',
+ expect.objectContaining({
+ _id: 'inv-1',
+ totalAmount: 42,
+ orderType: 'salesOrder',
+ }),
+ expect.objectContaining({ async: true })
+ );
+ });
+
+ it('wraps nested content in its parent template without page pagination chrome', async () => {
+ getObject.mockResolvedValue({
+ documentSize: { width: 100, height: 100, infiniteHeight: false },
+ global: false,
+ objectType: 'printer',
+ _reference: 'PARENTREF',
+ });
+ listObjects.mockResolvedValue([
+ {
+ _reference: 'PKEFDZV5X1SU',
+ content: 'invoice',
+ objectType: 'invoice',
+ global: false,
+ parent: {
+ _reference: 'LETTERHEAD',
+ content: '<%- content %>',
+ },
+ },
+ ]);
+
+ let capturedFc;
+ ejs.render.mockImplementation(async (content, data) => {
+ if (data?.fc?.renderDocumentTemplate) {
+ capturedFc = data.fc;
+ }
+ return `rendered: ${content}`;
+ });
+
+ await templateManager.renderTemplate('temp-id', 'some content', { name: 'Parent' });
+ ejs.render.mockClear();
+
+ const nestedHtml = await capturedFc.renderDocumentTemplate(
+ 'DTP:PKEFDZV5X1SU',
+ { totalAmount: 10 }
+ );
+
+ expect(ejs.render).toHaveBeenCalledWith(
+ 'invoice',
+ expect.objectContaining({ totalAmount: 10 }),
+ expect.objectContaining({ async: true })
+ );
+ expect(ejs.render).toHaveBeenCalledWith(
+ '<%- content %>',
+ expect.objectContaining({ content: 'rendered: invoice' }),
+ expect.objectContaining({ async: true })
+ );
+ expect(nestedHtml).not.toContain('pagination');
+ expect(nestedHtml).not.toContain('previewDocument');
+ expect(nestedHtml).not.toContain('renderDocument');
+ });
});
describe('validateTemplate', () => {
@@ -187,6 +397,44 @@ describe('TemplateManager', () => {
});
});
+ describe('listObjects', () => {
+ it('parses a present filter with getFilter before listing', async () => {
+ const parsedFilter = { name: { $eq: 'Test' } };
+ getFilter.mockResolvedValue(parsedFilter);
+ listObjects.mockResolvedValue([{ name: 'Test' }]);
+
+ const result = await templateManager.listObjects('printer', { name: '=Test' });
+
+ expect(getFilter).toHaveBeenCalledWith(
+ { name: '=Test' },
+ ['name'],
+ true,
+ expect.anything()
+ );
+ expect(listObjects).toHaveBeenCalledWith(
+ expect.objectContaining({
+ filter: parsedFilter,
+ pagination: false,
+ })
+ );
+ expect(result).toEqual([{ name: 'Test' }]);
+ });
+
+ it('does not call getFilter when no filter is provided', async () => {
+ listObjects.mockResolvedValue([]);
+
+ await templateManager.listObjects('printer');
+
+ expect(getFilter).not.toHaveBeenCalled();
+ expect(listObjects).toHaveBeenCalledWith(
+ expect.objectContaining({
+ filter: {},
+ pagination: false,
+ })
+ );
+ });
+ });
+
describe('renderPDF', () => {
it('should render a PDF successfully', async () => {
const mockTemplate = {
diff --git a/src/templates/templatemanager.js b/src/templates/templatemanager.js
index e397951..d369096 100644
--- a/src/templates/templatemanager.js
+++ b/src/templates/templatemanager.js
@@ -14,6 +14,7 @@ import '../database/schemas/management/documentsize.schema.js';
import config from '../config.js';
import { getObject, listObjects } from '../database/database.js';
import { getModelByName } from '../services/misc/model.js';
+import { getFilter } from '../utils.js';
import { generatePDF } from './pdffactory.js';
import { convertPDFToImage } from './pdfUtils.js';
@@ -40,10 +41,7 @@ async function loadTemplates() {
baseCSS = fs.readFileSync(join(__dirname, '/assets/styles.css'), 'utf8');
previewTemplate = fs.readFileSync(join(__dirname, '/assets/previewtemplate.ejs'), 'utf8');
renderTemplateEjs = fs.readFileSync(join(__dirname, '/assets/rendertemplate.ejs'), 'utf8');
- contentPlaceholder = fs.readFileSync(
- join(__dirname, '/assets/contentplaceholder.ejs'),
- 'utf8'
- );
+ contentPlaceholder = fs.readFileSync(join(__dirname, '/assets/contentplaceholder.ejs'), 'utf8');
previewPaginationScript = fs.readFileSync(
join(__dirname, '/assets/previewpagination.js'),
'utf8'
@@ -247,7 +245,7 @@ async function transformCustomElements(content) {
}),
(tree) =>
tree.match({ tag: 'DateTime' }, (node) => {
- const dateTime = dayjs.utc(node.content[0]);
+ const dateTime = dayjs.utc(node?.content ? node.content[0] : '');
return {
content: [dateTime.format('YYYY-MM-DD hh:mm:ss')],
tag: 'span',
@@ -355,9 +353,7 @@ function normalizeDownloadType(type) {
function imageToSvg(pngBuffer, widthPx, heightPx, documentWidthMm, documentHeightMm) {
const b64 = pngBuffer.toString('base64');
const heightAttr =
- documentHeightMm == 'auto' || documentHeightMm == null
- ? ''
- : ` height="${documentHeightMm}mm"`;
+ documentHeightMm == 'auto' || documentHeightMm == null ? '' : ` height="${documentHeightMm}mm"`;
return `