Compare commits

...

2 Commits

49 changed files with 238 additions and 84 deletions

View File

@ -27,7 +27,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['taxRate', 'transactionType', 'transaction'];
const filter = getFilter(req.query, allowedFilters, false);
listTaxRecordsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listTaxRecordsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -12,7 +12,7 @@ import {
listCouriersByPropertiesRouteHandler,
getCourierStatsRouteHandler,
getCourierHistoryRouteHandler,
searchCouriersRouteHandler
searchCouriersRouteHandler,
} from '../../services/management/courier.js';
// list of couriers
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['name', 'website', 'email', 'phone', 'contact', 'country'];
const filter = getFilter(req.query, allowedFilters, false);
listCouriersByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listCouriersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchCouriersRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newCourierRouteHandler(req, res);
});

View File

@ -47,8 +47,13 @@ router.get('/properties', isAuthenticated, (req, res) => {
'costWithTax',
];
const filter = getFilter(req.query, allowedFilters, false);
listCourierServicesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listCourierServicesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchCourierServicesRouteHandler(req, res, search);

View File

@ -12,7 +12,7 @@ import {
listDocumentJobsByPropertiesRouteHandler,
getDocumentJobStatsRouteHandler,
getDocumentJobHistoryRouteHandler,
searchDocumentJobsRouteHandler
searchDocumentJobsRouteHandler,
} from '../../services/management/documentjobs.js';
// list of document jobs
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = [];
const filter = getFilter(req.query, allowedFilters, false);
listDocumentJobsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listDocumentJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchDocumentJobsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newDocumentJobRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listDocumentPrintersByPropertiesRouteHandler,
getDocumentPrinterStatsRouteHandler,
getDocumentPrinterHistoryRouteHandler,
searchDocumentPrintersRouteHandler
searchDocumentPrintersRouteHandler,
} from '../../services/management/documentprinters.js';
// list of document printers
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['tags'];
const filter = getFilter(req.query, allowedFilters, false);
listDocumentPrintersByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listDocumentPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchDocumentPrintersRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newDocumentPrinterRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listDocumentSizesByPropertiesRouteHandler,
getDocumentSizeStatsRouteHandler,
getDocumentSizeHistoryRouteHandler,
searchDocumentSizesRouteHandler
searchDocumentSizesRouteHandler,
} from '../../services/management/documentsizes.js';
// list of document sizes
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = [];
const filter = getFilter(req.query, allowedFilters, false);
listDocumentSizesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listDocumentSizesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchDocumentSizesRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newDocumentSizeRouteHandler(req, res);
});

View File

@ -13,21 +13,14 @@ import {
deleteFilamentRouteHandler,
getFilamentStatsRouteHandler,
getFilamentHistoryRouteHandler,
searchFilamentsRouteHandler
searchFilamentsRouteHandler,
} from '../../services/management/filaments.js';
// list of filaments
router.get('/', isAuthenticated, (req, res) => {
const { page, limit, property, search, sort, order } = req.query;
const allowedFilters = [
'_id',
'material',
'material._id',
'diameter',
'name',
'cost',
];
const allowedFilters = ['_id', 'material', 'material._id', 'diameter', 'name', 'cost'];
var filter = {};
@ -46,14 +39,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['diameter', 'material'];
const filter = getFilter(req.query, allowedFilters, false);
listFilamentsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listFilamentsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchFilamentsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newFilamentRouteHandler(req, res);
});

View File

@ -14,29 +14,33 @@ import {
listFilesByPropertiesRouteHandler,
getFileStatsRouteHandler,
getFileHistoryRouteHandler,
searchFilesRouteHandler
searchFilesRouteHandler,
} from '../../services/management/files.js';
// list of files
router.get('/', isAuthenticated, (req, res) => {
const { page, limit, property, search, sort, order } = req.query;
const allowedFilters = ['_id', 'name', 'type', 'size'];
const allowedFilters = ['_id', 'name', 'type', 'size', 'extension'];
const filter = getFilter(req.query, allowedFilters);
listFilesRouteHandler(req, res, page, limit, property, filter, search, sort, order);
});
router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['type'];
const allowedFilters = ['type', 'extension'];
const filter = getFilter(req.query, allowedFilters, false);
listFilesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchFilesRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newFileRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listHostsByPropertiesRouteHandler,
getHostStatsRouteHandler,
getHostHistoryRouteHandler,
searchHostsRouteHandler
searchHostsRouteHandler,
} from '../../services/management/hosts.js';
// list of hosts
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['tags'];
const filter = getFilter(req.query, allowedFilters, false);
listHostsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listHostsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchHostsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newHostRouteHandler(req, res);
});

View File

