Enhance route permission checks across management and inventory modules
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good

This commit updates various route handlers in the management and inventory modules to include permission checks using the `checkPermissions` middleware. The changes ensure that access to properties, values, and search functionalities for different entities (e.g., users, products, tax rates) is properly restricted based on user permissions. This enhancement improves the security and integrity of the application by enforcing role-based access control across multiple routes.
This commit is contained in:
Tom Butcher 2026-08-20 20:15:07 +01:00
parent bce5afad7e
commit e8c9a307ab
48 changed files with 141 additions and 140 deletions

View File

@ -64,7 +64,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('invoice', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -74,11 +74,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listInvoicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listInvoicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('invoice', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getInvoicePropertyValuesRouteHandler(req, res, property); getInvoicePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('invoice', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchInvoicesRouteHandler(req, res, search); searchInvoicesRouteHandler(req, res, search);
}); });

View File

@ -55,7 +55,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPaymentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPaymentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -65,11 +65,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPaymentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPaymentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPaymentPropertyValuesRouteHandler(req, res, property); getPaymentPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('payment', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPaymentsRouteHandler(req, res, search); searchPaymentsRouteHandler(req, res, search);
}); });

View File

@ -40,7 +40,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listTaxRecordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listTaxRecordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -50,11 +50,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listTaxRecordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listTaxRecordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getTaxRecordPropertyValuesRouteHandler(req, res, property); getTaxRecordPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('taxRecord', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchTaxRecordsRouteHandler(req, res, search); searchTaxRecordsRouteHandler(req, res, search);
}); });

View File

@ -50,7 +50,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listFilamentStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listFilamentStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -60,11 +60,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listFilamentStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listFilamentStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getFilamentStockPropertyValuesRouteHandler(req, res, property); getFilamentStockPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('filamentStock', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchFilamentStocksRouteHandler(req, res, search); searchFilamentStocksRouteHandler(req, res, search);
}); });

View File

@ -64,7 +64,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('orderItem', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -74,11 +74,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listOrderItemsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listOrderItemsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('orderItem', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getOrderItemPropertyValuesRouteHandler(req, res, property); getOrderItemPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('orderItem', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchOrderItemsRouteHandler(req, res, search); searchOrderItemsRouteHandler(req, res, search);
}); });

View File

@ -42,7 +42,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPartStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPartStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -52,11 +52,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPartStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPartStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPartStockPropertyValuesRouteHandler(req, res, property); getPartStockPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('partStock', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPartStocksRouteHandler(req, res, search); searchPartStocksRouteHandler(req, res, search);
}); });

View File

@ -41,7 +41,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listProductStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listProductStocksRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -51,11 +51,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listProductStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listProductStocksByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getProductStockPropertyValuesRouteHandler(req, res, property); getProductStockPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('productStock', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchProductStocksRouteHandler(req, res, search); searchProductStocksRouteHandler(req, res, search);
}); });

View File

@ -68,7 +68,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPurchaseOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPurchaseOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -78,11 +78,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPurchaseOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPurchaseOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPurchaseOrderPropertyValuesRouteHandler(req, res, property); getPurchaseOrderPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('purchaseOrder', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPurchaseOrdersRouteHandler(req, res, search); searchPurchaseOrdersRouteHandler(req, res, search);
}); });

View File

@ -69,7 +69,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('shipment', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -83,11 +83,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listShipmentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listShipmentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('shipment', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getShipmentPropertyValuesRouteHandler(req, res, property); getShipmentPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('shipment', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchShipmentsRouteHandler(req, res, search); searchShipmentsRouteHandler(req, res, search);
}); });

View File

@ -51,7 +51,7 @@ router.post('/', isAuthenticated, checkPermissions('stockAudit', 'new'), async (
}); });
// get stock audit stats // get stock audit stats
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('stockAudit', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchStockAuditsRouteHandler(req, res, search); searchStockAuditsRouteHandler(req, res, search);
}); });

View File

@ -31,7 +31,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listStockEventsRouteHandler(req, res, page, limit, filter, getSort(sort, listAllowedSorters), order); listStockEventsRouteHandler(req, res, page, limit, filter, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -41,11 +41,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listStockEventsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listStockEventsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getStockEventPropertyValuesRouteHandler(req, res, property); getStockEventPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('stockEvent', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchStockEventsRouteHandler(req, res, search); searchStockEventsRouteHandler(req, res, search);
}); });

View File

