diff --git a/src/routes/finance/invoices.js b/src/routes/finance/invoices.js index 5590e61..e366189 100644 --- a/src/routes/finance/invoices.js +++ b/src/routes/finance/invoices.js @@ -84,10 +84,24 @@ router.get('/properties', checkPermissions('invoice', 'list'), isAuthenticated, listInvoicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('invoice', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getInvoicePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('invoice', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true, invoiceModel); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true, invoiceModel + ); + } + getInvoicePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('invoice', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchInvoicesRouteHandler(req, res, search); diff --git a/src/routes/finance/paymentpolicies.js b/src/routes/finance/paymentpolicies.js index 108ec2d..192288d 100644 --- a/src/routes/finance/paymentpolicies.js +++ b/src/routes/finance/paymentpolicies.js @@ -65,7 +65,17 @@ router.get( checkPermissions('paymentPolicy', 'list'), isAuthenticated, async (req, res) => { - getPaymentPolicyPropertyValuesRouteHandler(req, res, req.query.property); + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPaymentPolicyPropertyValuesRouteHandler(req, res, property, filter, masterFilter); } ); diff --git a/src/routes/finance/payments.js b/src/routes/finance/payments.js index 62109c1..484f8e3 100644 --- a/src/routes/finance/payments.js +++ b/src/routes/finance/payments.js @@ -65,10 +65,24 @@ router.get('/properties', checkPermissions('payment', 'list'), isAuthenticated, listPaymentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPaymentPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('payment', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPaymentPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchPaymentsRouteHandler(req, res, search); diff --git a/src/routes/finance/taxrecords.js b/src/routes/finance/taxrecords.js index 9435fca..cef97cb 100644 --- a/src/routes/finance/taxrecords.js +++ b/src/routes/finance/taxrecords.js @@ -50,10 +50,24 @@ router.get('/properties', checkPermissions('taxRecord', 'list'), isAuthenticated listTaxRecordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getTaxRecordPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('taxRecord', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getTaxRecordPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchTaxRecordsRouteHandler(req, res, search); diff --git a/src/routes/inventory/filamentstocks.js b/src/routes/inventory/filamentstocks.js index f4c8e4f..f369cc0 100644 --- a/src/routes/inventory/filamentstocks.js +++ b/src/routes/inventory/filamentstocks.js @@ -60,10 +60,24 @@ router.get('/properties', checkPermissions('filamentStock', 'list'), isAuthentic listFilamentStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getFilamentStockPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('filamentStock', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFilamentStockPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchFilamentStocksRouteHandler(req, res, search); diff --git a/src/routes/inventory/orderitems.js b/src/routes/inventory/orderitems.js index 97ef876..f4685d8 100644 --- a/src/routes/inventory/orderitems.js +++ b/src/routes/inventory/orderitems.js @@ -74,10 +74,24 @@ router.get('/properties', checkPermissions('orderItem', 'list'), isAuthenticated listOrderItemsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('orderItem', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getOrderItemPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('orderItem', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getOrderItemPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('orderItem', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchOrderItemsRouteHandler(req, res, search); diff --git a/src/routes/inventory/partstocks.js b/src/routes/inventory/partstocks.js index 4eedd5b..b8b7aba 100644 --- a/src/routes/inventory/partstocks.js +++ b/src/routes/inventory/partstocks.js @@ -52,10 +52,24 @@ router.get('/properties', checkPermissions('partStock', 'list'), isAuthenticated listPartStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPartStockPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('partStock', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPartStockPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchPartStocksRouteHandler(req, res, search); diff --git a/src/routes/inventory/productstocks.js b/src/routes/inventory/productstocks.js index 4a2045e..8e7b585 100644 --- a/src/routes/inventory/productstocks.js +++ b/src/routes/inventory/productstocks.js @@ -51,10 +51,24 @@ router.get('/properties', checkPermissions('productStock', 'list'), isAuthentica listProductStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getProductStockPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('productStock', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getProductStockPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchProductStocksRouteHandler(req, res, search); diff --git a/src/routes/inventory/purchaseorders.js b/src/routes/inventory/purchaseorders.js index e0a91c0..20a6016 100644 --- a/src/routes/inventory/purchaseorders.js +++ b/src/routes/inventory/purchaseorders.js @@ -78,10 +78,24 @@ router.get('/properties', checkPermissions('purchaseOrder', 'list'), isAuthentic listPurchaseOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPurchaseOrderPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('purchaseOrder', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPurchaseOrderPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchPurchaseOrdersRouteHandler(req, res, search); diff --git a/src/routes/inventory/shipments.js b/src/routes/inventory/shipments.js index 25c60d9..820ea45 100644 --- a/src/routes/inventory/shipments.js +++ b/src/routes/inventory/shipments.js @@ -83,10 +83,24 @@ router.get('/properties', checkPermissions('shipment', 'list'), isAuthenticated, listShipmentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('shipment', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getShipmentPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('shipment', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getShipmentPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('shipment', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchShipmentsRouteHandler(req, res, search); diff --git a/src/routes/inventory/stockevents.js b/src/routes/inventory/stockevents.js index 2c4df13..1865836 100644 --- a/src/routes/inventory/stockevents.js +++ b/src/routes/inventory/stockevents.js @@ -41,10 +41,24 @@ router.get('/properties', checkPermissions('stockEvent', 'list'), isAuthenticate listStockEventsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getStockEventPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('stockEvent', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getStockEventPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchStockEventsRouteHandler(req, res, search); diff --git a/src/routes/inventory/stocklocations.js b/src/routes/inventory/stocklocations.js index 176040b..b054589 100644 --- a/src/routes/inventory/stocklocations.js +++ b/src/routes/inventory/stocklocations.js @@ -40,10 +40,24 @@ router.get('/properties', checkPermissions('stockLocation', 'list'), isAuthentic listStockLocationsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getStockLocationPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('stockLocation', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getStockLocationPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchStockLocationsRouteHandler(req, res, search); diff --git a/src/routes/inventory/stocktransfers.js b/src/routes/inventory/stocktransfers.js index 4f27fc1..4da7647 100644 --- a/src/routes/inventory/stocktransfers.js +++ b/src/routes/inventory/stocktransfers.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('stockTransfer', 'list'), isAuthentic listStockTransfersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getStockTransferPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('stockTransfer', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getStockTransferPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchStockTransfersRouteHandler(req, res, search); diff --git a/src/routes/management/apppasswords.js b/src/routes/management/apppasswords.js index 82ed023..015511b 100644 --- a/src/routes/management/apppasswords.js +++ b/src/routes/management/apppasswords.js @@ -46,10 +46,24 @@ router.get('/properties', checkPermissions('appPassword', 'list'), isAuthenticat listAppPasswordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getAppPasswordPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('appPassword', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getAppPasswordPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/courier.js b/src/routes/management/courier.js index 7b974d9..f5252b9 100644 --- a/src/routes/management/courier.js +++ b/src/routes/management/courier.js @@ -50,10 +50,24 @@ router.get('/properties', checkPermissions('courier', 'list'), isAuthenticated, listCouriersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getCourierPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('courier', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getCourierPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/courierservice.js b/src/routes/management/courierservice.js index f8ec906..975ced9 100644 --- a/src/routes/management/courierservice.js +++ b/src/routes/management/courierservice.js @@ -76,10 +76,24 @@ router.get('/properties', checkPermissions('courierService', 'list'), isAuthenti listCourierServicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getCourierServicePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('courierService', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getCourierServicePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/documentjobs.js b/src/routes/management/documentjobs.js index 0e7684f..61d2a73 100644 --- a/src/routes/management/documentjobs.js +++ b/src/routes/management/documentjobs.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('documentJob', 'list'), isAuthenticat listDocumentJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getDocumentJobPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('documentJob', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getDocumentJobPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/documentprinters.js b/src/routes/management/documentprinters.js index 475a83d..54ffaab 100644 --- a/src/routes/management/documentprinters.js +++ b/src/routes/management/documentprinters.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('documentPrinter', 'list'), isAuthent listDocumentPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getDocumentPrinterPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('documentPrinter', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getDocumentPrinterPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/documentsizes.js b/src/routes/management/documentsizes.js index 1a3fc61..41187e8 100644 --- a/src/routes/management/documentsizes.js +++ b/src/routes/management/documentsizes.js @@ -64,10 +64,24 @@ router.get('/properties', checkPermissions('documentSize', 'list'), isAuthentica listDocumentSizesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getDocumentSizePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('documentSize', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getDocumentSizePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/documenttemplates.js b/src/routes/management/documenttemplates.js index 3682208..9d72d6a 100644 --- a/src/routes/management/documenttemplates.js +++ b/src/routes/management/documenttemplates.js @@ -66,10 +66,24 @@ router.get('/properties', checkPermissions('documentTemplate', 'list'), isAuthen listDocumentTemplatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getDocumentTemplatePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('documentTemplate', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getDocumentTemplatePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/filaments.js b/src/routes/management/filaments.js index f4662c1..4a300da 100644 --- a/src/routes/management/filaments.js +++ b/src/routes/management/filaments.js @@ -70,10 +70,24 @@ router.get('/properties', checkPermissions('filament', 'list'), isAuthenticated, listFilamentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getFilamentPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('filament', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFilamentPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/filamentskus.js b/src/routes/management/filamentskus.js index 6c09176..2737122 100644 --- a/src/routes/management/filamentskus.js +++ b/src/routes/management/filamentskus.js @@ -59,10 +59,24 @@ router.get('/properties', checkPermissions('filamentSku', 'list'), isAuthenticat listFilamentSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getFilamentSkuPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('filamentSku', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFilamentSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchFilamentSkusRouteHandler(req, res, search); diff --git a/src/routes/management/files.js b/src/routes/management/files.js index 41ffa23..3abd2e2 100644 --- a/src/routes/management/files.js +++ b/src/routes/management/files.js @@ -52,10 +52,24 @@ router.get('/properties', checkPermissions('file', 'list'), isAuthenticated, asy listFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getFilePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('file', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFilePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/hosts.js b/src/routes/management/hosts.js index 051cb37..21888b0 100644 --- a/src/routes/management/hosts.js +++ b/src/routes/management/hosts.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('host', 'list'), isAuthenticated, asy listHostsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getHostPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('host', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getHostPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/materials.js b/src/routes/management/materials.js index 807bd96..43b7a3a 100644 --- a/src/routes/management/materials.js +++ b/src/routes/management/materials.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('material', 'list'), isAuthenticated, listMaterialsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getMaterialPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('material', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getMaterialPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/notetypes.js b/src/routes/management/notetypes.js index 8e164cd..96fb09e 100644 --- a/src/routes/management/notetypes.js +++ b/src/routes/management/notetypes.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('noteType', 'list'), isAuthenticated, listNoteTypesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getNoteTypePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('noteType', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getNoteTypePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchNoteTypesRouteHandler(req, res, search); diff --git a/src/routes/management/parts.js b/src/routes/management/parts.js index 48996a8..f23e986 100644 --- a/src/routes/management/parts.js +++ b/src/routes/management/parts.js @@ -59,10 +59,24 @@ router.get('/properties', checkPermissions('part', 'list'), isAuthenticated, asy listPartsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('part', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPartPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('part', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPartPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('part', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/partskus.js b/src/routes/management/partskus.js index 3b14a45..4f28f42 100644 --- a/src/routes/management/partskus.js +++ b/src/routes/management/partskus.js @@ -60,10 +60,24 @@ router.get('/properties', checkPermissions('partSku', 'list'), isAuthenticated, listPartSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPartSkuPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('partSku', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPartSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchPartSkusRouteHandler(req, res, search); diff --git a/src/routes/management/permissionsetting.js b/src/routes/management/permissionsetting.js index af49af4..704ad07 100644 --- a/src/routes/management/permissionsetting.js +++ b/src/routes/management/permissionsetting.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('permissionSetting', 'list'), isAuthe listPermissionSettingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('permissionSetting', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPermissionSettingsPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('permissionSetting', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPermissionSettingsPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('permissionSetting', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/productcategories.js b/src/routes/management/productcategories.js index 70e5fae..3a08bb6 100644 --- a/src/routes/management/productcategories.js +++ b/src/routes/management/productcategories.js @@ -46,10 +46,24 @@ router.get('/properties', checkPermissions('productCategory', 'list'), isAuthent listProductCategoriesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getProductCategoryPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('productCategory', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getProductCategoryPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/products.js b/src/routes/management/products.js index 76e2012..3cbb540 100644 --- a/src/routes/management/products.js +++ b/src/routes/management/products.js @@ -60,10 +60,24 @@ router.get('/properties', checkPermissions('product', 'list'), isAuthenticated, listProductsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getProductPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('product', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getProductPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/productskus.js b/src/routes/management/productskus.js index 5898cd7..9d5156f 100644 --- a/src/routes/management/productskus.js +++ b/src/routes/management/productskus.js @@ -60,10 +60,24 @@ router.get('/properties', checkPermissions('productSku', 'list'), isAuthenticate listProductSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getProductSkuPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('productSku', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getProductSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchProductSkusRouteHandler(req, res, search); diff --git a/src/routes/management/taxrates.js b/src/routes/management/taxrates.js index 97a9dee..18707a7 100644 --- a/src/routes/management/taxrates.js +++ b/src/routes/management/taxrates.js @@ -61,10 +61,24 @@ router.get('/properties', checkPermissions('taxRate', 'list'), isAuthenticated, listTaxRatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getTaxRatePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('taxRate', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getTaxRatePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/usergroups.js b/src/routes/management/usergroups.js index a0f8ab6..ddcb7d0 100644 --- a/src/routes/management/usergroups.js +++ b/src/routes/management/usergroups.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('userGroup', 'list'), isAuthenticated listUserGroupsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('userGroup', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getUserGroupPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('userGroup', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getUserGroupPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('userGroup', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/management/users.js b/src/routes/management/users.js index 5fd230e..0d99a76 100644 --- a/src/routes/management/users.js +++ b/src/routes/management/users.js @@ -50,10 +50,24 @@ router.get('/properties', checkPermissions('user', 'list'), isAuthenticated, asy listUsersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getUserPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('user', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getUserPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchUsersRouteHandler(req, res, search); diff --git a/src/routes/management/vendors.js b/src/routes/management/vendors.js index 6bea367..9241323 100644 --- a/src/routes/management/vendors.js +++ b/src/routes/management/vendors.js @@ -48,10 +48,24 @@ router.get('/properties', checkPermissions('vendor', 'list'), isAuthenticated, a listVendorsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getVendorPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('vendor', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getVendorPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; diff --git a/src/routes/production/filamentprofiles.js b/src/routes/production/filamentprofiles.js index 57ec28b..4a95342 100644 --- a/src/routes/production/filamentprofiles.js +++ b/src/routes/production/filamentprofiles.js @@ -46,10 +46,24 @@ router.get('/properties', checkPermissions('filamentProfile', 'list'), isAuthent listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getFilamentProfilePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('filamentProfile', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFilamentProfilePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => { searchFilamentProfilesRouteHandler(req, res, req.query.search); diff --git a/src/routes/production/gcodefiles.js b/src/routes/production/gcodefiles.js index 556a7f0..6385747 100644 --- a/src/routes/production/gcodefiles.js +++ b/src/routes/production/gcodefiles.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('gcodeFile', 'list'), isAuthenticated listGCodeFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getGCodeFilePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('gcodeFile', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getGCodeFilePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchGCodeFilesRouteHandler(req, res, search); diff --git a/src/routes/production/jobs.js b/src/routes/production/jobs.js index 12fc92c..4b4c5b5 100644 --- a/src/routes/production/jobs.js +++ b/src/routes/production/jobs.js @@ -45,7 +45,17 @@ import { convertPropertiesString, getFilter, getSort } from '../../utils.js'; router.get('/', isAuthenticated, checkPermissions('job', 'list'), async (req, res) => { 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(sortProperty, listAllowedSorters), sortOrder); + listJobsRouteHandler( + req, + res, + page, + limit, + property, + filter, + search, + getSort(sortProperty, listAllowedSorters), + sortOrder + ); }); router.get('/properties', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => { @@ -60,7 +70,12 @@ router.get('/properties', checkPermissions('job', 'list'), isAuthenticated, asyn router.get('/values', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => { const { property } = req.query; - getJobPropertyValuesRouteHandler(req, res, property); + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter(JSON.parse(req.query.masterFilter), listAllowedFilters, true); + } + getJobPropertyValuesRouteHandler(req, res, property, filter, masterFilter); }); router.get('/search', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; @@ -84,7 +99,16 @@ router.get('/history', isAuthenticated, async (req, res) => { router.get('/neighbors', isAuthenticated, async (req, res) => { const { property, search, sortProperty, sortOrder, id } = req.query; const filter = await getFilter(req.query, listAllowedFilters); - getJobNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, 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 556f7fd..2a40f89 100644 --- a/src/routes/production/printerprofiles.js +++ b/src/routes/production/printerprofiles.js @@ -45,10 +45,24 @@ router.get('/properties', checkPermissions('printerProfile', 'list'), isAuthenti listPrinterProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPrinterProfilePropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('printerProfile', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPrinterProfilePropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => { searchPrinterProfilesRouteHandler(req, res, req.query.search); diff --git a/src/routes/production/printers.js b/src/routes/production/printers.js index aaf4fd6..048c9b3 100644 --- a/src/routes/production/printers.js +++ b/src/routes/production/printers.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('printer', 'list'), isAuthenticated, listPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getPrinterPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('printer', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getPrinterPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchPrintersRouteHandler(req, res, search); diff --git a/src/routes/production/subjobs.js b/src/routes/production/subjobs.js index 6d04947..fd51dde 100644 --- a/src/routes/production/subjobs.js +++ b/src/routes/production/subjobs.js @@ -56,10 +56,24 @@ router.get('/properties', checkPermissions('subJob', 'list'), isAuthenticated, a listSubJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getSubJobPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('subJob', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getSubJobPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchSubJobsRouteHandler(req, res, search); diff --git a/src/routes/sales/clients.js b/src/routes/sales/clients.js index fb3e6d5..8799a3d 100644 --- a/src/routes/sales/clients.js +++ b/src/routes/sales/clients.js @@ -49,10 +49,24 @@ router.get('/properties', checkPermissions('client', 'list'), isAuthenticated, a listClientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getClientPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('client', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getClientPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchClientsRouteHandler(req, res, search); diff --git a/src/routes/sales/fulfillmentpolicies.js b/src/routes/sales/fulfillmentpolicies.js index 558b6d2..6ec381a 100644 --- a/src/routes/sales/fulfillmentpolicies.js +++ b/src/routes/sales/fulfillmentpolicies.js @@ -76,7 +76,17 @@ router.get( checkPermissions('fulfillmentPolicy', 'list'), isAuthenticated, async (req, res) => { - getFulfillmentPolicyPropertyValuesRouteHandler(req, res, req.query.property); + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getFulfillmentPolicyPropertyValuesRouteHandler(req, res, property, filter, masterFilter); } ); diff --git a/src/routes/sales/listings.js b/src/routes/sales/listings.js index 6df8868..14131ad 100644 --- a/src/routes/sales/listings.js +++ b/src/routes/sales/listings.js @@ -84,10 +84,24 @@ router.get('/properties', checkPermissions('listing', 'list'), isAuthenticated, listListingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getListingPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('listing', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getListingPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchListingsRouteHandler(req, res, search); diff --git a/src/routes/sales/listingvarients.js b/src/routes/sales/listingvarients.js index e7a1443..1114654 100644 --- a/src/routes/sales/listingvarients.js +++ b/src/routes/sales/listingvarients.js @@ -2,6 +2,7 @@ import express from 'express'; import { isAuthenticated } from '../../keycloak.js'; import { checkPermissions } from '../../database/permissions.js'; import { getFilter, convertPropertiesString, getSort } from '../../utils.js'; +import { listingVarientModel } from '../../database/schemas/sales/listingvarient.schema.js'; const router = express.Router(); @@ -19,18 +20,26 @@ const listAllowedFilters = [ 'updatedAt', '_reference', ]; -const listAllowedSorters = ['state', 'stockQuantity', 'price', 'lastSyncedAt', 'createdAt', 'updatedAt', '_id']; +const listAllowedSorters = [ + 'state', + 'stockQuantity', + 'price', + 'lastSyncedAt', + 'createdAt', + 'updatedAt', + '_id', +]; const propertiesAllowedFilters = [ - 'listing', - 'listing._id', - 'product', - 'productSku', - 'stockQuantity', - 'state', - 'state.type', - 'createdAt', - 'updatedAt', - ]; + 'listing', + 'listing._id', + 'product', + 'productSku', + 'stockQuantity', + 'state', + 'state.type', + 'createdAt', + 'updatedAt', +]; import { listListingVarientsRouteHandler, getListingVarientRouteHandler, @@ -44,39 +53,77 @@ import { unpublishListingVarientRouteHandler, searchListingVarientsRouteHandler, getListingVarientPropertyValuesRouteHandler, - - getListingVarientNeighborsRouteHandler + getListingVarientNeighborsRouteHandler, } from '../../services/sales/listingvarients.js'; router.get('/', isAuthenticated, checkPermissions('listingVarient', 'list'), async (req, res) => { 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(sortProperty, listAllowedSorters), sortOrder); + const filter = await getFilter(req.query, listAllowedFilters); + listListingVarientsRouteHandler( + req, + res, + page, + limit, + property, + filter, + search, + getSort(sortProperty, listAllowedSorters), + sortOrder + ); }); -router.get('/properties', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => { - let properties = convertPropertiesString(req.query.properties); - const filter = await getFilter(req.query, propertiesAllowedFilters, false); - var masterFilter = {}; - if (req.query.masterFilter) { - masterFilter = JSON.parse(req.query.masterFilter); +router.get( + '/properties', + checkPermissions('listingVarient', 'list'), + isAuthenticated, + async (req, res) => { + let properties = convertPropertiesString(req.query.properties); + const filter = await getFilter(req.query, propertiesAllowedFilters, false); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = JSON.parse(req.query.masterFilter); + } + listListingVarientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); } - listListingVarientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); -}); +); -router.get('/values', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getListingVarientPropertyValuesRouteHandler(req, res, property); -}); -router.get('/search', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => { - const { search } = req.query; - searchListingVarientsRouteHandler(req, res, search); -}); +router.get( + '/values', + checkPermissions('listingVarient', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true, listingVarientModel); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true, + listingVarientModel + ); + } + getListingVarientPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); +router.get( + '/search', + checkPermissions('listingVarient', 'list'), + isAuthenticated, + async (req, res) => { + const { search } = req.query; + searchListingVarientsRouteHandler(req, res, search); + } +); - -router.post('/', isAuthenticated, checkPermissions('listing', 'newListingVarient'), async (req, res) => { - newListingVarientRouteHandler(req, res); -}); +router.post( + '/', + isAuthenticated, + checkPermissions('listing', 'newListingVarient'), + async (req, res) => { + newListingVarientRouteHandler(req, res); + } +); router.get('/stats', isAuthenticated, async (req, res) => { getListingVarientStatsRouteHandler(req, res); @@ -86,27 +133,56 @@ router.get('/history', isAuthenticated, async (req, res) => { getListingVarientHistoryRouteHandler(req, res); }); -router.post('/:id/publish', isAuthenticated, checkPermissions('listingVarient', 'publish'), async (req, res) => { - publishListingVarientRouteHandler(req, res); -}); +router.post( + '/:id/publish', + isAuthenticated, + checkPermissions('listingVarient', 'publish'), + async (req, res) => { + publishListingVarientRouteHandler(req, res); + } +); -router.post('/:id/unpublish', isAuthenticated, checkPermissions('listingVarient', 'unpublish'), async (req, res) => { - unpublishListingVarientRouteHandler(req, res); -}); +router.post( + '/:id/unpublish', + isAuthenticated, + checkPermissions('listingVarient', 'unpublish'), + async (req, res) => { + unpublishListingVarientRouteHandler(req, res); + } +); router.get('/neighbors', isAuthenticated, async (req, res) => { const { property, search, sortProperty, sortOrder, id } = req.query; const filter = await getFilter(req.query, listAllowedFilters); - getListingVarientNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id); + getListingVarientNeighborsRouteHandler( + req, + res, + property, + filter, + search, + getSort(sortProperty, listAllowedSorters), + sortOrder, + id + ); }); -router.get('/:id', isAuthenticated, checkPermissions('listingVarient', 'info'), async (req, res) => { - getListingVarientRouteHandler(req, res); -}); +router.get( + '/:id', + isAuthenticated, + checkPermissions('listingVarient', 'info'), + async (req, res) => { + getListingVarientRouteHandler(req, res); + } +); -router.put('/:id', isAuthenticated, checkPermissions('listingVarient', 'edit'), async (req, res) => { - editListingVarientRouteHandler(req, res); -}); +router.put( + '/:id', + isAuthenticated, + checkPermissions('listingVarient', 'edit'), + async (req, res) => { + editListingVarientRouteHandler(req, res); + } +); router.delete('/:id', isAuthenticated, async (req, res) => { deleteListingVarientRouteHandler(req, res); diff --git a/src/routes/sales/marketplaces.js b/src/routes/sales/marketplaces.js index 8e6cdbd..907e63e 100644 --- a/src/routes/sales/marketplaces.js +++ b/src/routes/sales/marketplaces.js @@ -101,7 +101,16 @@ router.get( isAuthenticated, async (req, res) => { const { property } = req.query; - getMarketplacePropertyValuesRouteHandler(req, res, property); + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getMarketplacePropertyValuesRouteHandler(req, res, property, filter, masterFilter); } ); router.get( diff --git a/src/routes/sales/returnpolicies.js b/src/routes/sales/returnpolicies.js index 2256953..5483880 100644 --- a/src/routes/sales/returnpolicies.js +++ b/src/routes/sales/returnpolicies.js @@ -81,7 +81,17 @@ router.get( checkPermissions('returnPolicy', 'list'), isAuthenticated, async (req, res) => { - getReturnPolicyPropertyValuesRouteHandler(req, res, req.query.property); + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getReturnPolicyPropertyValuesRouteHandler(req, res, property, filter, masterFilter); } ); diff --git a/src/routes/sales/salesorders.js b/src/routes/sales/salesorders.js index 4ffdd02..6fdbd2a 100644 --- a/src/routes/sales/salesorders.js +++ b/src/routes/sales/salesorders.js @@ -51,10 +51,24 @@ router.get('/properties', checkPermissions('salesOrder', 'list'), isAuthenticate listSalesOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); }); -router.get('/values', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => { - const { property } = req.query; - getSalesOrderPropertyValuesRouteHandler(req, res, property); -}); +router.get( + '/values', + checkPermissions('salesOrder', 'list'), + isAuthenticated, + async (req, res) => { + const { property } = req.query; + const filter = await getFilter(req.query, listAllowedFilters, true); + var masterFilter = {}; + if (req.query.masterFilter) { + masterFilter = await getFilter( + JSON.parse(req.query.masterFilter), + listAllowedFilters, + true + ); + } + getSalesOrderPropertyValuesRouteHandler(req, res, property, filter, masterFilter); + } +); router.get('/search', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => { const { search } = req.query; searchSalesOrdersRouteHandler(req, res, search); diff --git a/src/services/finance/invoices.js b/src/services/finance/invoices.js index 6de7203..2a650f6 100644 --- a/src/services/finance/invoices.js +++ b/src/services/finance/invoices.js @@ -95,10 +95,17 @@ export const listInvoicesByPropertiesRouteHandler = async ( res.send(result); }; -export const getInvoicePropertyValuesRouteHandler = async (req, res, property) => { +export const getInvoicePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: invoiceModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/finance/paymentpolicies.js b/src/services/finance/paymentpolicies.js index 11cc2da..d2d7df7 100644 --- a/src/services/finance/paymentpolicies.js +++ b/src/services/finance/paymentpolicies.js @@ -89,10 +89,17 @@ export const listPaymentPoliciesByPropertiesRouteHandler = async ( res.send(result); }; -export const getPaymentPolicyPropertyValuesRouteHandler = async (req, res, property) => { +export const getPaymentPolicyPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: paymentPolicyModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/finance/payments.js b/src/services/finance/payments.js index 8782c36..1cc78cd 100644 --- a/src/services/finance/payments.js +++ b/src/services/finance/payments.js @@ -84,10 +84,17 @@ export const listPaymentsByPropertiesRouteHandler = async ( res.send(result); }; -export const getPaymentPropertyValuesRouteHandler = async (req, res, property) => { +export const getPaymentPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: paymentModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/finance/taxrecords.js b/src/services/finance/taxrecords.js index 8f06e66..c58b923 100644 --- a/src/services/finance/taxrecords.js +++ b/src/services/finance/taxrecords.js @@ -74,10 +74,17 @@ export const listTaxRecordsByPropertiesRouteHandler = async ( res.send(result); }; -export const getTaxRecordPropertyValuesRouteHandler = async (req, res, property) => { +export const getTaxRecordPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: taxRecordModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/filamentstocks.js b/src/services/inventory/filamentstocks.js index c405472..162eacd 100644 --- a/src/services/inventory/filamentstocks.js +++ b/src/services/inventory/filamentstocks.js @@ -82,10 +82,17 @@ export const listFilamentStocksByPropertiesRouteHandler = async ( res.send(result); }; -export const getFilamentStockPropertyValuesRouteHandler = async (req, res, property) => { +export const getFilamentStockPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: filamentStockModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/orderitems.js b/src/services/inventory/orderitems.js index 5c0e556..39981cb 100644 --- a/src/services/inventory/orderitems.js +++ b/src/services/inventory/orderitems.js @@ -173,10 +173,17 @@ export const listOrderItemsByPropertiesRouteHandler = async ( res.send(result); }; -export const getOrderItemPropertyValuesRouteHandler = async (req, res, property) => { +export const getOrderItemPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: orderItemModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/partstocks.js b/src/services/inventory/partstocks.js index 816c49f..fa0e09f 100644 --- a/src/services/inventory/partstocks.js +++ b/src/services/inventory/partstocks.js @@ -85,10 +85,17 @@ export const listPartStocksByPropertiesRouteHandler = async ( res.send(result); }; -export const getPartStockPropertyValuesRouteHandler = async (req, res, property) => { +export const getPartStockPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: partStockModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/productstocks.js b/src/services/inventory/productstocks.js index f37dcc0..8010cfb 100644 --- a/src/services/inventory/productstocks.js +++ b/src/services/inventory/productstocks.js @@ -144,10 +144,17 @@ export const listProductStocksByPropertiesRouteHandler = async ( res.send(result); }; -export const getProductStockPropertyValuesRouteHandler = async (req, res, property) => { +export const getProductStockPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: productStockModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/purchaseorders.js b/src/services/inventory/purchaseorders.js index 8c60191..ff923f2 100644 --- a/src/services/inventory/purchaseorders.js +++ b/src/services/inventory/purchaseorders.js @@ -81,10 +81,17 @@ export const listPurchaseOrdersByPropertiesRouteHandler = async ( res.send(result); }; -export const getPurchaseOrderPropertyValuesRouteHandler = async (req, res, property) => { +export const getPurchaseOrderPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: purchaseOrderModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/shipments.js b/src/services/inventory/shipments.js index 1cf2a3e..049710d 100644 --- a/src/services/inventory/shipments.js +++ b/src/services/inventory/shipments.js @@ -82,10 +82,17 @@ export const listShipmentsByPropertiesRouteHandler = async ( res.send(result); }; -export const getShipmentPropertyValuesRouteHandler = async (req, res, property) => { +export const getShipmentPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: shipmentModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/stockevents.js b/src/services/inventory/stockevents.js index 0c403fb..0b97d4d 100644 --- a/src/services/inventory/stockevents.js +++ b/src/services/inventory/stockevents.js @@ -79,10 +79,17 @@ export const listStockEventsByPropertiesRouteHandler = async ( res.send(result); }; -export const getStockEventPropertyValuesRouteHandler = async (req, res, property) => { +export const getStockEventPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: stockEventModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/stocklocations.js b/src/services/inventory/stocklocations.js index ff90d06..12ccf72 100644 --- a/src/services/inventory/stocklocations.js +++ b/src/services/inventory/stocklocations.js @@ -76,10 +76,17 @@ export const listStockLocationsByPropertiesRouteHandler = async ( res.send(result); }; -export const getStockLocationPropertyValuesRouteHandler = async (req, res, property) => { +export const getStockLocationPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: stockLocationModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/inventory/stocktransfers.js b/src/services/inventory/stocktransfers.js index 9ac0017..97fdf7e 100644 --- a/src/services/inventory/stocktransfers.js +++ b/src/services/inventory/stocktransfers.js @@ -281,10 +281,17 @@ export const listStockTransfersByPropertiesRouteHandler = async ( res.send(result); }; -export const getStockTransferPropertyValuesRouteHandler = async (req, res, property) => { +export const getStockTransferPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: stockTransferModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/apppasswords.js b/src/services/management/apppasswords.js index 1ea413a..cf8e9b9 100644 --- a/src/services/management/apppasswords.js +++ b/src/services/management/apppasswords.js @@ -82,10 +82,17 @@ export const listAppPasswordsByPropertiesRouteHandler = async ( res.send(result); }; -export const getAppPasswordPropertyValuesRouteHandler = async (req, res, property) => { +export const getAppPasswordPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: appPasswordModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/courier.js b/src/services/management/courier.js index 0ffa852..0531264 100644 --- a/src/services/management/courier.js +++ b/src/services/management/courier.js @@ -74,10 +74,17 @@ export const listCouriersByPropertiesRouteHandler = async ( res.send(result); }; -export const getCourierPropertyValuesRouteHandler = async (req, res, property) => { +export const getCourierPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: courierModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/courierservice.js b/src/services/management/courierservice.js index 1a82db6..61dc8b6 100644 --- a/src/services/management/courierservice.js +++ b/src/services/management/courierservice.js @@ -78,10 +78,17 @@ export const listCourierServicesByPropertiesRouteHandler = async ( res.send(result); }; -export const getCourierServicePropertyValuesRouteHandler = async (req, res, property) => { +export const getCourierServicePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: courierServiceModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/documentjobs.js b/src/services/management/documentjobs.js index 39b8bb6..0f99a95 100644 --- a/src/services/management/documentjobs.js +++ b/src/services/management/documentjobs.js @@ -75,10 +75,17 @@ export const listDocumentJobsByPropertiesRouteHandler = async ( res.send(result); }; -export const getDocumentJobPropertyValuesRouteHandler = async (req, res, property) => { +export const getDocumentJobPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: documentJobModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/documentprinters.js b/src/services/management/documentprinters.js index f5fd42f..9146b5f 100644 --- a/src/services/management/documentprinters.js +++ b/src/services/management/documentprinters.js @@ -78,10 +78,17 @@ export const listDocumentPrintersByPropertiesRouteHandler = async ( res.send(result); }; -export const getDocumentPrinterPropertyValuesRouteHandler = async (req, res, property) => { +export const getDocumentPrinterPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: documentPrinterModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/documentsizes.js b/src/services/management/documentsizes.js index 9e8868b..d0bda34 100644 --- a/src/services/management/documentsizes.js +++ b/src/services/management/documentsizes.js @@ -74,10 +74,17 @@ export const listDocumentSizesByPropertiesRouteHandler = async ( res.send(result); }; -export const getDocumentSizePropertyValuesRouteHandler = async (req, res, property) => { +export const getDocumentSizePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: documentSizeModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/documenttemplates.js b/src/services/management/documenttemplates.js index a680920..0fecd93 100644 --- a/src/services/management/documenttemplates.js +++ b/src/services/management/documenttemplates.js @@ -112,10 +112,17 @@ export const listDocumentTemplatesByPropertiesRouteHandler = async ( res.send(result); }; -export const getDocumentTemplatePropertyValuesRouteHandler = async (req, res, property) => { +export const getDocumentTemplatePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: documentTemplateModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/filaments.js b/src/services/management/filaments.js index bc50739..0d95e48 100644 --- a/src/services/management/filaments.js +++ b/src/services/management/filaments.js @@ -78,10 +78,17 @@ export const listFilamentsByPropertiesRouteHandler = async ( res.send(result); }; -export const getFilamentPropertyValuesRouteHandler = async (req, res, property) => { +export const getFilamentPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: filamentModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/filamentskus.js b/src/services/management/filamentskus.js index 396dc31..eaf9b24 100644 --- a/src/services/management/filamentskus.js +++ b/src/services/management/filamentskus.js @@ -76,10 +76,17 @@ export const listFilamentSkusByPropertiesRouteHandler = async ( res.send(result); }; -export const getFilamentSkuPropertyValuesRouteHandler = async (req, res, property) => { +export const getFilamentSkuPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: filamentSkuModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/files.js b/src/services/management/files.js index f2ffce2..782307f 100644 --- a/src/services/management/files.js +++ b/src/services/management/files.js @@ -111,10 +111,17 @@ export const listFilesByPropertiesRouteHandler = async ( res.send(result); }; -export const getFilePropertyValuesRouteHandler = async (req, res, property) => { +export const getFilePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: fileModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/hosts.js b/src/services/management/hosts.js index 046383a..4b378a8 100644 --- a/src/services/management/hosts.js +++ b/src/services/management/hosts.js @@ -74,10 +74,17 @@ export const listHostsByPropertiesRouteHandler = async ( res.send(result); }; -export const getHostPropertyValuesRouteHandler = async (req, res, property) => { +export const getHostPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: hostModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/materials.js b/src/services/management/materials.js index 1ad3d99..85f6729 100644 --- a/src/services/management/materials.js +++ b/src/services/management/materials.js @@ -76,10 +76,17 @@ export const listMaterialsByPropertiesRouteHandler = async ( res.send(result); }; -export const getMaterialPropertyValuesRouteHandler = async (req, res, property) => { +export const getMaterialPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: materialModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/notetypes.js b/src/services/management/notetypes.js index 77dc5c3..f59ba4f 100644 --- a/src/services/management/notetypes.js +++ b/src/services/management/notetypes.js @@ -74,10 +74,17 @@ export const listNoteTypesByPropertiesRouteHandler = async ( res.send(result); }; -export const getNoteTypePropertyValuesRouteHandler = async (req, res, property) => { +export const getNoteTypePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: noteTypeModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/parts.js b/src/services/management/parts.js index 1ece91f..429c97b 100644 --- a/src/services/management/parts.js +++ b/src/services/management/parts.js @@ -76,10 +76,17 @@ export const listPartsByPropertiesRouteHandler = async ( res.send(result); }; -export const getPartPropertyValuesRouteHandler = async (req, res, property) => { +export const getPartPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: partModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/partskus.js b/src/services/management/partskus.js index 03b06df..30ac0e4 100644 --- a/src/services/management/partskus.js +++ b/src/services/management/partskus.js @@ -82,10 +82,17 @@ export const listPartSkusByPropertiesRouteHandler = async ( res.send(result); }; -export const getPartSkuPropertyValuesRouteHandler = async (req, res, property) => { +export const getPartSkuPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: partSkuModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/permissionsetting.js b/src/services/management/permissionsetting.js index 83ad134..524d6f4 100644 --- a/src/services/management/permissionsetting.js +++ b/src/services/management/permissionsetting.js @@ -77,10 +77,17 @@ export const listPermissionSettingsByPropertiesRouteHandler = async ( res.send(result); }; -export const getPermissionSettingsPropertyValuesRouteHandler = async (req, res, property) => { +export const getPermissionSettingsPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: permissionSettingModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/productcategories.js b/src/services/management/productcategories.js index edcffae..6eb68be 100644 --- a/src/services/management/productcategories.js +++ b/src/services/management/productcategories.js @@ -79,10 +79,17 @@ export const listProductCategoriesByPropertiesRouteHandler = async ( res.send(result); }; -export const getProductCategoryPropertyValuesRouteHandler = async (req, res, property) => { +export const getProductCategoryPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: productCategoryModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/products.js b/src/services/management/products.js index 6a054cd..d574bc1 100644 --- a/src/services/management/products.js +++ b/src/services/management/products.js @@ -76,10 +76,17 @@ export const listProductsByPropertiesRouteHandler = async ( res.send(result); }; -export const getProductPropertyValuesRouteHandler = async (req, res, property) => { +export const getProductPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: productModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/productskus.js b/src/services/management/productskus.js index 5b5e584..7c0d3cc 100644 --- a/src/services/management/productskus.js +++ b/src/services/management/productskus.js @@ -85,10 +85,17 @@ export const listProductSkusByPropertiesRouteHandler = async ( res.send(result); }; -export const getProductSkuPropertyValuesRouteHandler = async (req, res, property) => { +export const getProductSkuPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: productSkuModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/taxrates.js b/src/services/management/taxrates.js index 69e7a69..1257392 100644 --- a/src/services/management/taxrates.js +++ b/src/services/management/taxrates.js @@ -80,10 +80,17 @@ export const listTaxRatesByPropertiesRouteHandler = async ( res.send(result); }; -export const getTaxRatePropertyValuesRouteHandler = async (req, res, property) => { +export const getTaxRatePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: taxRateModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/usergroups.js b/src/services/management/usergroups.js index 7edafb5..dd63a92 100644 --- a/src/services/management/usergroups.js +++ b/src/services/management/usergroups.js @@ -83,10 +83,17 @@ export const listUserGroupsByPropertiesRouteHandler = async ( res.send(result); }; -export const getUserGroupPropertyValuesRouteHandler = async (req, res, property) => { +export const getUserGroupPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: userGroupModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/users.js b/src/services/management/users.js index 72c8c6a..12630e9 100644 --- a/src/services/management/users.js +++ b/src/services/management/users.js @@ -78,10 +78,17 @@ export const listUsersByPropertiesRouteHandler = async ( res.send(result); }; -export const getUserPropertyValuesRouteHandler = async (req, res, property) => { +export const getUserPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: userModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/management/vendors.js b/src/services/management/vendors.js index e45b3d5..cf3ed3c 100644 --- a/src/services/management/vendors.js +++ b/src/services/management/vendors.js @@ -74,10 +74,17 @@ export const listVendorsByPropertiesRouteHandler = async ( res.send(result); }; -export const getVendorPropertyValuesRouteHandler = async (req, res, property) => { +export const getVendorPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: vendorModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/filamentprofiles.js b/src/services/production/filamentprofiles.js index be19b59..6f8d109 100644 --- a/src/services/production/filamentprofiles.js +++ b/src/services/production/filamentprofiles.js @@ -225,10 +225,17 @@ export const listFilamentProfilesByPropertiesRouteHandler = async ( res.send(result); }; -export const getFilamentProfilePropertyValuesRouteHandler = async (req, res, property) => { +export const getFilamentProfilePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: filamentProfileModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/gcodefiles.js b/src/services/production/gcodefiles.js index 6f146d2..dc770e8 100644 --- a/src/services/production/gcodefiles.js +++ b/src/services/production/gcodefiles.js @@ -76,10 +76,17 @@ export const listGCodeFilesByPropertiesRouteHandler = async ( res.send(result); }; -export const getGCodeFilePropertyValuesRouteHandler = async (req, res, property) => { +export const getGCodeFilePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: gcodeFileModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/jobs.js b/src/services/production/jobs.js index 0de8493..ccd2154 100644 --- a/src/services/production/jobs.js +++ b/src/services/production/jobs.js @@ -76,11 +76,17 @@ export const listJobsByPropertiesRouteHandler = async ( res.send(result); }; -export const getJobPropertyValuesRouteHandler = async (req, res, property, filter = {}) => { +export const getJobPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: jobModel, property, - filter, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/printerprofiles.js b/src/services/production/printerprofiles.js index 6c7b4b4..9447835 100644 --- a/src/services/production/printerprofiles.js +++ b/src/services/production/printerprofiles.js @@ -113,10 +113,17 @@ export const listPrinterProfilesByPropertiesRouteHandler = async ( res.send(result); }; -export const getPrinterProfilePropertyValuesRouteHandler = async (req, res, property) => { +export const getPrinterProfilePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: printerProfileModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/printers.js b/src/services/production/printers.js index 926f38e..4f22ec8 100644 --- a/src/services/production/printers.js +++ b/src/services/production/printers.js @@ -77,10 +77,17 @@ export const listPrintersByPropertiesRouteHandler = async ( res.send(result); }; -export const getPrinterPropertyValuesRouteHandler = async (req, res, property) => { +export const getPrinterPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: printerModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/production/subjobs.js b/src/services/production/subjobs.js index a9825b5..f6a04a3 100644 --- a/src/services/production/subjobs.js +++ b/src/services/production/subjobs.js @@ -71,10 +71,17 @@ export const listSubJobsByPropertiesRouteHandler = async ( res.send(result); }; -export const getSubJobPropertyValuesRouteHandler = async (req, res, property) => { +export const getSubJobPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: subJobModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/clients.js b/src/services/sales/clients.js index e98ec6b..af742ab 100644 --- a/src/services/sales/clients.js +++ b/src/services/sales/clients.js @@ -74,10 +74,17 @@ export const listClientsByPropertiesRouteHandler = async ( res.send(result); }; -export const getClientPropertyValuesRouteHandler = async (req, res, property) => { +export const getClientPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: clientModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/fulfillmentpolicies.js b/src/services/sales/fulfillmentpolicies.js index 13b81c3..e36586f 100644 --- a/src/services/sales/fulfillmentpolicies.js +++ b/src/services/sales/fulfillmentpolicies.js @@ -95,10 +95,17 @@ export const listFulfillmentPoliciesByPropertiesRouteHandler = async ( res.send(result); }; -export const getFulfillmentPolicyPropertyValuesRouteHandler = async (req, res, property) => { +export const getFulfillmentPolicyPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: fulfillmentPolicyModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/listings.js b/src/services/sales/listings.js index ed62471..1418765 100644 --- a/src/services/sales/listings.js +++ b/src/services/sales/listings.js @@ -144,10 +144,17 @@ export const listListingsByPropertiesRouteHandler = async ( res.send(result); }; -export const getListingPropertyValuesRouteHandler = async (req, res, property) => { +export const getListingPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: listingModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/listingvarients.js b/src/services/sales/listingvarients.js index 424b747..fda69dc 100644 --- a/src/services/sales/listingvarients.js +++ b/src/services/sales/listingvarients.js @@ -45,13 +45,7 @@ function pushListingToMarketplace(listingId, marketplaceId, user) { run(); } -const POPULATE_FIELDS = [ - 'listing', - 'product', - 'productSku', - 'priceTaxRate', - 'listingImages', -]; +const POPULATE_FIELDS = ['listing', 'product', 'productSku', 'priceTaxRate', 'listingImages']; export const listListingVarientsRouteHandler = async ( req, @@ -111,10 +105,17 @@ export const listListingVarientsByPropertiesRouteHandler = async ( res.send(result); }; -export const getListingVarientPropertyValuesRouteHandler = async (req, res, property) => { +export const getListingVarientPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: listingVarientModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/marketplaces.js b/src/services/sales/marketplaces.js index 217711a..4ad39a1 100644 --- a/src/services/sales/marketplaces.js +++ b/src/services/sales/marketplaces.js @@ -84,10 +84,17 @@ export const listMarketplacesByPropertiesRouteHandler = async ( res.send(result); }; -export const getMarketplacePropertyValuesRouteHandler = async (req, res, property) => { +export const getMarketplacePropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: marketplaceModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/returnpolicies.js b/src/services/sales/returnpolicies.js index 3547ce3..ccc6171 100644 --- a/src/services/sales/returnpolicies.js +++ b/src/services/sales/returnpolicies.js @@ -96,10 +96,17 @@ export const listReturnPoliciesByPropertiesRouteHandler = async ( res.send(result); }; -export const getReturnPolicyPropertyValuesRouteHandler = async (req, res, property) => { +export const getReturnPolicyPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: returnPolicyModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/services/sales/salesorders.js b/src/services/sales/salesorders.js index e10c2fd..8a3e2bf 100644 --- a/src/services/sales/salesorders.js +++ b/src/services/sales/salesorders.js @@ -81,10 +81,17 @@ export const listSalesOrdersByPropertiesRouteHandler = async ( res.send(result); }; -export const getSalesOrderPropertyValuesRouteHandler = async (req, res, property) => { +export const getSalesOrderPropertyValuesRouteHandler = async ( + req, + res, + property, + filter, + masterFilter +) => { const result = await getPropertyValues({ model: salesOrderModel, property, + filter: { ...filter, ...masterFilter }, }); res.send(result); }; diff --git a/src/utils.js b/src/utils.js index 19a4df7..d28ac31 100644 --- a/src/utils.js +++ b/src/utils.js @@ -708,7 +708,6 @@ async function resolveRefLeaf(rawToken, fallbackRefName) { return resolveRefOperand(lookupToken.slice(symbol.length), refModelEntry, name); } } - const objectId = extractObjectIdFromOperand(lookupToken); if (objectId) return { value: objectId }; @@ -740,6 +739,10 @@ async function parseFilter(property, value, model = null) { property = 'state.type'; } + console.log('property', property); + console.log('value', value); + console.log('model', model); + const fieldKind = getFilterFieldKind(property, model); const filterProperty = fieldKind.property; const isBoolField = isBooleanField(property, model); @@ -1673,6 +1676,10 @@ function normalizeFilterQuery(query = {}) { // Returns a filter object based on allowed filters and req.query async function getFilter(query, allowedFilters, parse = true, model = null) { const clauses = []; + console.log('query', query); + console.log('allowedFilters', allowedFilters); + console.log('parse', parse); + console.log('model', model); const queryClean = normalizeFilterQuery(query); for (const key of ['sortProperty', 'sortOrder', 'page', 'limit']) { if (key in queryClean) delete queryClean[key];