Refactor allowedFilters in inventory and management routes to improve consistency and readability. Cleaned up whitespace and ensured all filters are properly formatted for better query handling across purchase orders, shipments, and filament SKUs.
Some checks failed
farmcontrol/farmcontrol-api/pipeline/head There was a failure building this commit

This commit is contained in:
Tom Butcher 2026-08-01 18:25:59 +01:00
parent c0112d61fb
commit f69c88926c
4 changed files with 74 additions and 83 deletions

View File

@ -17,7 +17,7 @@ const listAllowedFilters = [
'grandTotalAmount', 'grandTotalAmount',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
'_reference' '_reference',
]; ];
const propertiesAllowedFilters = [ const propertiesAllowedFilters = [
'vendor', 'vendor',
@ -46,8 +46,7 @@ import {
cancelPurchaseOrderRouteHandler, cancelPurchaseOrderRouteHandler,
searchPurchaseOrdersRouteHandler, searchPurchaseOrdersRouteHandler,
getPurchaseOrderPropertyValuesRouteHandler, getPurchaseOrderPropertyValuesRouteHandler,
getPurchaseOrderNeighborsRouteHandler,
getPurchaseOrderNeighborsRouteHandler
} from '../../services/inventory/purchaseorders.js'; } from '../../services/inventory/purchaseorders.js';
// list of purchase orders // list of purchase orders
@ -62,7 +61,7 @@ router.get('/properties', isAuthenticated, (req, res) => {
const filter = getFilter(req.query, propertiesAllowedFilters, false); const filter = getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = getFilter(JSON.parse(req.query.masterFilter), allowedFilters, true); masterFilter = getFilter(JSON.parse(req.query.masterFilter), propertiesAllowedFilters, true);
} }
listPurchaseOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPurchaseOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
@ -76,7 +75,6 @@ router.get('/search', isAuthenticated, (req, res) => {
searchPurchaseOrdersRouteHandler(req, res, search); searchPurchaseOrdersRouteHandler(req, res, search);
}); });
router.post('/', isAuthenticated, (req, res) => { router.post('/', isAuthenticated, (req, res) => {
newPurchaseOrderRouteHandler(req, res); newPurchaseOrderRouteHandler(req, res);
}); });

View File

@ -13,7 +13,7 @@ const listAllowedFilters = [
'taxRate', 'taxRate',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
'_reference' '_reference',
]; ];
const propertiesAllowedFilters = [ const propertiesAllowedFilters = [
'orderType', 'orderType',
@ -38,8 +38,7 @@ import {
cancelShipmentRouteHandler, cancelShipmentRouteHandler,
searchShipmentsRouteHandler, searchShipmentsRouteHandler,
getShipmentPropertyValuesRouteHandler, getShipmentPropertyValuesRouteHandler,
getShipmentNeighborsRouteHandler,
getShipmentNeighborsRouteHandler
} from '../../services/inventory/shipments.js'; } from '../../services/inventory/shipments.js';
// list of shipments // list of shipments
@ -54,7 +53,7 @@ router.get('/properties', isAuthenticated, (req, res) => {
const filter = getFilter(req.query, propertiesAllowedFilters, false); const filter = getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = getFilter(JSON.parse(req.query.masterFilter), allowedFilters, true); masterFilter = getFilter(JSON.parse(req.query.masterFilter), propertiesAllowedFilters, true);
} }
listShipmentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listShipmentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
@ -68,7 +67,6 @@ router.get('/search', isAuthenticated, (req, res) => {
searchShipmentsRouteHandler(req, res, search); searchShipmentsRouteHandler(req, res, search);
}); });
router.post('/', isAuthenticated, (req, res) => { router.post('/', isAuthenticated, (req, res) => {
newShipmentRouteHandler(req, res); newShipmentRouteHandler(req, res);
}); });

View File

@ -15,9 +15,9 @@ const listAllowedFilters = [
'costWithTax', 'costWithTax',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
'_reference' '_reference',
]; ];
const propertiesAllowedFilters = ['filament', 'filament._id']; const propertiesAllowedFilters = ['filament', 'filament._id', 'diameter'];
import { import {
listFilamentSkusRouteHandler, listFilamentSkusRouteHandler,
getFilamentSkuRouteHandler, getFilamentSkuRouteHandler,
@ -29,8 +29,7 @@ import {
getFilamentSkuHistoryRouteHandler, getFilamentSkuHistoryRouteHandler,
searchFilamentSkusRouteHandler, searchFilamentSkusRouteHandler,
getFilamentSkuPropertyValuesRouteHandler, getFilamentSkuPropertyValuesRouteHandler,
getFilamentSkuNeighborsRouteHandler,
getFilamentSkuNeighborsRouteHandler
} from '../../services/management/filamentskus.js'; } from '../../services/management/filamentskus.js';
router.get('/', isAuthenticated, (req, res) => { router.get('/', isAuthenticated, (req, res) => {
@ -58,7 +57,6 @@ router.get('/search', isAuthenticated, (req, res) => {
searchFilamentSkusRouteHandler(req, res, search); searchFilamentSkusRouteHandler(req, res, search);
}); });
router.post('/', isAuthenticated, (req, res) => { router.post('/', isAuthenticated, (req, res) => {
newFilamentSkuRouteHandler(req, res); newFilamentSkuRouteHandler(req, res);
}); });

View File

@ -11,7 +11,7 @@ const listAllowedFilters = [
'client._id', 'client._id',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
'_reference' '_reference',
]; ];
const propertiesAllowedFilters = ['client', 'state.type', 'value', 'client._id']; const propertiesAllowedFilters = ['client', 'state.type', 'value', 'client._id'];
import { import {
@ -29,8 +29,7 @@ import {
cancelSalesOrderRouteHandler, cancelSalesOrderRouteHandler,
searchSalesOrdersRouteHandler, searchSalesOrdersRouteHandler,
getSalesOrderPropertyValuesRouteHandler, getSalesOrderPropertyValuesRouteHandler,
getSalesOrderNeighborsRouteHandler,
getSalesOrderNeighborsRouteHandler
} from '../../services/sales/salesorders.js'; } from '../../services/sales/salesorders.js';
// list of sales orders // list of sales orders
@ -45,7 +44,7 @@ router.get('/properties', isAuthenticated, (req, res) => {
const filter = getFilter(req.query, propertiesAllowedFilters, false); const filter = getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = getFilter(JSON.parse(req.query.masterFilter), allowedFilters, true); masterFilter = getFilter(JSON.parse(req.query.masterFilter), propertiesAllowedFilters, true);
} }
listSalesOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listSalesOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
@ -59,7 +58,6 @@ router.get('/search', isAuthenticated, (req, res) => {
searchSalesOrdersRouteHandler(req, res, search); searchSalesOrdersRouteHandler(req, res, search);
}); });
router.post('/', isAuthenticated, (req, res) => { router.post('/', isAuthenticated, (req, res) => {
newSalesOrderRouteHandler(req, res); newSalesOrderRouteHandler(req, res);
}); });
@ -110,4 +108,3 @@ router.post('/:id/cancel', isAuthenticated, async (req, res) => {
}); });
export default router; export default router;