@ -30,7 +30,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listStockLocationsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listStockLocationsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -40,11 +40,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listStockLocationsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listStockLocationsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getStockLocationPropertyValuesRouteHandler(req, res, property); getStockLocationPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('stockLocation', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchStockLocationsRouteHandler(req, res, search); searchStockLocationsRouteHandler(req, res, search);
}); });

View File

@ -39,7 +39,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listStockTransfersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listStockTransfersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -49,11 +49,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listStockTransfersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listStockTransfersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getStockTransferPropertyValuesRouteHandler(req, res, property); getStockTransferPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('stockTransfer', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchStockTransfersRouteHandler(req, res, search); searchStockTransfersRouteHandler(req, res, search);
}); });

View File

@ -39,19 +39,19 @@ router.get('/', isAuthenticated, async (req, res) => {
listAppPasswordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listAppPasswordsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => {
const properties = convertPropertiesString(req.query.properties); const properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
const masterFilter = req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {}; const masterFilter = req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {};
listAppPasswordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listAppPasswordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getAppPasswordPropertyValuesRouteHandler(req, res, property); getAppPasswordPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('appPassword', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchAppPasswordsRouteHandler(req, res, search); searchAppPasswordsRouteHandler(req, res, search);
}); });

View File

@ -1,5 +1,6 @@
import express from 'express'; import express from 'express';
import { isAuthenticated } from '../../keycloak.js'; import { isAuthenticated } from '../../keycloak.js';
import { checkPermissions } from '../../database/permissions.js';
import { import {
listAuditLogsRouteHandler, listAuditLogsRouteHandler,
getAuditLogRouteHandler, getAuditLogRouteHandler,
@ -35,7 +36,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('auditLog', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchAuditLogsRouteHandler(req, res, search); searchAuditLogsRouteHandler(req, res, search);
}); });

View File

@ -40,7 +40,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listCouriersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listCouriersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -50,12 +50,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listCouriersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listCouriersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getCourierPropertyValuesRouteHandler(req, res, property); getCourierPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('courier', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchCouriersRouteHandler(req, res, search); searchCouriersRouteHandler(req, res, search);
}); });

View File

@ -64,7 +64,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listCourierServicesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listCourierServicesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -74,12 +74,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listCourierServicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listCourierServicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getCourierServicePropertyValuesRouteHandler(req, res, property); getCourierServicePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('courierService', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchCourierServicesRouteHandler(req, res, search); searchCourierServicesRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listDocumentJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listDocumentJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listDocumentJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listDocumentJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getDocumentJobPropertyValuesRouteHandler(req, res, property); getDocumentJobPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('documentJob', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchDocumentJobsRouteHandler(req, res, search); searchDocumentJobsRouteHandler(req, res, search);
}); });

View File

@ -39,7 +39,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listDocumentPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listDocumentPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -49,12 +49,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listDocumentPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listDocumentPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getDocumentPrinterPropertyValuesRouteHandler(req, res, property); getDocumentPrinterPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('documentPrinter', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchDocumentPrintersRouteHandler(req, res, search); searchDocumentPrintersRouteHandler(req, res, search);
}); });

View File

@ -30,7 +30,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listDocumentSizesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listDocumentSizesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -40,12 +40,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listDocumentSizesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listDocumentSizesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getDocumentSizePropertyValuesRouteHandler(req, res, property); getDocumentSizePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('documentSize', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchDocumentSizesRouteHandler(req, res, search); searchDocumentSizesRouteHandler(req, res, search);
}); });

View File

@ -54,7 +54,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listDocumentTemplatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listDocumentTemplatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -64,12 +64,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listDocumentTemplatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listDocumentTemplatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getDocumentTemplatePropertyValuesRouteHandler(req, res, property); getDocumentTemplatePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('documentTemplate', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchDocumentTemplatesRouteHandler(req, res, search); searchDocumentTemplatesRouteHandler(req, res, search);
}); });

View File

@ -60,7 +60,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listFilamentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listFilamentsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -70,12 +70,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listFilamentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listFilamentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getFilamentPropertyValuesRouteHandler(req, res, property); getFilamentPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('filament', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchFilamentsRouteHandler(req, res, search); searchFilamentsRouteHandler(req, res, search);
}); });

View File

@ -49,7 +49,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
let masterFilter = {}; let masterFilter = {};
@ -59,11 +59,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listFilamentSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listFilamentSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getFilamentSkuPropertyValuesRouteHandler(req, res, property); getFilamentSkuPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchFilamentSkusRouteHandler(req, res, search); searchFilamentSkusRouteHandler(req, res, search);
}); });

