Compare commits

..

No commits in common. "bbec009337c4613512db13bd05320884fe04e25f" and "91eb22ac4932d755c1c6e60cd6606fd9098d4c45" have entirely different histories.

4 changed files with 77 additions and 149 deletions

View File

@ -24,7 +24,6 @@ const userSettingsSchema = new mongoose.Schema({
collapseState: { type: Schema.Types.Mixed, default: () => ({}) }, collapseState: { type: Schema.Types.Mixed, default: () => ({}) },
}, },
pageLayout: { type: Schema.Types.Mixed, default: () => ({}) }, pageLayout: { type: Schema.Types.Mixed, default: () => ({}) },
appearance: { type: Schema.Types.Mixed, default: () => ({}) },
createdAt: { createdAt: {
type: Date, type: Date,

View File

@ -13,7 +13,6 @@ const listAllowedFilters = [
'name', 'name',
'color', 'color',
'cost', 'cost',
'overrideCost',
'costWithTax', 'costWithTax',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
@ -26,7 +25,6 @@ const listAllowedSorters = [
'color', 'color',
'cost', 'cost',
'costWithTax', 'costWithTax',
'overrideCost',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
]; ];
@ -48,33 +46,18 @@ import {
router.get('/', isAuthenticated, checkPermissions('filamentSku', 'list'), async (req, res) => { router.get('/', isAuthenticated, checkPermissions('filamentSku', 'list'), async (req, res) => {
const { page, limit, property, search, sortProperty, sortOrder } = req.query; const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
listFilamentSkusRouteHandler( listFilamentSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
req,
res,
page,
limit,
property,
filter,
search,
getSort(sortProperty, listAllowedSorters),
sortOrder
);
}); });
router.get( router.get('/properties', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
'/properties', let properties = convertPropertiesString(req.query.properties);
checkPermissions('filamentSku', 'list'), const filter = await getFilter(req.query, propertiesAllowedFilters, false);
isAuthenticated, let masterFilter = {};
async (req, res) => { if (req.query.masterFilter) {
let properties = convertPropertiesString(req.query.properties); masterFilter = JSON.parse(req.query.masterFilter);
const filter = await getFilter(req.query, propertiesAllowedFilters, false);
let masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listFilamentSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
} }
); listFilamentSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get( router.get(
'/values', '/values',
@ -85,29 +68,23 @@ router.get(
const filter = await getFilter(req.query, listAllowedFilters, true); const filter = await getFilter(req.query, listAllowedFilters, true);
var masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = await getFilter(JSON.parse(req.query.masterFilter), listAllowedFilters, true); masterFilter = await getFilter(
JSON.parse(req.query.masterFilter),
listAllowedFilters,
true
);
} }
getFilamentSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter); getFilamentSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter);
} }
); );
router.get( router.get('/search', checkPermissions('filamentSku', 'list'), isAuthenticated, async (req, res) => {
'/search', const { search } = req.query;
checkPermissions('filamentSku', 'list'), searchFilamentSkusRouteHandler(req, res, search);
isAuthenticated, });
async (req, res) => {
const { search } = req.query;
searchFilamentSkusRouteHandler(req, res, search);
}
);
router.post( router.post('/', isAuthenticated, checkPermissions('filament', 'newFilamentSku'), async (req, res) => {
'/', newFilamentSkuRouteHandler(req, res);
isAuthenticated, });
checkPermissions('filament', 'newFilamentSku'),
async (req, res) => {
newFilamentSkuRouteHandler(req, res);
}
);
router.get('/stats', isAuthenticated, async (req, res) => { router.get('/stats', isAuthenticated, async (req, res) => {
getFilamentSkuStatsRouteHandler(req, res); getFilamentSkuStatsRouteHandler(req, res);
@ -120,16 +97,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
router.get('/neighbors', isAuthenticated, async (req, res) => { router.get('/neighbors', isAuthenticated, async (req, res) => {
const { property, search, sortProperty, sortOrder, id } = req.query; const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
getFilamentSkuNeighborsRouteHandler( getFilamentSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
req,
res,
property,
filter,
search,
getSort(sortProperty, listAllowedSorters),
sortOrder,
id
);
}); });
router.get('/:id', isAuthenticated, async (req, res) => { router.get('/:id', isAuthenticated, async (req, res) => {

View File

@ -12,10 +12,8 @@ const listAllowedFilters = [
'part._id', 'part._id',
'name', 'name',
'cost', 'cost',
'overrideCost',
'costWithTax', 'costWithTax',
'price', 'price',
'overridePrice',
'priceWithTax', 'priceWithTax',
'margin', 'margin',
'createdAt', 'createdAt',
@ -30,8 +28,6 @@ const listAllowedSorters = [
'costWithTax', 'costWithTax',
'price', 'price',
'priceWithTax', 'priceWithTax',
'overrideCost',
'overridePrice',
'margin', 'margin',
'createdAt', 'createdAt',
'updatedAt', 'updatedAt',
@ -48,54 +44,50 @@ import {
getPartSkuHistoryRouteHandler, getPartSkuHistoryRouteHandler,
searchPartSkusRouteHandler, searchPartSkusRouteHandler,
getPartSkuPropertyValuesRouteHandler, getPartSkuPropertyValuesRouteHandler,
getPartSkuNeighborsRouteHandler,
getPartSkuNeighborsRouteHandler
} from '../../services/management/partskus.js'; } from '../../services/management/partskus.js';
router.get('/', isAuthenticated, checkPermissions('partSku', 'list'), async (req, res) => { router.get('/', isAuthenticated, checkPermissions('partSku', 'list'), async (req, res) => {
const { page, limit, property, search, sortProperty, sortOrder } = req.query; const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
listPartSkusRouteHandler( listPartSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
req, });
res,
page, router.get('/properties', checkPermissions('partSku', 'list'), isAuthenticated, async (req, res) => {
limit, let properties = convertPropertiesString(req.query.properties);
property, const filter = await getFilter(req.query, propertiesAllowedFilters, false);
filter, let masterFilter = {};
search, if (req.query.masterFilter) {
getSort(sortProperty, listAllowedSorters), masterFilter = JSON.parse(req.query.masterFilter);
sortOrder }
); listPartSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get( router.get(
'/properties', '/values',
checkPermissions('partSku', 'list'), checkPermissions('partSku', 'list'),
isAuthenticated, isAuthenticated,
async (req, res) => { async (req, res) => {
let properties = convertPropertiesString(req.query.properties); const { property } = req.query;
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, listAllowedFilters, true);
let masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter); masterFilter = await getFilter(
JSON.parse(req.query.masterFilter),
listAllowedFilters,
true
);
} }
listPartSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); getPartSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter);
} }
); );
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) => { 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);
}); });
router.post('/', isAuthenticated, checkPermissions('part', 'newPartSku'), async (req, res) => { router.post('/', isAuthenticated, checkPermissions('part', 'newPartSku'), async (req, res) => {
newPartSkuRouteHandler(req, res); newPartSkuRouteHandler(req, res);
}); });
@ -111,16 +103,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
router.get('/neighbors', isAuthenticated, async (req, res) => { router.get('/neighbors', isAuthenticated, async (req, res) => {
const { property, search, sortProperty, sortOrder, id } = req.query; const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
getPartSkuNeighborsRouteHandler( getPartSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
req,
res,
property,
filter,
search,
getSort(sortProperty, listAllowedSorters),
sortOrder,
id
);
}); });
router.get('/:id', isAuthenticated, async (req, res) => { router.get('/:id', isAuthenticated, async (req, res) => {

View File

@ -12,8 +12,6 @@ const listAllowedFilters = [
'product._id', 'product._id',
'name', 'name',
'cost', 'cost',
'overrideCost',
'overridePrice',
'costWithTax', 'costWithTax',
'price', 'price',
'priceWithTax', 'priceWithTax',
@ -28,8 +26,6 @@ const listAllowedSorters = [
'name', 'name',
'cost', 'cost',
'costWithTax', 'costWithTax',
'overrideCost',
'overridePrice',
'price', 'price',
'priceWithTax', 'priceWithTax',
'margin', 'margin',
@ -48,62 +44,53 @@ import {
getProductSkuHistoryRouteHandler, getProductSkuHistoryRouteHandler,
searchProductSkusRouteHandler, searchProductSkusRouteHandler,
getProductSkuPropertyValuesRouteHandler, getProductSkuPropertyValuesRouteHandler,
getProductSkuNeighborsRouteHandler,
getProductSkuNeighborsRouteHandler
} from '../../services/management/productskus.js'; } from '../../services/management/productskus.js';
router.get('/', isAuthenticated, checkPermissions('productSku', 'list'), async (req, res) => { router.get('/', isAuthenticated, checkPermissions('productSku', 'list'), async (req, res) => {
const { page, limit, property, search, sortProperty, sortOrder } = req.query; const { page, limit, property, search, sortProperty, sortOrder } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
listProductSkusRouteHandler( listProductSkusRouteHandler(req, res, page, limit, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder);
req, });
res,
page, router.get('/properties', checkPermissions('productSku', 'list'), isAuthenticated, async (req, res) => {
limit, let properties = convertPropertiesString(req.query.properties);
property, const filter = await getFilter(req.query, propertiesAllowedFilters, false);
filter, let masterFilter = {};
search, if (req.query.masterFilter) {
getSort(sortProperty, listAllowedSorters), masterFilter = JSON.parse(req.query.masterFilter);
sortOrder }
); listProductSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
}); });
router.get( router.get(
'/properties', '/values',
checkPermissions('productSku', 'list'), checkPermissions('productSku', 'list'),
isAuthenticated, isAuthenticated,
async (req, res) => { async (req, res) => {
let properties = convertPropertiesString(req.query.properties); const { property } = req.query;
const filter = await getFilter(req.query, propertiesAllowedFilters, false); const filter = await getFilter(req.query, listAllowedFilters, true);
let masterFilter = {}; var masterFilter = {};
if (req.query.masterFilter) { if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter); masterFilter = await getFilter(
JSON.parse(req.query.masterFilter),
listAllowedFilters,
true
);
} }
listProductSkusByPropertiesRouteHandler(req, res, properties, filter, masterFilter); getProductSkuPropertyValuesRouteHandler(req, res, property, filter, masterFilter);
} }
); );
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) => { 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);
}); });
router.post(
'/', router.post('/', isAuthenticated, checkPermissions('product', 'newProductSku'), async (req, res) => {
isAuthenticated, newProductSkuRouteHandler(req, res);
checkPermissions('product', 'newProductSku'), });
async (req, res) => {
newProductSkuRouteHandler(req, res);
}
);
router.get('/stats', isAuthenticated, async (req, res) => { router.get('/stats', isAuthenticated, async (req, res) => {
getProductSkuStatsRouteHandler(req, res); getProductSkuStatsRouteHandler(req, res);
@ -116,16 +103,7 @@ router.get('/history', isAuthenticated, async (req, res) => {
router.get('/neighbors', isAuthenticated, async (req, res) => { router.get('/neighbors', isAuthenticated, async (req, res) => {
const { property, search, sortProperty, sortOrder, id } = req.query; const { property, search, sortProperty, sortOrder, id } = req.query;
const filter = await getFilter(req.query, listAllowedFilters); const filter = await getFilter(req.query, listAllowedFilters);
getProductSkuNeighborsRouteHandler( getProductSkuNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
req,
res,
property,
filter,
search,
getSort(sortProperty, listAllowedSorters),
sortOrder,
id
);
}); });
router.get('/:id', isAuthenticated, async (req, res) => { router.get('/:id', isAuthenticated, async (req, res) => {