@ -35,7 +35,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['name', 'tags'];
const filter = getFilter(req.query, allowedFilters, false);
listMaterialsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listMaterialsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {

View File

@ -12,7 +12,7 @@ import {
listPartsByPropertiesRouteHandler,
getPartStatsRouteHandler,
getPartHistoryRouteHandler,
searchPartsRouteHandler
searchPartsRouteHandler,
} from '../../services/management/parts.js';
// list of parts
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['product._id'];
const filter = getFilter(req.query, allowedFilters, false);
listPartsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listPartsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchPartsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newPartRouteHandler(req, res);
});

View File

@ -10,7 +10,7 @@ import {
listProductCategoriesByPropertiesRouteHandler,
listProductCategoriesRouteHandler,
newProductCategoryRouteHandler,
searchProductCategoriesRouteHandler
searchProductCategoriesRouteHandler,
} from '../../services/management/productcategories.js';
const router = express.Router();
@ -26,14 +26,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
const properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['name'];
const filter = getFilter(req.query, allowedFilters, false);
listProductCategoriesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listProductCategoriesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchProductCategoriesRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newProductCategoryRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listProductsByPropertiesRouteHandler,
getProductStatsRouteHandler,
getProductHistoryRouteHandler,
searchProductsRouteHandler
searchProductsRouteHandler,
} from '../../services/management/products.js';
// list of products
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = [];
const filter = getFilter(req.query, allowedFilters, false);
listProductsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listProductsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchProductsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newProductRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listTaxRatesByPropertiesRouteHandler,
getTaxRateStatsRouteHandler,
getTaxRateHistoryRouteHandler,
searchTaxRatesRouteHandler
searchTaxRatesRouteHandler,
} from '../../services/management/taxrates.js';
// list of tax rates
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['rateType', 'country', 'active'];
const filter = getFilter(req.query, allowedFilters, false);
listTaxRatesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listTaxRatesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchTaxRatesRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newTaxRateRouteHandler(req, res);
});

View File

@ -12,7 +12,7 @@ import {
listVendorsByPropertiesRouteHandler,
getVendorStatsRouteHandler,
getVendorHistoryRouteHandler,
searchVendorsRouteHandler
searchVendorsRouteHandler,
} from '../../services/management/vendors.js';
// list of vendors
@ -27,14 +27,18 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['country', 'active', 'createdAt', 'updatedAt'];
const filter = getFilter(req.query, allowedFilters, false);
listVendorsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listVendorsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;
searchVendorsRouteHandler(req, res, search);
});
router.post('/', isAuthenticated, (req, res) => {
newVendorRouteHandler(req, res);
});

View File

@ -26,7 +26,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['parent'];
const filter = getFilter(req.query, allowedFilters, false);
listNotesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listNotesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
// create new note

View File

@ -22,7 +22,11 @@ router.get('/', isAuthenticated, (req, res) => {
router.get('/properties', isAuthenticated, (req, res) => {
const properties = convertPropertiesString(req.query.properties);
const filter = getFilter(req.query, ['name'], false);
listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listFilamentProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {

View File

@ -26,7 +26,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['filament', 'filament._id', 'filamentSku', 'filamentSku._id'];
const filter = getFilter(req.query, allowedFilters, false);
listGCodeFilesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listGCodeFilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -27,7 +27,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['state'];
const filter = getFilter(req.query, allowedFilters, false);
listJobsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -22,7 +22,11 @@ router.get('/', isAuthenticated, (req, res) => {
router.get('/properties', isAuthenticated, (req, res) => {
const properties = convertPropertiesString(req.query.properties);
const filter = getFilter(req.query, ['name'], false);
listPrinterProfilesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listPrinterProfilesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {

View File

@ -26,7 +26,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['tags'];
const filter = getFilter(req.query, allowedFilters, false);
listPrintersByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listPrintersByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -24,7 +24,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['job'];
const filter = getFilter(req.query, allowedFilters, false);
listSubJobsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listSubJobsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -27,7 +27,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['country', 'active', 'createdAt', 'updatedAt'];
const filter = getFilter(req.query, allowedFilters, false);
listClientsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listClientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -48,7 +48,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
'updatedAt',
];
const filter = getFilter(req.query, allowedFilters, false);
listListingsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listListingsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -46,7 +46,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
'updatedAt',
];
const filter = getFilter(req.query, allowedFilters, false);
listListingVarientsByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listListingVarientsByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -32,7 +32,11 @@ router.get('/properties', isAuthenticated, (req, res) => {
let properties = convertPropertiesString(req.query.properties);
const allowedFilters = ['name', 'provider', 'active', 'connected', 'state.type', 'createdAt', 'updatedAt'];
const filter = getFilter(req.query, allowedFilters, false);
listMarketplacesByPropertiesRouteHandler(req, res, properties, filter);
var masterFilter = {};
if (req.query.masterFilter) {
masterFilter = JSON.parse(req.query.masterFilter);
}
listMarketplacesByPropertiesRouteHandler(req, res, properties, filter, masterFilter);
});
router.get('/search', isAuthenticated, (req, res) => {
const { search } = req.query;

View File

@ -52,12 +52,14 @@ export const listTaxRecordsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: taxRecordModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -52,12 +52,14 @@ export const listCouriersByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: courierModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -53,12 +53,14 @@ export const listCourierServicesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: courierServiceModel,
properties,
filter,
masterFilter,
populate: ['courier', 'costTaxRate'],
});

View File

@ -52,12 +52,14 @@ export const listDocumentJobsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: documentJobModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -55,12 +55,14 @@ export const listDocumentPrintersByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: documentPrinterModel,
properties,
filter,
masterFilter,
populate: ['currentDocumentSize', 'host'],
});

View File

@ -52,12 +52,14 @@ export const listDocumentSizesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: documentSizeModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -55,12 +55,14 @@ export const listFilamentsByPropertiesRouteHandler = async (
req,
res,
properties = [],
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: filamentModel,
properties,
filter,
masterFilter,
populate: [],
});

View File

@ -53,12 +53,14 @@ export const listMaterialsByPropertiesRouteHandler = async (
req,
res,
properties = [],
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: materialModel,
properties,
filter,
masterFilter,
populate: [],
});

View File

@ -49,11 +49,18 @@ export const listPartsRouteHandler = async (
res.send(result);
};
export const listPartsByPropertiesRouteHandler = async (req, res, properties = '', filter = {}) => {
export const listPartsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: partModel,
properties,
filter,
masterFilter,
populate: [],
});

View File

@ -54,12 +54,14 @@ export const listProductCategoriesByPropertiesRouteHandler = async (
req,
res,
properties = [],
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: productCategoryModel,
properties,
filter,
masterFilter,
populate: [],
});

View File

@ -53,12 +53,14 @@ export const listProductsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: productModel,
properties,
filter,
masterFilter,
populate: ['productCategory', 'vendor'],
});