View File

@ -42,7 +42,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -52,12 +52,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getFilePropertyValuesRouteHandler(req, res, property); getFilePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('file', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchFilesRouteHandler(req, res, search); searchFilesRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listHostsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listHostsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listHostsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listHostsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getHostPropertyValuesRouteHandler(req, res, property); getHostPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('host', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchHostsRouteHandler(req, res, search); searchHostsRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listMaterialsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listMaterialsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listMaterialsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listMaterialsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getMaterialPropertyValuesRouteHandler(req, res, property); getMaterialPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('material', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchMaterialsRouteHandler(req, res, search); searchMaterialsRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listNoteTypesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listNoteTypesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,11 +48,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listNoteTypesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listNoteTypesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getNoteTypePropertyValuesRouteHandler(req, res, property); getNoteTypePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('noteType', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchNoteTypesRouteHandler(req, res, search); searchNoteTypesRouteHandler(req, res, search);
}); });

View File

@ -49,7 +49,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('part', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -59,12 +59,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPartsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPartsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('part', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPartPropertyValuesRouteHandler(req, res, property); getPartPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('part', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPartsRouteHandler(req, res, search); searchPartsRouteHandler(req, res, search);
}); });

View File

@ -50,7 +50,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPartSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPartSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
let masterFilter = {}; let masterFilter = {};
@ -60,11 +60,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPartSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPartSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPartSkuPropertyValuesRouteHandler(req, res, property); getPartSkuPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPartSkusRouteHandler(req, res, search); searchPartSkusRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('permissionSetting', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPermissionSettingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPermissionSettingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('permissionSetting', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPermissionSettingsPropertyValuesRouteHandler(req, res, property); getPermissionSettingsPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('permissionSetting', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPermissionSettingsRouteHandler(req, res, search); searchPermissionSettingsRouteHandler(req, res, search);
}); });

View File

@ -29,7 +29,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listProductCategoriesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listProductCategoriesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => {
const properties = convertPropertiesString(req.query.properties); const properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -39,12 +39,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listProductCategoriesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listProductCategoriesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getProductCategoryPropertyValuesRouteHandler(req, res, property); getProductCategoryPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('productCategory', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchProductCategoriesRouteHandler(req, res, search); searchProductCategoriesRouteHandler(req, res, search);
}); });

View File

@ -50,7 +50,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listProductsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listProductsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -60,12 +60,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listProductsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listProductsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getProductPropertyValuesRouteHandler(req, res, property); getProductPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('product', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchProductsRouteHandler(req, res, search); searchProductsRouteHandler(req, res, search);
}); });

View File

@ -50,7 +50,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listProductSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listProductSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
let masterFilter = {}; let masterFilter = {};
@ -60,11 +60,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listProductSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listProductSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getProductSkuPropertyValuesRouteHandler(req, res, property); getProductSkuPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchProductSkusRouteHandler(req, res, search); searchProductSkusRouteHandler(req, res, search);
}); });

View File

@ -48,7 +48,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listTaxRatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listTaxRatesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -58,12 +58,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listTaxRatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listTaxRatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getTaxRatePropertyValuesRouteHandler(req, res, property); getTaxRatePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('taxRate', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchTaxRatesRouteHandler(req, res, search); searchTaxRatesRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('userGroup', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listUserGroupsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listUserGroupsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('userGroup', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getUserGroupPropertyValuesRouteHandler(req, res, property); getUserGroupPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('userGroup', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchUserGroupsRouteHandler(req, res, search); searchUserGroupsRouteHandler(req, res, search);
}); });

View File

@ -40,7 +40,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listUsersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listUsersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -50,11 +50,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listUsersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listUsersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getUserPropertyValuesRouteHandler(req, res, property); getUserPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('user', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchUsersRouteHandler(req, res, search); searchUsersRouteHandler(req, res, search);
}); });

View File

@ -38,7 +38,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listVendorsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listVendorsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -48,12 +48,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listVendorsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listVendorsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getVendorPropertyValuesRouteHandler(req, res, property); getVendorPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('vendor', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchVendorsRouteHandler(req, res, search); searchVendorsRouteHandler(req, res, search);
}); });

View File

@ -36,7 +36,7 @@ router.get('/', isAuthenticated, async (req, res) => {
); );
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
const properties = convertPropertiesString(req.query.properties); const properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -46,12 +46,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getFilamentProfilePropertyValuesRouteHandler(req, res, property); getFilamentProfilePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('filamentProfile', 'list'), isAuthenticated, async (req, res) => {
searchFilamentProfilesRouteHandler(req, res, req.query.search); searchFilamentProfilesRouteHandler(req, res, req.query.search);
}); });

View File

@ -39,7 +39,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listGCodeFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listGCodeFilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -49,11 +49,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listGCodeFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listGCodeFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getGCodeFilePropertyValuesRouteHandler(req, res, property); getGCodeFilePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('gcodeFile', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchGCodeFilesRouteHandler(req, res, search); searchGCodeFilesRouteHandler(req, res, search);
}); });

View File

@ -48,7 +48,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -58,11 +58,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getJobPropertyValuesRouteHandler(req, res, property); getJobPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('job', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchJobsRouteHandler(req, res, search); searchJobsRouteHandler(req, res, search);
}); });

View File

@ -35,7 +35,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPrinterProfilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPrinterProfilesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => {
const properties = convertPropertiesString(req.query.properties); const properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -45,12 +45,12 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPrinterProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPrinterProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPrinterProfilePropertyValuesRouteHandler(req, res, property); getPrinterProfilePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('printerProfile', 'list'), isAuthenticated, async (req, res) => {
searchPrinterProfilesRouteHandler(req, res, req.query.search); searchPrinterProfilesRouteHandler(req, res, req.query.search);
}); });

View File

@ -39,7 +39,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listPrintersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -49,11 +49,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getPrinterPropertyValuesRouteHandler(req, res, property); getPrinterPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('printer', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchPrintersRouteHandler(req, res, search); searchPrintersRouteHandler(req, res, search);
}); });

View File

@ -46,7 +46,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listSubJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listSubJobsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -56,11 +56,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listSubJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listSubJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getSubJobPropertyValuesRouteHandler(req, res, property); getSubJobPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('subJob', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchSubJobsRouteHandler(req, res, search); searchSubJobsRouteHandler(req, res, search);
}); });

View File

@ -39,7 +39,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listClientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listClientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -49,11 +49,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listClientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listClientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getClientPropertyValuesRouteHandler(req, res, property); getClientPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('client', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchClientsRouteHandler(req, res, search); searchClientsRouteHandler(req, res, search);
}); });

View File

@ -65,7 +65,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listListingsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listListingsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -75,11 +75,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listListingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listListingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getListingPropertyValuesRouteHandler(req, res, property); getListingPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('listing', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchListingsRouteHandler(req, res, search); searchListingsRouteHandler(req, res, search);
}); });

View File

@ -52,7 +52,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listListingVarientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listListingVarientsRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -62,11 +62,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listListingVarientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listListingVarientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getListingVarientPropertyValuesRouteHandler(req, res, property); getListingVarientPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('listingVarient', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchListingVarientsRouteHandler(req, res, search); searchListingVarientsRouteHandler(req, res, search);
}); });

View File

@ -54,7 +54,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listMarketplacesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listMarketplacesRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('marketplace', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -64,11 +64,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listMarketplacesByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listMarketplacesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('marketplace', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getMarketplacePropertyValuesRouteHandler(req, res, property); getMarketplacePropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('marketplace', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchMarketplacesRouteHandler(req, res, search); searchMarketplacesRouteHandler(req, res, search);
}); });

View File

@ -41,7 +41,7 @@ router.get('/', isAuthenticated, async (req, res) => {
listSalesOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order); listSalesOrdersRouteHandler(req, res, page, limit, property, filter, search, getSort(sort, listAllowedSorters), order);
}); });
router.get('/properties', isAuthenticated, async (req, res) => { router.get('/properties', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => {
let properties = convertPropertiesString(req.query.properties); let properties = convertPropertiesString(req.query.properties);
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, propertiesAllowedFilters, false);
var masterFilter = {}; var masterFilter = {};
@ -51,11 +51,11 @@ router.get('/properties', isAuthenticated, async (req, res) => {
listSalesOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter); listSalesOrdersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get('/values', isAuthenticated, async (req, res) => { router.get('/values', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => {
const { property } = req.query; const { property } = req.query;
getSalesOrderPropertyValuesRouteHandler(req, res, property); getSalesOrderPropertyValuesRouteHandler(req, res, property);
}); });
router.get('/search', isAuthenticated, async (req, res) => { router.get('/search', checkPermissions('salesOrder', 'list'), isAuthenticated, async (req, res) => {
const { search } = req.query; const { search } = req.query;
searchSalesOrdersRouteHandler(req, res, search); searchSalesOrdersRouteHandler(req, res, search);
}); });