View File

@ -52,12 +52,14 @@ export const listTaxRatesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: taxRateModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -52,12 +52,14 @@ export const listVendorsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: vendorModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -51,11 +51,18 @@ export const listNotesRouteHandler = async (
res.send(result);
};
export const listNotesByPropertiesRouteHandler = async (req, res, properties = '', filter = {}) => {
export const listNotesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: noteModel,
properties,
filter,
masterFilter,
populate: ['noteType', 'user'],
});

View File

@ -203,12 +203,14 @@ export const listFilamentProfilesByPropertiesRouteHandler = async (
req,
res,
properties = [],
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: filamentProfileModel,
properties,
filter,
masterFilter,
populate: FILAMENT_PROFILE_POPULATE,
});

View File

@ -53,12 +53,14 @@ export const listGCodeFilesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: gcodeFileModel,
properties,
filter,
masterFilter,
populate: ['filament', 'filamentSku'],
});

View File

@ -91,12 +91,14 @@ export const listPrinterProfilesByPropertiesRouteHandler = async (
req,
res,
properties = [],
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: printerProfileModel,
properties,
filter,
masterFilter,
populate: ['printer'],
});

View File

@ -54,12 +54,14 @@ export const listPrintersByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: printerModel,
properties,
filter,
masterFilter,
populate: ['vendor', 'host'],
});

View File

@ -52,12 +52,14 @@ export const listClientsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: clientModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -93,12 +93,14 @@ export const listListingsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: listingModel,
properties,
filter,
masterFilter,
populate: ['product', 'vendor', 'stockLocation', 'marketplace', 'courierServices'],
});

View File

@ -63,12 +63,14 @@ export const listListingVarientsByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: listingVarientModel,
properties,
filter,
masterFilter,
populate: POPULATE_FIELDS,
});

View File

@ -53,12 +53,14 @@ export const listMarketplacesByPropertiesRouteHandler = async (
req,
res,
properties = '',
filter = {}
filter = {},
masterFilter = {}
) => {
const result = await listObjectsByProperties({
model: marketplaceModel,
properties,
filter,
masterFilter,
});
if (result?.error) {

View File

@ -1037,6 +1037,7 @@ function flatternObjectIds(object) {
}
function expandObjectIds(input) {
const excludedFields = ['createdAt', 'updatedAt', 'name', '_id'];
// Helper to check if a value is an ObjectId or a 24-char hex string
function isObjectId(val) {
// Check for MongoDB ObjectId instance
@ -1053,8 +1054,8 @@ function expandObjectIds(input) {
} else if (value && typeof value === 'object' && !(value instanceof mongoose.Types.ObjectId)) {
var result = {};
for (const [key, val] of Object.entries(value)) {
if (key === '_id') {
// Do not expand keys that are already named _id
if (excludedFields.includes(key)) {
// Do not expand keys that are excluded
result[key] = val.toString();
} else if (isObjectId(val)) {
result[key] = { _id: val };
@ -1108,6 +1109,7 @@ function getFilter(query, allowedFilters, parse = true) {
clauses.push(parse ? parseFilter(key, value) : { [key]: value });
}
}
console.log('clauses', clauses);
return mergeFilterClauses(clauses);
}