Add bulk delete functionality for various entities with filter support
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
All checks were successful
farmcontrol/farmcontrol-api/pipeline/head This commit looks good
This commit introduces a new `deleteObjects` function in the database module, allowing for bulk deletion of objects based on specified filters and states. Additionally, new route handlers for deleting invoices, payment policies, payments, tax records, filament stocks, order items, part stocks, product stocks, purchase orders, shipments, stock audits, stock locations, stock transfers, app passwords, couriers, courier services, document printers, document sizes, document templates, email accounts, email templates, filaments, filament SKUs, files, hosts, materials, note types, parts, part SKUs, permission settings, product categories, products, and vendor entities are added. Each route supports deletion based on filters, enhancing the application's data management capabilities.
This commit is contained in:
parent
58cb444bf2
commit
c679066504
@ -1643,6 +1643,73 @@ export const deleteObject = async (
|
|||||||
}
|
}
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteObjects = async ({
|
||||||
|
model,
|
||||||
|
filter = {},
|
||||||
|
user = null,
|
||||||
|
checkUnused = false,
|
||||||
|
states,
|
||||||
|
}) => {
|
||||||
|
try {
|
||||||
|
const convertedFilter =
|
||||||
|
filter && Object.keys(filter).length > 0
|
||||||
|
? convertObjectIdStringsInFilter(filter)
|
||||||
|
: {};
|
||||||
|
const objects = await model.find(convertedFilter);
|
||||||
|
const errors = [];
|
||||||
|
let deletedCount = 0;
|
||||||
|
|
||||||
|
for (const object of objects) {
|
||||||
|
const id = object._id;
|
||||||
|
const state = object.state?.type ?? object.state;
|
||||||
|
|
||||||
|
if (Array.isArray(states) && !states.includes(state)) {
|
||||||
|
errors.push({
|
||||||
|
id: String(id),
|
||||||
|
status: 400,
|
||||||
|
error: `Object must be in one of these states: ${states.join(', ')}.`,
|
||||||
|
});
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
try {
|
||||||
|
const result = await deleteObject({
|
||||||
|
model,
|
||||||
|
id,
|
||||||
|
user,
|
||||||
|
checkUnused,
|
||||||
|
});
|
||||||
|
if (result?.error) {
|
||||||
|
errors.push({
|
||||||
|
id: String(id),
|
||||||
|
status: result.code || 500,
|
||||||
|
...result,
|
||||||
|
});
|
||||||
|
continue;
|
||||||
|
}
|
||||||
|
|
||||||
|
deletedCount += 1;
|
||||||
|
} catch (error) {
|
||||||
|
errors.push({
|
||||||
|
id: String(id),
|
||||||
|
status: 500,
|
||||||
|
error: error.message || 'Delete failed.',
|
||||||
|
});
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
return {
|
||||||
|
matchedCount: objects.length,
|
||||||
|
deletedCount,
|
||||||
|
failedCount: errors.length,
|
||||||
|
errors,
|
||||||
|
};
|
||||||
|
} catch (error) {
|
||||||
|
logger.error('deleteObjects error:', error);
|
||||||
|
return { error: error.message, code: 500 };
|
||||||
|
}
|
||||||
|
};
|
||||||
|
|
||||||
export const flushFile = async ({ id, user }) => {
|
export const flushFile = async ({ id, user }) => {
|
||||||
try {
|
try {
|
||||||
logger.info(`Starting file deletion process for file ID: ${id}`);
|
logger.info(`Starting file deletion process for file ID: ${id}`);
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import {
|
|||||||
editMultipleInvoicesRouteHandler,
|
editMultipleInvoicesRouteHandler,
|
||||||
newInvoiceRouteHandler,
|
newInvoiceRouteHandler,
|
||||||
deleteInvoiceRouteHandler,
|
deleteInvoiceRouteHandler,
|
||||||
|
deleteInvoiceByFilterRouteHandler,
|
||||||
listInvoicesByPropertiesRouteHandler,
|
listInvoicesByPropertiesRouteHandler,
|
||||||
getInvoiceStatsRouteHandler,
|
getInvoiceStatsRouteHandler,
|
||||||
getInvoiceHistoryRouteHandler,
|
getInvoiceHistoryRouteHandler,
|
||||||
@ -141,6 +142,25 @@ router.put('/:id', isAuthenticated, checkPermissions('invoice', 'edit'), async (
|
|||||||
editInvoiceRouteHandler(req, res);
|
editInvoiceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('invoice', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteInvoiceByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteInvoiceRouteHandler(req, res);
|
deleteInvoiceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import {
|
|||||||
editPaymentPolicyRouteHandler,
|
editPaymentPolicyRouteHandler,
|
||||||
newPaymentPolicyRouteHandler,
|
newPaymentPolicyRouteHandler,
|
||||||
deletePaymentPolicyRouteHandler,
|
deletePaymentPolicyRouteHandler,
|
||||||
|
deletePaymentPolicyByFilterRouteHandler,
|
||||||
listPaymentPoliciesByPropertiesRouteHandler,
|
listPaymentPoliciesByPropertiesRouteHandler,
|
||||||
getPaymentPolicyStatsRouteHandler,
|
getPaymentPolicyStatsRouteHandler,
|
||||||
getPaymentPolicyHistoryRouteHandler,
|
getPaymentPolicyHistoryRouteHandler,
|
||||||
@ -122,6 +123,25 @@ router.put('/:id', isAuthenticated, checkPermissions('paymentPolicy', 'edit'), a
|
|||||||
editPaymentPolicyRouteHandler(req, res);
|
editPaymentPolicyRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('paymentPolicy', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePaymentPolicyByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePaymentPolicyRouteHandler(req, res);
|
deletePaymentPolicyRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import {
|
|||||||
editMultiplePaymentsRouteHandler,
|
editMultiplePaymentsRouteHandler,
|
||||||
newPaymentRouteHandler,
|
newPaymentRouteHandler,
|
||||||
deletePaymentRouteHandler,
|
deletePaymentRouteHandler,
|
||||||
|
deletePaymentByFilterRouteHandler,
|
||||||
listPaymentsByPropertiesRouteHandler,
|
listPaymentsByPropertiesRouteHandler,
|
||||||
getPaymentStatsRouteHandler,
|
getPaymentStatsRouteHandler,
|
||||||
getPaymentHistoryRouteHandler,
|
getPaymentHistoryRouteHandler,
|
||||||
@ -122,6 +123,25 @@ router.put('/:id', isAuthenticated, checkPermissions('payment', 'edit'), async (
|
|||||||
editPaymentRouteHandler(req, res);
|
editPaymentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('payment', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePaymentByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePaymentRouteHandler(req, res);
|
deletePaymentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import {
|
|||||||
editTaxRecordRouteHandler,
|
editTaxRecordRouteHandler,
|
||||||
newTaxRecordRouteHandler,
|
newTaxRecordRouteHandler,
|
||||||
deleteTaxRecordRouteHandler,
|
deleteTaxRecordRouteHandler,
|
||||||
|
deleteTaxRecordByFilterRouteHandler,
|
||||||
listTaxRecordsByPropertiesRouteHandler,
|
listTaxRecordsByPropertiesRouteHandler,
|
||||||
getTaxRecordStatsRouteHandler,
|
getTaxRecordStatsRouteHandler,
|
||||||
getTaxRecordHistoryRouteHandler,
|
getTaxRecordHistoryRouteHandler,
|
||||||
@ -102,6 +103,25 @@ router.put('/:id', isAuthenticated, checkPermissions('taxRecord', 'edit'), async
|
|||||||
editTaxRecordRouteHandler(req, res);
|
editTaxRecordRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('taxRecord', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteTaxRecordByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteTaxRecordRouteHandler(req, res);
|
deleteTaxRecordRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import {
|
|||||||
editMultipleFilamentStocksRouteHandler,
|
editMultipleFilamentStocksRouteHandler,
|
||||||
newFilamentStockRouteHandler,
|
newFilamentStockRouteHandler,
|
||||||
deleteFilamentStockRouteHandler,
|
deleteFilamentStockRouteHandler,
|
||||||
|
deleteFilamentStockByFilterRouteHandler,
|
||||||
postFilamentStockRouteHandler,
|
postFilamentStockRouteHandler,
|
||||||
listFilamentStocksByPropertiesRouteHandler,
|
listFilamentStocksByPropertiesRouteHandler,
|
||||||
getFilamentStockStatsRouteHandler,
|
getFilamentStockStatsRouteHandler,
|
||||||
@ -118,6 +119,25 @@ router.put('/:id', isAuthenticated, checkPermissions('filamentStock', 'edit'), a
|
|||||||
editFilamentStockRouteHandler(req, res);
|
editFilamentStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('filamentStock', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFilamentStockByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFilamentStockRouteHandler(req, res);
|
deleteFilamentStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -39,6 +39,7 @@ import {
|
|||||||
editMultipleOrderItemsRouteHandler,
|
editMultipleOrderItemsRouteHandler,
|
||||||
newOrderItemRouteHandler,
|
newOrderItemRouteHandler,
|
||||||
deleteOrderItemRouteHandler,
|
deleteOrderItemRouteHandler,
|
||||||
|
deleteOrderItemByFilterRouteHandler,
|
||||||
listOrderItemsByPropertiesRouteHandler,
|
listOrderItemsByPropertiesRouteHandler,
|
||||||
getOrderItemStatsRouteHandler,
|
getOrderItemStatsRouteHandler,
|
||||||
getOrderItemHistoryRouteHandler,
|
getOrderItemHistoryRouteHandler,
|
||||||
@ -139,6 +140,25 @@ router.put('/:id', isAuthenticated, checkPermissions('orderItem', 'edit'), async
|
|||||||
editOrderItemRouteHandler(req, res);
|
editOrderItemRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('orderItem', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteOrderItemByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteOrderItemRouteHandler(req, res);
|
deleteOrderItemRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import {
|
|||||||
editMultiplePartStocksRouteHandler,
|
editMultiplePartStocksRouteHandler,
|
||||||
newPartStockRouteHandler,
|
newPartStockRouteHandler,
|
||||||
deletePartStockRouteHandler,
|
deletePartStockRouteHandler,
|
||||||
|
deletePartStockByFilterRouteHandler,
|
||||||
postPartStockRouteHandler,
|
postPartStockRouteHandler,
|
||||||
listPartStocksByPropertiesRouteHandler,
|
listPartStocksByPropertiesRouteHandler,
|
||||||
getPartStockStatsRouteHandler,
|
getPartStockStatsRouteHandler,
|
||||||
@ -118,6 +119,25 @@ router.put('/:id', isAuthenticated, checkPermissions('partStock', 'edit'), async
|
|||||||
editPartStockRouteHandler(req, res);
|
editPartStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('partStock', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePartStockByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePartStockRouteHandler(req, res);
|
deletePartStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -35,6 +35,7 @@ import {
|
|||||||
editMultipleProductStocksRouteHandler,
|
editMultipleProductStocksRouteHandler,
|
||||||
newProductStockRouteHandler,
|
newProductStockRouteHandler,
|
||||||
deleteProductStockRouteHandler,
|
deleteProductStockRouteHandler,
|
||||||
|
deleteProductStockByFilterRouteHandler,
|
||||||
postProductStockRouteHandler,
|
postProductStockRouteHandler,
|
||||||
listProductStocksByPropertiesRouteHandler,
|
listProductStocksByPropertiesRouteHandler,
|
||||||
getProductStockStatsRouteHandler,
|
getProductStockStatsRouteHandler,
|
||||||
@ -115,6 +116,25 @@ router.put('/:id', isAuthenticated, checkPermissions('productStock', 'edit'), as
|
|||||||
editProductStockRouteHandler(req, res);
|
editProductStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('productStock', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteProductStockByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteProductStockRouteHandler(req, res);
|
deleteProductStockRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -50,6 +50,7 @@ import {
|
|||||||
editMultiplePurchaseOrdersRouteHandler,
|
editMultiplePurchaseOrdersRouteHandler,
|
||||||
newPurchaseOrderRouteHandler,
|
newPurchaseOrderRouteHandler,
|
||||||
deletePurchaseOrderRouteHandler,
|
deletePurchaseOrderRouteHandler,
|
||||||
|
deletePurchaseOrderByFilterRouteHandler,
|
||||||
listPurchaseOrdersByPropertiesRouteHandler,
|
listPurchaseOrdersByPropertiesRouteHandler,
|
||||||
getPurchaseOrderStatsRouteHandler,
|
getPurchaseOrderStatsRouteHandler,
|
||||||
getPurchaseOrderHistoryRouteHandler,
|
getPurchaseOrderHistoryRouteHandler,
|
||||||
@ -134,6 +135,25 @@ router.put('/:id', isAuthenticated, checkPermissions('purchaseOrder', 'edit'), a
|
|||||||
editPurchaseOrderRouteHandler(req, res);
|
editPurchaseOrderRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('purchaseOrder', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePurchaseOrderByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePurchaseOrderRouteHandler(req, res);
|
deletePurchaseOrderRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import {
|
|||||||
editMultipleShipmentsRouteHandler,
|
editMultipleShipmentsRouteHandler,
|
||||||
newShipmentRouteHandler,
|
newShipmentRouteHandler,
|
||||||
deleteShipmentRouteHandler,
|
deleteShipmentRouteHandler,
|
||||||
|
deleteShipmentByFilterRouteHandler,
|
||||||
listShipmentsByPropertiesRouteHandler,
|
listShipmentsByPropertiesRouteHandler,
|
||||||
getShipmentStatsRouteHandler,
|
getShipmentStatsRouteHandler,
|
||||||
getShipmentHistoryRouteHandler,
|
getShipmentHistoryRouteHandler,
|
||||||
@ -148,6 +149,25 @@ router.put('/:id', isAuthenticated, checkPermissions('shipment', 'edit'), async
|
|||||||
editShipmentRouteHandler(req, res);
|
editShipmentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('shipment', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteShipmentByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteShipmentRouteHandler(req, res);
|
deleteShipmentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import {
|
|||||||
newStockAuditRouteHandler,
|
newStockAuditRouteHandler,
|
||||||
updateStockAuditRouteHandler,
|
updateStockAuditRouteHandler,
|
||||||
deleteStockAuditRouteHandler,
|
deleteStockAuditRouteHandler,
|
||||||
|
deleteStockAuditByFilterRouteHandler,
|
||||||
getStockAuditStatsRouteHandler,
|
getStockAuditStatsRouteHandler,
|
||||||
getStockAuditHistoryRouteHandler,
|
getStockAuditHistoryRouteHandler,
|
||||||
searchStockAuditsRouteHandler,
|
searchStockAuditsRouteHandler,
|
||||||
@ -114,6 +115,25 @@ router.put('/:id', isAuthenticated, checkPermissions('stockAudit', 'edit'), asyn
|
|||||||
updateStockAuditRouteHandler(req, res);
|
updateStockAuditRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('stockAudit', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteStockAuditByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteStockAuditRouteHandler(req, res);
|
deleteStockAuditRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import {
|
|||||||
editMultipleStockLocationsRouteHandler,
|
editMultipleStockLocationsRouteHandler,
|
||||||
newStockLocationRouteHandler,
|
newStockLocationRouteHandler,
|
||||||
deleteStockLocationRouteHandler,
|
deleteStockLocationRouteHandler,
|
||||||
|
deleteStockLocationByFilterRouteHandler,
|
||||||
listStockLocationsByPropertiesRouteHandler,
|
listStockLocationsByPropertiesRouteHandler,
|
||||||
getStockLocationStatsRouteHandler,
|
getStockLocationStatsRouteHandler,
|
||||||
getStockLocationHistoryRouteHandler,
|
getStockLocationHistoryRouteHandler,
|
||||||
@ -82,6 +83,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getStockLocationNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getStockLocationNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('stockLocation', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteStockLocationByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, checkPermissions('stockLocation', 'info'), async (req, res) => {
|
router.get('/:id', isAuthenticated, checkPermissions('stockLocation', 'info'), async (req, res) => {
|
||||||
getStockLocationRouteHandler(req, res);
|
getStockLocationRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import {
|
|||||||
editMultipleStockTransfersRouteHandler,
|
editMultipleStockTransfersRouteHandler,
|
||||||
newStockTransferRouteHandler,
|
newStockTransferRouteHandler,
|
||||||
deleteStockTransferRouteHandler,
|
deleteStockTransferRouteHandler,
|
||||||
|
deleteStockTransferByFilterRouteHandler,
|
||||||
postStockTransferRouteHandler,
|
postStockTransferRouteHandler,
|
||||||
listStockTransfersByPropertiesRouteHandler,
|
listStockTransfersByPropertiesRouteHandler,
|
||||||
getStockTransferStatsRouteHandler,
|
getStockTransferStatsRouteHandler,
|
||||||
@ -104,6 +105,25 @@ router.put('/:id', isAuthenticated, checkPermissions('stockTransfer', 'edit'), a
|
|||||||
editStockTransferRouteHandler(req, res);
|
editStockTransferRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('stockTransfer', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteStockTransferByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteStockTransferRouteHandler(req, res);
|
deleteStockTransferRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import {
|
|||||||
editAppPasswordRouteHandler,
|
editAppPasswordRouteHandler,
|
||||||
newAppPasswordRouteHandler,
|
newAppPasswordRouteHandler,
|
||||||
deleteAppPasswordRouteHandler,
|
deleteAppPasswordRouteHandler,
|
||||||
|
deleteAppPasswordByFilterRouteHandler,
|
||||||
listAppPasswordsByPropertiesRouteHandler,
|
listAppPasswordsByPropertiesRouteHandler,
|
||||||
getAppPasswordStatsRouteHandler,
|
getAppPasswordStatsRouteHandler,
|
||||||
getAppPasswordHistoryRouteHandler,
|
getAppPasswordHistoryRouteHandler,
|
||||||
@ -92,6 +93,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getAppPasswordNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getAppPasswordNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('appPassword', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteAppPasswordByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getAppPasswordRouteHandler(req, res);
|
getAppPasswordRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -24,6 +24,7 @@ import {
|
|||||||
editCourierRouteHandler,
|
editCourierRouteHandler,
|
||||||
newCourierRouteHandler,
|
newCourierRouteHandler,
|
||||||
deleteCourierRouteHandler,
|
deleteCourierRouteHandler,
|
||||||
|
deleteCourierByFilterRouteHandler,
|
||||||
listCouriersByPropertiesRouteHandler,
|
listCouriersByPropertiesRouteHandler,
|
||||||
getCourierStatsRouteHandler,
|
getCourierStatsRouteHandler,
|
||||||
getCourierHistoryRouteHandler,
|
getCourierHistoryRouteHandler,
|
||||||
@ -102,6 +103,25 @@ router.put('/:id', isAuthenticated, checkPermissions('courier', 'edit'), async (
|
|||||||
editCourierRouteHandler(req, res);
|
editCourierRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('courier', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteCourierByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteCourierRouteHandler(req, res);
|
deleteCourierRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -55,6 +55,7 @@ import {
|
|||||||
editCourierServiceRouteHandler,
|
editCourierServiceRouteHandler,
|
||||||
newCourierServiceRouteHandler,
|
newCourierServiceRouteHandler,
|
||||||
deleteCourierServiceRouteHandler,
|
deleteCourierServiceRouteHandler,
|
||||||
|
deleteCourierServiceByFilterRouteHandler,
|
||||||
listCourierServicesByPropertiesRouteHandler,
|
listCourierServicesByPropertiesRouteHandler,
|
||||||
getCourierServiceStatsRouteHandler,
|
getCourierServiceStatsRouteHandler,
|
||||||
getCourierServiceHistoryRouteHandler,
|
getCourierServiceHistoryRouteHandler,
|
||||||
@ -133,6 +134,25 @@ router.put('/:id', isAuthenticated, checkPermissions('courierService', 'edit'),
|
|||||||
editCourierServiceRouteHandler(req, res);
|
editCourierServiceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('courierService', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteCourierServiceByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteCourierServiceRouteHandler(req, res);
|
deleteCourierServiceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import {
|
|||||||
editDocumentPrinterRouteHandler,
|
editDocumentPrinterRouteHandler,
|
||||||
newDocumentPrinterRouteHandler,
|
newDocumentPrinterRouteHandler,
|
||||||
deleteDocumentPrinterRouteHandler,
|
deleteDocumentPrinterRouteHandler,
|
||||||
|
deleteDocumentPrinterByFilterRouteHandler,
|
||||||
listDocumentPrintersByPropertiesRouteHandler,
|
listDocumentPrintersByPropertiesRouteHandler,
|
||||||
getDocumentPrinterStatsRouteHandler,
|
getDocumentPrinterStatsRouteHandler,
|
||||||
getDocumentPrinterHistoryRouteHandler,
|
getDocumentPrinterHistoryRouteHandler,
|
||||||
@ -102,6 +103,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getDocumentPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getDocumentPrinterNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('documentPrinter', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteDocumentPrinterByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getDocumentPrinterRouteHandler(req, res);
|
getDocumentPrinterRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import {
|
|||||||
editDocumentSizeRouteHandler,
|
editDocumentSizeRouteHandler,
|
||||||
newDocumentSizeRouteHandler,
|
newDocumentSizeRouteHandler,
|
||||||
deleteDocumentSizeRouteHandler,
|
deleteDocumentSizeRouteHandler,
|
||||||
|
deleteDocumentSizeByFilterRouteHandler,
|
||||||
listDocumentSizesByPropertiesRouteHandler,
|
listDocumentSizesByPropertiesRouteHandler,
|
||||||
getDocumentSizeStatsRouteHandler,
|
getDocumentSizeStatsRouteHandler,
|
||||||
getDocumentSizeHistoryRouteHandler,
|
getDocumentSizeHistoryRouteHandler,
|
||||||
@ -108,6 +109,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getDocumentSizeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getDocumentSizeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('documentSize', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteDocumentSizeByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getDocumentSizeRouteHandler(req, res);
|
getDocumentSizeRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -38,6 +38,7 @@ import {
|
|||||||
editDocumentTemplateRouteHandler,
|
editDocumentTemplateRouteHandler,
|
||||||
newDocumentTemplateRouteHandler,
|
newDocumentTemplateRouteHandler,
|
||||||
deleteDocumentTemplateRouteHandler,
|
deleteDocumentTemplateRouteHandler,
|
||||||
|
deleteDocumentTemplateByFilterRouteHandler,
|
||||||
listDocumentTemplatesByPropertiesRouteHandler,
|
listDocumentTemplatesByPropertiesRouteHandler,
|
||||||
getDocumentTemplateStatsRouteHandler,
|
getDocumentTemplateStatsRouteHandler,
|
||||||
getDocumentTemplateHistoryRouteHandler,
|
getDocumentTemplateHistoryRouteHandler,
|
||||||
@ -115,6 +116,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getDocumentTemplateNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getDocumentTemplateNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('documentTemplate', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteDocumentTemplateByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.post('/:id/intellisense', isAuthenticated, checkPermissions('documentTemplate', 'design'), async (req, res) => {
|
router.post('/:id/intellisense', isAuthenticated, checkPermissions('documentTemplate', 'design'), async (req, res) => {
|
||||||
intellisenseDocumentTemplateRouteHandler(req, res);
|
intellisenseDocumentTemplateRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { isAuthenticated } from '../../keycloak.js';
|
|||||||
import { checkPermissions } from '../../database/permissions.js';
|
import { checkPermissions } from '../../database/permissions.js';
|
||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
import {
|
import {
|
||||||
|
deleteEmailAccountByFilterRouteHandler,
|
||||||
deleteEmailAccountRouteHandler,
|
deleteEmailAccountRouteHandler,
|
||||||
editEmailAccountRouteHandler,
|
editEmailAccountRouteHandler,
|
||||||
getEmailAccountRouteHandler,
|
getEmailAccountRouteHandler,
|
||||||
@ -75,6 +76,24 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
router.post('/', isAuthenticated, checkPermissions('emailAccount', 'new'), newEmailAccountRouteHandler);
|
router.post('/', isAuthenticated, checkPermissions('emailAccount', 'new'), newEmailAccountRouteHandler);
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('emailAccount', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
filters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
filters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteEmailAccountByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
router.get('/:id', isAuthenticated, getEmailAccountRouteHandler);
|
router.get('/:id', isAuthenticated, getEmailAccountRouteHandler);
|
||||||
router.put('/:id', isAuthenticated, checkPermissions('emailAccount', 'edit'), editEmailAccountRouteHandler);
|
router.put('/:id', isAuthenticated, checkPermissions('emailAccount', 'edit'), editEmailAccountRouteHandler);
|
||||||
router.delete('/:id', isAuthenticated, checkPermissions('emailAccount', 'delete'), deleteEmailAccountRouteHandler);
|
router.delete('/:id', isAuthenticated, checkPermissions('emailAccount', 'delete'), deleteEmailAccountRouteHandler);
|
||||||
|
|||||||
@ -3,6 +3,7 @@ import { isAuthenticated } from '../../keycloak.js';
|
|||||||
import { checkPermissions } from '../../database/permissions.js';
|
import { checkPermissions } from '../../database/permissions.js';
|
||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
import {
|
import {
|
||||||
|
deleteEmailTemplateByFilterRouteHandler,
|
||||||
deleteEmailTemplateRouteHandler,
|
deleteEmailTemplateRouteHandler,
|
||||||
editEmailTemplateRouteHandler,
|
editEmailTemplateRouteHandler,
|
||||||
formatEmailTemplateRouteHandler,
|
formatEmailTemplateRouteHandler,
|
||||||
@ -94,6 +95,24 @@ router.post('/', isAuthenticated, checkPermissions('emailTemplate', 'new'), newE
|
|||||||
router.post('/format', isAuthenticated, checkPermissions('emailTemplate', 'design'), formatEmailTemplateRouteHandler);
|
router.post('/format', isAuthenticated, checkPermissions('emailTemplate', 'design'), formatEmailTemplateRouteHandler);
|
||||||
router.post('/:id/intellisense', isAuthenticated, checkPermissions('emailTemplate', 'design'), intellisenseEmailTemplateRouteHandler);
|
router.post('/:id/intellisense', isAuthenticated, checkPermissions('emailTemplate', 'design'), intellisenseEmailTemplateRouteHandler);
|
||||||
router.post('/:id/preview', isAuthenticated, checkPermissions('emailTemplate', 'design'), previewEmailTemplateRouteHandler);
|
router.post('/:id/preview', isAuthenticated, checkPermissions('emailTemplate', 'design'), previewEmailTemplateRouteHandler);
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('emailTemplate', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
filters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
filters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteEmailTemplateByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
router.get('/:id', isAuthenticated, getEmailTemplateRouteHandler);
|
router.get('/:id', isAuthenticated, getEmailTemplateRouteHandler);
|
||||||
router.put('/:id', isAuthenticated, checkPermissions('emailTemplate', 'edit'), editEmailTemplateRouteHandler);
|
router.put('/:id', isAuthenticated, checkPermissions('emailTemplate', 'edit'), editEmailTemplateRouteHandler);
|
||||||
router.delete('/:id', isAuthenticated, checkPermissions('emailTemplate', 'delete'), deleteEmailTemplateRouteHandler);
|
router.delete('/:id', isAuthenticated, checkPermissions('emailTemplate', 'delete'), deleteEmailTemplateRouteHandler);
|
||||||
|
|||||||
@ -40,6 +40,7 @@ import {
|
|||||||
editMultipleFilamentsRouteHandler,
|
editMultipleFilamentsRouteHandler,
|
||||||
newFilamentRouteHandler,
|
newFilamentRouteHandler,
|
||||||
deleteFilamentRouteHandler,
|
deleteFilamentRouteHandler,
|
||||||
|
deleteFilamentByFilterRouteHandler,
|
||||||
getFilamentStatsRouteHandler,
|
getFilamentStatsRouteHandler,
|
||||||
getFilamentHistoryRouteHandler,
|
getFilamentHistoryRouteHandler,
|
||||||
searchFilamentsRouteHandler,
|
searchFilamentsRouteHandler,
|
||||||
@ -134,6 +135,25 @@ router.put('/:id', isAuthenticated, checkPermissions('filament', 'edit'), async
|
|||||||
editFilamentRouteHandler(req, res);
|
editFilamentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('filament', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFilamentByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFilamentRouteHandler(req, res);
|
deleteFilamentRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import {
|
|||||||
editFilamentSkuRouteHandler,
|
editFilamentSkuRouteHandler,
|
||||||
newFilamentSkuRouteHandler,
|
newFilamentSkuRouteHandler,
|
||||||
deleteFilamentSkuRouteHandler,
|
deleteFilamentSkuRouteHandler,
|
||||||
|
deleteFilamentSkuByFilterRouteHandler,
|
||||||
listFilamentSkusByPropertiesRouteHandler,
|
listFilamentSkusByPropertiesRouteHandler,
|
||||||
getFilamentSkuStatsRouteHandler,
|
getFilamentSkuStatsRouteHandler,
|
||||||
getFilamentSkuHistoryRouteHandler,
|
getFilamentSkuHistoryRouteHandler,
|
||||||
@ -140,6 +141,25 @@ router.put('/:id', isAuthenticated, checkPermissions('filamentSku', 'edit'), asy
|
|||||||
editFilamentSkuRouteHandler(req, res);
|
editFilamentSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('filamentSku', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFilamentSkuByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFilamentSkuRouteHandler(req, res);
|
deleteFilamentSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -26,6 +26,7 @@ import {
|
|||||||
newFileRouteHandler,
|
newFileRouteHandler,
|
||||||
flushFileRouteHandler,
|
flushFileRouteHandler,
|
||||||
deleteFileRouteHandler,
|
deleteFileRouteHandler,
|
||||||
|
deleteFileByFilterRouteHandler,
|
||||||
listFilesByPropertiesRouteHandler,
|
listFilesByPropertiesRouteHandler,
|
||||||
getFileStatsRouteHandler,
|
getFileStatsRouteHandler,
|
||||||
getFileHistoryRouteHandler,
|
getFileHistoryRouteHandler,
|
||||||
@ -116,6 +117,25 @@ router.put('/:id', isAuthenticated, checkPermissions('file', 'edit'), async (req
|
|||||||
editFileRouteHandler(req, res);
|
editFileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('file', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFileByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFileRouteHandler(req, res);
|
deleteFileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import {
|
|||||||
editHostRouteHandler,
|
editHostRouteHandler,
|
||||||
newHostRouteHandler,
|
newHostRouteHandler,
|
||||||
deleteHostRouteHandler,
|
deleteHostRouteHandler,
|
||||||
|
deleteHostByFilterRouteHandler,
|
||||||
listHostsByPropertiesRouteHandler,
|
listHostsByPropertiesRouteHandler,
|
||||||
getHostStatsRouteHandler,
|
getHostStatsRouteHandler,
|
||||||
getHostHistoryRouteHandler,
|
getHostHistoryRouteHandler,
|
||||||
@ -100,6 +101,25 @@ router.put('/:id', isAuthenticated, checkPermissions('host', 'edit'), async (req
|
|||||||
editHostRouteHandler(req, res);
|
editHostRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('host', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteHostByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteHostRouteHandler(req, res);
|
deleteHostRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,6 +14,8 @@ import {
|
|||||||
getMaterialRouteHandler,
|
getMaterialRouteHandler,
|
||||||
editMaterialRouteHandler,
|
editMaterialRouteHandler,
|
||||||
newMaterialRouteHandler,
|
newMaterialRouteHandler,
|
||||||
|
deleteMaterialRouteHandler,
|
||||||
|
deleteMaterialByFilterRouteHandler,
|
||||||
getMaterialStatsRouteHandler,
|
getMaterialStatsRouteHandler,
|
||||||
getMaterialHistoryRouteHandler,
|
getMaterialHistoryRouteHandler,
|
||||||
searchMaterialsRouteHandler,
|
searchMaterialsRouteHandler,
|
||||||
@ -101,4 +103,27 @@ router.put('/:id', isAuthenticated, checkPermissions('material', 'edit'), async
|
|||||||
editMaterialRouteHandler(req, res);
|
editMaterialRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('material', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteMaterialByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
|
router.delete('/:id', isAuthenticated, checkPermissions('material', 'delete'), async (req, res) => {
|
||||||
|
deleteMaterialRouteHandler(req, res);
|
||||||
|
});
|
||||||
|
|
||||||
export default router;
|
export default router;
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import {
|
|||||||
editNoteTypeRouteHandler,
|
editNoteTypeRouteHandler,
|
||||||
newNoteTypeRouteHandler,
|
newNoteTypeRouteHandler,
|
||||||
deleteNoteTypeRouteHandler,
|
deleteNoteTypeRouteHandler,
|
||||||
|
deleteNoteTypeByFilterRouteHandler,
|
||||||
listNoteTypesByPropertiesRouteHandler,
|
listNoteTypesByPropertiesRouteHandler,
|
||||||
getNoteTypeStatsRouteHandler,
|
getNoteTypeStatsRouteHandler,
|
||||||
getNoteTypeHistoryRouteHandler,
|
getNoteTypeHistoryRouteHandler,
|
||||||
@ -92,6 +93,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getNoteTypeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getNoteTypeNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('noteType', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteNoteTypeByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getNoteTypeRouteHandler(req, res);
|
getNoteTypeRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -37,6 +37,7 @@ import {
|
|||||||
editPartRouteHandler,
|
editPartRouteHandler,
|
||||||
newPartRouteHandler,
|
newPartRouteHandler,
|
||||||
deletePartRouteHandler,
|
deletePartRouteHandler,
|
||||||
|
deletePartByFilterRouteHandler,
|
||||||
listPartsByPropertiesRouteHandler,
|
listPartsByPropertiesRouteHandler,
|
||||||
getPartStatsRouteHandler,
|
getPartStatsRouteHandler,
|
||||||
getPartHistoryRouteHandler,
|
getPartHistoryRouteHandler,
|
||||||
@ -116,6 +117,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
);
|
);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('part', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePartByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getPartRouteHandler(req, res);
|
getPartRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -43,6 +43,7 @@ import {
|
|||||||
editPartSkuRouteHandler,
|
editPartSkuRouteHandler,
|
||||||
newPartSkuRouteHandler,
|
newPartSkuRouteHandler,
|
||||||
deletePartSkuRouteHandler,
|
deletePartSkuRouteHandler,
|
||||||
|
deletePartSkuByFilterRouteHandler,
|
||||||
listPartSkusByPropertiesRouteHandler,
|
listPartSkusByPropertiesRouteHandler,
|
||||||
getPartSkuStatsRouteHandler,
|
getPartSkuStatsRouteHandler,
|
||||||
getPartSkuHistoryRouteHandler,
|
getPartSkuHistoryRouteHandler,
|
||||||
@ -131,6 +132,25 @@ router.put('/:id', isAuthenticated, checkPermissions('partSku', 'edit'), async (
|
|||||||
editPartSkuRouteHandler(req, res);
|
editPartSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('partSku', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePartSkuByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePartSkuRouteHandler(req, res);
|
deletePartSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import {
|
|||||||
editPermissionSettingsRouteHandler,
|
editPermissionSettingsRouteHandler,
|
||||||
newPermissionSettingsRouteHandler,
|
newPermissionSettingsRouteHandler,
|
||||||
deletePermissionSettingsRouteHandler,
|
deletePermissionSettingsRouteHandler,
|
||||||
|
deletePermissionSettingsByFilterRouteHandler,
|
||||||
listPermissionSettingsByPropertiesRouteHandler,
|
listPermissionSettingsByPropertiesRouteHandler,
|
||||||
getPermissionSettingsStatsRouteHandler,
|
getPermissionSettingsStatsRouteHandler,
|
||||||
getPermissionSettingsHistoryRouteHandler,
|
getPermissionSettingsHistoryRouteHandler,
|
||||||
@ -148,6 +149,25 @@ router.put(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('permissionSetting', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePermissionSettingsByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete(
|
router.delete(
|
||||||
'/:id',
|
'/:id',
|
||||||
isAuthenticated,
|
isAuthenticated,
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { checkPermissions } from '../../database/permissions.js';
|
|||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
import {
|
import {
|
||||||
deleteProductCategoryRouteHandler,
|
deleteProductCategoryRouteHandler,
|
||||||
|
deleteProductCategoryByFilterRouteHandler,
|
||||||
editProductCategoryRouteHandler,
|
editProductCategoryRouteHandler,
|
||||||
getProductCategoryHistoryRouteHandler,
|
getProductCategoryHistoryRouteHandler,
|
||||||
getProductCategoryRouteHandler,
|
getProductCategoryRouteHandler,
|
||||||
@ -96,6 +97,25 @@ router.put('/:id', isAuthenticated, checkPermissions('productCategory', 'edit'),
|
|||||||
editProductCategoryRouteHandler(req, res);
|
editProductCategoryRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('productCategory', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteProductCategoryByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteProductCategoryRouteHandler(req, res);
|
deleteProductCategoryRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import {
|
|||||||
editProductRouteHandler,
|
editProductRouteHandler,
|
||||||
newProductRouteHandler,
|
newProductRouteHandler,
|
||||||
deleteProductRouteHandler,
|
deleteProductRouteHandler,
|
||||||
|
deleteProductByFilterRouteHandler,
|
||||||
listProductsByPropertiesRouteHandler,
|
listProductsByPropertiesRouteHandler,
|
||||||
getProductStatsRouteHandler,
|
getProductStatsRouteHandler,
|
||||||
getProductHistoryRouteHandler,
|
getProductHistoryRouteHandler,
|
||||||
@ -111,6 +112,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getProductNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getProductNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('product', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteProductByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, async (req, res) => {
|
router.get('/:id', isAuthenticated, async (req, res) => {
|
||||||
getProductRouteHandler(req, res);
|
getProductRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -43,6 +43,7 @@ import {
|
|||||||
editProductSkuRouteHandler,
|
editProductSkuRouteHandler,
|
||||||
newProductSkuRouteHandler,
|
newProductSkuRouteHandler,
|
||||||
deleteProductSkuRouteHandler,
|
deleteProductSkuRouteHandler,
|
||||||
|
deleteProductSkuByFilterRouteHandler,
|
||||||
listProductSkusByPropertiesRouteHandler,
|
listProductSkusByPropertiesRouteHandler,
|
||||||
getProductSkuStatsRouteHandler,
|
getProductSkuStatsRouteHandler,
|
||||||
getProductSkuHistoryRouteHandler,
|
getProductSkuHistoryRouteHandler,
|
||||||
@ -136,6 +137,25 @@ router.put('/:id', isAuthenticated, checkPermissions('productSku', 'edit'), asyn
|
|||||||
editProductSkuRouteHandler(req, res);
|
editProductSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('productSku', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteProductSkuByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteProductSkuRouteHandler(req, res);
|
deleteProductSkuRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -15,6 +15,7 @@ import {
|
|||||||
editStockAuditLevelRouteHandler,
|
editStockAuditLevelRouteHandler,
|
||||||
newStockAuditLevelRouteHandler,
|
newStockAuditLevelRouteHandler,
|
||||||
deleteStockAuditLevelRouteHandler,
|
deleteStockAuditLevelRouteHandler,
|
||||||
|
deleteStockAuditLevelByFilterRouteHandler,
|
||||||
listStockAuditLevelsByPropertiesRouteHandler,
|
listStockAuditLevelsByPropertiesRouteHandler,
|
||||||
getStockAuditLevelStatsRouteHandler,
|
getStockAuditLevelStatsRouteHandler,
|
||||||
getStockAuditLevelHistoryRouteHandler,
|
getStockAuditLevelHistoryRouteHandler,
|
||||||
@ -124,6 +125,25 @@ router.put(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('stockAuditLevel', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteStockAuditLevelByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteStockAuditLevelRouteHandler(req, res);
|
deleteStockAuditLevelRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -34,6 +34,7 @@ import {
|
|||||||
editTaxRateRouteHandler,
|
editTaxRateRouteHandler,
|
||||||
newTaxRateRouteHandler,
|
newTaxRateRouteHandler,
|
||||||
deleteTaxRateRouteHandler,
|
deleteTaxRateRouteHandler,
|
||||||
|
deleteTaxRateByFilterRouteHandler,
|
||||||
listTaxRatesByPropertiesRouteHandler,
|
listTaxRatesByPropertiesRouteHandler,
|
||||||
getTaxRateStatsRouteHandler,
|
getTaxRateStatsRouteHandler,
|
||||||
getTaxRateHistoryRouteHandler,
|
getTaxRateHistoryRouteHandler,
|
||||||
@ -112,6 +113,25 @@ router.put('/:id', isAuthenticated, checkPermissions('taxRate', 'edit'), async (
|
|||||||
editTaxRateRouteHandler(req, res);
|
editTaxRateRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('taxRate', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteTaxRateByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteTaxRateRouteHandler(req, res);
|
deleteTaxRateRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import {
|
|||||||
editUserGroupRouteHandler,
|
editUserGroupRouteHandler,
|
||||||
newUserGroupRouteHandler,
|
newUserGroupRouteHandler,
|
||||||
deleteUserGroupRouteHandler,
|
deleteUserGroupRouteHandler,
|
||||||
|
deleteUserGroupByFilterRouteHandler,
|
||||||
listUserGroupsByPropertiesRouteHandler,
|
listUserGroupsByPropertiesRouteHandler,
|
||||||
getUserGroupStatsRouteHandler,
|
getUserGroupStatsRouteHandler,
|
||||||
getUserGroupHistoryRouteHandler,
|
getUserGroupHistoryRouteHandler,
|
||||||
@ -107,6 +108,25 @@ router.put('/:id', isAuthenticated, checkPermissions('userGroup', 'edit'), async
|
|||||||
editUserGroupRouteHandler(req, res);
|
editUserGroupRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('userGroup', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteUserGroupByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteUserGroupRouteHandler(req, res);
|
deleteUserGroupRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -22,6 +22,7 @@ import {
|
|||||||
editVendorRouteHandler,
|
editVendorRouteHandler,
|
||||||
newVendorRouteHandler,
|
newVendorRouteHandler,
|
||||||
deleteVendorRouteHandler,
|
deleteVendorRouteHandler,
|
||||||
|
deleteVendorByFilterRouteHandler,
|
||||||
listVendorsByPropertiesRouteHandler,
|
listVendorsByPropertiesRouteHandler,
|
||||||
getVendorStatsRouteHandler,
|
getVendorStatsRouteHandler,
|
||||||
getVendorHistoryRouteHandler,
|
getVendorHistoryRouteHandler,
|
||||||
@ -100,6 +101,25 @@ router.put('/:id', isAuthenticated, checkPermissions('vendor', 'edit'), async (r
|
|||||||
editVendorRouteHandler(req, res);
|
editVendorRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('vendor', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteVendorByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteVendorRouteHandler(req, res);
|
deleteVendorRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { checkPermissions } from '../../database/permissions.js';
|
|||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
import {
|
import {
|
||||||
deleteFilamentProfileRouteHandler,
|
deleteFilamentProfileRouteHandler,
|
||||||
|
deleteFilamentProfileByFilterRouteHandler,
|
||||||
editFilamentProfileRouteHandler,
|
editFilamentProfileRouteHandler,
|
||||||
getFilamentProfileRouteHandler,
|
getFilamentProfileRouteHandler,
|
||||||
listFilamentProfilesByPropertiesRouteHandler,
|
listFilamentProfilesByPropertiesRouteHandler,
|
||||||
@ -106,6 +107,25 @@ router.put(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('filamentProfile', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFilamentProfileByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFilamentProfileRouteHandler(req, res);
|
deleteFilamentProfileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -28,7 +28,8 @@ import {
|
|||||||
searchGCodeFilesRouteHandler,
|
searchGCodeFilesRouteHandler,
|
||||||
getGCodeFilePropertyValuesRouteHandler,
|
getGCodeFilePropertyValuesRouteHandler,
|
||||||
|
|
||||||
getGCodeFileNeighborsRouteHandler
|
getGCodeFileNeighborsRouteHandler,
|
||||||
|
deleteGCodeFileByFilterRouteHandler
|
||||||
} from '../../services/production/gcodefiles.js';
|
} from '../../services/production/gcodefiles.js';
|
||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
|
|
||||||
@ -89,6 +90,25 @@ router.get('/neighbors', isAuthenticated, async (req, res) => {
|
|||||||
getGCodeFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
getGCodeFileNeighborsRouteHandler(req, res, property, filter, search, getSort(sortProperty, listAllowedSorters), sortOrder, id);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('gcodeFile', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteGCodeFileByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, checkPermissions('gcodeFile', 'info'), async (req, res) => {
|
router.get('/:id', isAuthenticated, checkPermissions('gcodeFile', 'info'), async (req, res) => {
|
||||||
getGCodeFileRouteHandler(req, res);
|
getGCodeFileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -32,6 +32,7 @@ import {
|
|||||||
getJobRouteHandler,
|
getJobRouteHandler,
|
||||||
newJobRouteHandler,
|
newJobRouteHandler,
|
||||||
deleteJobRouteHandler,
|
deleteJobRouteHandler,
|
||||||
|
deleteJobByFilterRouteHandler,
|
||||||
editJobRouteHandler,
|
editJobRouteHandler,
|
||||||
getJobStatsRouteHandler,
|
getJobStatsRouteHandler,
|
||||||
getJobHistoryRouteHandler,
|
getJobHistoryRouteHandler,
|
||||||
@ -125,6 +126,25 @@ router.put('/:id', isAuthenticated, checkPermissions('job', 'edit'), async (req,
|
|||||||
editJobRouteHandler(req, res);
|
editJobRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('job', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteJobByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteJobRouteHandler(req, res);
|
deleteJobRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import { checkPermissions } from '../../database/permissions.js';
|
|||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
import {
|
import {
|
||||||
deletePrinterProfileRouteHandler,
|
deletePrinterProfileRouteHandler,
|
||||||
|
deletePrinterProfileByFilterRouteHandler,
|
||||||
editPrinterProfileRouteHandler,
|
editPrinterProfileRouteHandler,
|
||||||
getPrinterProfileRouteHandler,
|
getPrinterProfileRouteHandler,
|
||||||
listPrinterProfilesByPropertiesRouteHandler,
|
listPrinterProfilesByPropertiesRouteHandler,
|
||||||
@ -86,6 +87,25 @@ router.put('/:id', isAuthenticated, checkPermissions('printerProfile', 'edit'),
|
|||||||
editPrinterProfileRouteHandler(req, res);
|
editPrinterProfileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('printerProfile', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePrinterProfileByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deletePrinterProfileRouteHandler(req, res);
|
deletePrinterProfileRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -14,6 +14,7 @@ import {
|
|||||||
searchPrintersRouteHandler,
|
searchPrintersRouteHandler,
|
||||||
getPrinterPropertyValuesRouteHandler,
|
getPrinterPropertyValuesRouteHandler,
|
||||||
getPrinterNeighborsRouteHandler,
|
getPrinterNeighborsRouteHandler,
|
||||||
|
deletePrinterByFilterRouteHandler,
|
||||||
} from '../../services/production/printers.js';
|
} from '../../services/production/printers.js';
|
||||||
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
import { convertPropertiesString, getFilter, getSort } from '../../utils.js';
|
||||||
|
|
||||||
@ -93,6 +94,25 @@ router.get('/stats', isAuthenticated, async (req, res) => {
|
|||||||
getPrinterStatsRouteHandler(req, res);
|
getPrinterStatsRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('printer', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deletePrinterByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.get('/:id', isAuthenticated, checkPermissions('printer', 'info'), async (req, res) => {
|
router.get('/:id', isAuthenticated, checkPermissions('printer', 'info'), async (req, res) => {
|
||||||
getPrinterRouteHandler(req, res);
|
getPrinterRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -31,6 +31,7 @@ import {
|
|||||||
editClientRouteHandler,
|
editClientRouteHandler,
|
||||||
newClientRouteHandler,
|
newClientRouteHandler,
|
||||||
deleteClientRouteHandler,
|
deleteClientRouteHandler,
|
||||||
|
deleteClientByFilterRouteHandler,
|
||||||
listClientsByPropertiesRouteHandler,
|
listClientsByPropertiesRouteHandler,
|
||||||
getClientStatsRouteHandler,
|
getClientStatsRouteHandler,
|
||||||
getClientHistoryRouteHandler,
|
getClientHistoryRouteHandler,
|
||||||
@ -109,6 +110,25 @@ router.put('/:id', isAuthenticated, checkPermissions('client', 'edit'), async (r
|
|||||||
editClientRouteHandler(req, res);
|
editClientRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('client', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteClientByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteClientRouteHandler(req, res);
|
deleteClientRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import {
|
|||||||
editFulfillmentPolicyRouteHandler,
|
editFulfillmentPolicyRouteHandler,
|
||||||
newFulfillmentPolicyRouteHandler,
|
newFulfillmentPolicyRouteHandler,
|
||||||
deleteFulfillmentPolicyRouteHandler,
|
deleteFulfillmentPolicyRouteHandler,
|
||||||
|
deleteFulfillmentPolicyByFilterRouteHandler,
|
||||||
listFulfillmentPoliciesByPropertiesRouteHandler,
|
listFulfillmentPoliciesByPropertiesRouteHandler,
|
||||||
getFulfillmentPolicyStatsRouteHandler,
|
getFulfillmentPolicyStatsRouteHandler,
|
||||||
getFulfillmentPolicyHistoryRouteHandler,
|
getFulfillmentPolicyHistoryRouteHandler,
|
||||||
@ -139,6 +140,25 @@ router.put(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('fulfillmentPolicy', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteFulfillmentPolicyByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteFulfillmentPolicyRouteHandler(req, res);
|
deleteFulfillmentPolicyRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -59,6 +59,7 @@ import {
|
|||||||
editListingRouteHandler,
|
editListingRouteHandler,
|
||||||
newListingRouteHandler,
|
newListingRouteHandler,
|
||||||
deleteListingRouteHandler,
|
deleteListingRouteHandler,
|
||||||
|
deleteListingByFilterRouteHandler,
|
||||||
listListingsByPropertiesRouteHandler,
|
listListingsByPropertiesRouteHandler,
|
||||||
getListingStatsRouteHandler,
|
getListingStatsRouteHandler,
|
||||||
getListingHistoryRouteHandler,
|
getListingHistoryRouteHandler,
|
||||||
@ -167,6 +168,25 @@ router.put('/:id', isAuthenticated, checkPermissions('listing', 'edit'), async (
|
|||||||
editListingRouteHandler(req, res);
|
editListingRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('listing', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteListingByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteListingRouteHandler(req, res);
|
deleteListingRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -46,6 +46,7 @@ import {
|
|||||||
editListingVarientRouteHandler,
|
editListingVarientRouteHandler,
|
||||||
newListingVarientRouteHandler,
|
newListingVarientRouteHandler,
|
||||||
deleteListingVarientRouteHandler,
|
deleteListingVarientRouteHandler,
|
||||||
|
deleteListingVarientByFilterRouteHandler,
|
||||||
listListingVarientsByPropertiesRouteHandler,
|
listListingVarientsByPropertiesRouteHandler,
|
||||||
getListingVarientStatsRouteHandler,
|
getListingVarientStatsRouteHandler,
|
||||||
getListingVarientHistoryRouteHandler,
|
getListingVarientHistoryRouteHandler,
|
||||||
@ -184,6 +185,27 @@ router.put(
|
|||||||
}
|
}
|
||||||
);
|
);
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('listingVarient', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true,
|
||||||
|
listingVarientModel
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true,
|
||||||
|
listingVarientModel
|
||||||
|
);
|
||||||
|
deleteListingVarientByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteListingVarientRouteHandler(req, res);
|
deleteListingVarientRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -41,6 +41,7 @@ import {
|
|||||||
editMarketplaceRouteHandler,
|
editMarketplaceRouteHandler,
|
||||||
newMarketplaceRouteHandler,
|
newMarketplaceRouteHandler,
|
||||||
deleteMarketplaceRouteHandler,
|
deleteMarketplaceRouteHandler,
|
||||||
|
deleteMarketplaceByFilterRouteHandler,
|
||||||
listMarketplacesByPropertiesRouteHandler,
|
listMarketplacesByPropertiesRouteHandler,
|
||||||
getMarketplaceStatsRouteHandler,
|
getMarketplaceStatsRouteHandler,
|
||||||
getMarketplaceHistoryRouteHandler,
|
getMarketplaceHistoryRouteHandler,
|
||||||
@ -295,6 +296,25 @@ router.put('/:id', isAuthenticated, checkPermissions('marketplace', 'edit'), asy
|
|||||||
editMarketplaceRouteHandler(req, res);
|
editMarketplaceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('marketplace', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteMarketplaceByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteMarketplaceRouteHandler(req, res);
|
deleteMarketplaceRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -8,6 +8,7 @@ import {
|
|||||||
editReturnPolicyRouteHandler,
|
editReturnPolicyRouteHandler,
|
||||||
newReturnPolicyRouteHandler,
|
newReturnPolicyRouteHandler,
|
||||||
deleteReturnPolicyRouteHandler,
|
deleteReturnPolicyRouteHandler,
|
||||||
|
deleteReturnPolicyByFilterRouteHandler,
|
||||||
listReturnPoliciesByPropertiesRouteHandler,
|
listReturnPoliciesByPropertiesRouteHandler,
|
||||||
getReturnPolicyStatsRouteHandler,
|
getReturnPolicyStatsRouteHandler,
|
||||||
getReturnPolicyHistoryRouteHandler,
|
getReturnPolicyHistoryRouteHandler,
|
||||||
@ -137,6 +138,25 @@ router.put('/:id', isAuthenticated, checkPermissions('returnPolicy', 'edit'), as
|
|||||||
editReturnPolicyRouteHandler(req, res);
|
editReturnPolicyRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('returnPolicy', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteReturnPolicyByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteReturnPolicyRouteHandler(req, res);
|
deleteReturnPolicyRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -23,6 +23,7 @@ import {
|
|||||||
editMultipleSalesOrdersRouteHandler,
|
editMultipleSalesOrdersRouteHandler,
|
||||||
newSalesOrderRouteHandler,
|
newSalesOrderRouteHandler,
|
||||||
deleteSalesOrderRouteHandler,
|
deleteSalesOrderRouteHandler,
|
||||||
|
deleteSalesOrderByFilterRouteHandler,
|
||||||
listSalesOrdersByPropertiesRouteHandler,
|
listSalesOrdersByPropertiesRouteHandler,
|
||||||
getSalesOrderStatsRouteHandler,
|
getSalesOrderStatsRouteHandler,
|
||||||
getSalesOrderHistoryRouteHandler,
|
getSalesOrderHistoryRouteHandler,
|
||||||
@ -107,6 +108,25 @@ router.put('/:id', isAuthenticated, checkPermissions('salesOrder', 'edit'), asyn
|
|||||||
editSalesOrderRouteHandler(req, res);
|
editSalesOrderRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|
||||||
|
router.delete(
|
||||||
|
'/delete',
|
||||||
|
isAuthenticated,
|
||||||
|
checkPermissions('salesOrder', 'delete'),
|
||||||
|
async (req, res) => {
|
||||||
|
const filter = await getFilter(
|
||||||
|
req.query.filter ? JSON.parse(req.query.filter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
const masterFilter = await getFilter(
|
||||||
|
req.query.masterFilter ? JSON.parse(req.query.masterFilter) : {},
|
||||||
|
listAllowedFilters,
|
||||||
|
true
|
||||||
|
);
|
||||||
|
deleteSalesOrderByFilterRouteHandler(req, res, filter, masterFilter);
|
||||||
|
}
|
||||||
|
);
|
||||||
|
|
||||||
router.delete('/:id', isAuthenticated, async (req, res) => {
|
router.delete('/:id', isAuthenticated, async (req, res) => {
|
||||||
deleteSalesOrderRouteHandler(req, res);
|
deleteSalesOrderRouteHandler(req, res);
|
||||||
});
|
});
|
||||||
|
|||||||
@ -10,6 +10,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -322,6 +323,26 @@ export const newInvoiceRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteInvoiceByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: invoiceModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered Invoice:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteInvoiceRouteHandler = async (req, res) => {
|
export const deleteInvoiceRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -171,6 +172,26 @@ export const newPaymentPolicyRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deletePaymentPolicyByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: paymentPolicyModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered PaymentPolicy:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deletePaymentPolicyRouteHandler = async (req, res) => {
|
export const deletePaymentPolicyRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
const result = await deleteObject({
|
const result = await deleteObject({
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -240,6 +241,26 @@ export const newPaymentRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deletePaymentByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: paymentModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered Payment:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deletePaymentRouteHandler = async (req, res) => {
|
export const deletePaymentRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -170,6 +171,26 @@ export const newTaxRecordRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteTaxRecordByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: taxRecordModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered TaxRecord:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteTaxRecordRouteHandler = async (req, res) => {
|
export const deleteTaxRecordRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -10,6 +10,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -229,6 +230,27 @@ export const newFilamentStockRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteFilamentStockByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: filamentStockModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
states: ['draft'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered FilamentStock:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteFilamentStockRouteHandler = async (req, res) => {
|
export const deleteFilamentStockRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -5,6 +5,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -380,6 +381,26 @@ export const newOrderItemRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteOrderItemByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: orderItemModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered OrderItem:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteOrderItemRouteHandler = async (req, res) => {
|
export const deleteOrderItemRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -218,6 +219,27 @@ export const newPartStockRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deletePartStockByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: partStockModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
states: ['draft'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered PartStock:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deletePartStockRouteHandler = async (req, res) => {
|
export const deletePartStockRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -290,6 +291,27 @@ export const newProductStockRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteProductStockByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: productStockModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
states: ['draft'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered ProductStock:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteProductStockRouteHandler = async (req, res) => {
|
export const deleteProductStockRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -213,6 +214,26 @@ export const newPurchaseOrderRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deletePurchaseOrderByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: purchaseOrderModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered PurchaseOrder:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deletePurchaseOrderRouteHandler = async (req, res) => {
|
export const deletePurchaseOrderRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -219,6 +220,26 @@ export const newShipmentRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteShipmentByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: shipmentModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered Shipment:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteShipmentRouteHandler = async (req, res) => {
|
export const deleteShipmentRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -445,6 +446,27 @@ export const newStockAuditRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteStockAuditByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: stockAuditModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
states: ['draft'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered StockAudit:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteStockAuditRouteHandler = async (req, res) => {
|
export const deleteStockAuditRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -182,6 +183,26 @@ export const newStockLocationRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteStockLocationByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: stockLocationModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered StockLocation:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteStockLocationRouteHandler = async (req, res) => {
|
export const deleteStockLocationRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -432,6 +433,27 @@ export const newStockTransferRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteStockTransferByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: stockTransferModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
states: ['draft'],
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered StockTransfer:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteStockTransferRouteHandler = async (req, res) => {
|
export const deleteStockTransferRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -6,6 +6,7 @@ jest.unstable_mockModule('../../../database/schemas/management/emailaccount.sche
|
|||||||
}));
|
}));
|
||||||
jest.unstable_mockModule('../../../database/database.js', () => ({
|
jest.unstable_mockModule('../../../database/database.js', () => ({
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
getObject: jest.fn(),
|
getObject: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -5,6 +5,7 @@ jest.unstable_mockModule('../../../database/schemas/management/emailtemplate.sch
|
|||||||
}));
|
}));
|
||||||
jest.unstable_mockModule('../../../database/database.js', () => ({
|
jest.unstable_mockModule('../../../database/database.js', () => ({
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
getObject: jest.fn(),
|
getObject: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -9,6 +9,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObjects: jest.fn(),
|
editObjects: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
flushFile: jest.fn(),
|
flushFile: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,8 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
getObject: jest.fn(),
|
getObject: jest.fn(),
|
||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
getObjectNeighbors: jest.fn(),
|
getObjectNeighbors: jest.fn(),
|
||||||
@ -33,9 +35,13 @@ const {
|
|||||||
listMaterialsRouteHandler,
|
listMaterialsRouteHandler,
|
||||||
getMaterialRouteHandler,
|
getMaterialRouteHandler,
|
||||||
newMaterialRouteHandler,
|
newMaterialRouteHandler,
|
||||||
|
deleteMaterialRouteHandler,
|
||||||
|
deleteMaterialByFilterRouteHandler,
|
||||||
} = await import('../materials.js');
|
} = await import('../materials.js');
|
||||||
|
|
||||||
const { listObjects, getObject, newObject } = await import('../../../database/database.js');
|
const { listObjects, getObject, deleteObject, deleteObjects } = await import(
|
||||||
|
'../../../database/database.js'
|
||||||
|
);
|
||||||
const { materialModel } = await import('../../../database/schemas/management/material.schema.js');
|
const { materialModel } = await import('../../../database/schemas/management/material.schema.js');
|
||||||
|
|
||||||
describe('Material Service Route Handlers', () => {
|
describe('Material Service Route Handlers', () => {
|
||||||
@ -79,5 +85,49 @@ describe('Material Service Route Handlers', () => {
|
|||||||
expect(res.send).toHaveBeenCalledWith(mockMaterial);
|
expect(res.send).toHaveBeenCalledWith(mockMaterial);
|
||||||
});
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
describe('deleteMaterialRouteHandler', () => {
|
||||||
|
it('should delete a material by ID', async () => {
|
||||||
|
req.params.id = '507f1f77bcf86cd799439011';
|
||||||
|
const deletedMaterial = { _id: req.params.id, name: 'PLA' };
|
||||||
|
deleteObject.mockResolvedValue(deletedMaterial);
|
||||||
|
|
||||||
|
await deleteMaterialRouteHandler(req, res);
|
||||||
|
|
||||||
|
expect(deleteObject).toHaveBeenCalledWith(
|
||||||
|
expect.objectContaining({
|
||||||
|
model: materialModel,
|
||||||
|
user: req.user,
|
||||||
|
})
|
||||||
|
);
|
||||||
|
expect(res.send).toHaveBeenCalledWith(deletedMaterial);
|
||||||
|
});
|
||||||
|
});
|
||||||
|
|
||||||
|
describe('deleteMaterialByFilterRouteHandler', () => {
|
||||||
|
it('should delete materials matching the merged filters', async () => {
|
||||||
|
const result = {
|
||||||
|
matchedCount: 2,
|
||||||
|
deletedCount: 2,
|
||||||
|
failedCount: 0,
|
||||||
|
errors: [],
|
||||||
|
};
|
||||||
|
deleteObjects.mockResolvedValue(result);
|
||||||
|
|
||||||
|
await deleteMaterialByFilterRouteHandler(
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
{ name: 'PLA' },
|
||||||
|
{ tags: 'stock' }
|
||||||
|
);
|
||||||
|
|
||||||
|
expect(deleteObjects).toHaveBeenCalledWith({
|
||||||
|
model: materialModel,
|
||||||
|
filter: { tags: 'stock', name: 'PLA' },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
expect(res.send).toHaveBeenCalledWith(result);
|
||||||
|
});
|
||||||
|
});
|
||||||
});
|
});
|
||||||
|
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -8,6 +8,7 @@ jest.unstable_mockModule('../../../database/database.js', () => ({
|
|||||||
editObject: jest.fn(),
|
editObject: jest.fn(),
|
||||||
newObject: jest.fn(),
|
newObject: jest.fn(),
|
||||||
deleteObject: jest.fn(),
|
deleteObject: jest.fn(),
|
||||||
|
deleteObjects: jest.fn(),
|
||||||
listObjectsByProperties: jest.fn(),
|
listObjectsByProperties: jest.fn(),
|
||||||
getModelStats: jest.fn(),
|
getModelStats: jest.fn(),
|
||||||
getModelHistory: jest.fn(),
|
getModelHistory: jest.fn(),
|
||||||
|
|||||||
@ -11,6 +11,7 @@ import {
|
|||||||
editObject,
|
editObject,
|
||||||
newObject,
|
newObject,
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
getModelStats,
|
getModelStats,
|
||||||
getModelHistory,
|
getModelHistory,
|
||||||
searchObjects,
|
searchObjects,
|
||||||
@ -178,6 +179,26 @@ export const newAppPasswordRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteAppPasswordByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: appPasswordModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered AppPassword:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteAppPasswordRouteHandler = async (req, res) => {
|
export const deleteAppPasswordRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -171,6 +172,26 @@ export const newCourierRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteCourierByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: courierModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered Courier:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteCourierRouteHandler = async (req, res) => {
|
export const deleteCourierRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -193,6 +194,26 @@ export const newCourierServiceRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteCourierServiceByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: courierServiceModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered CourierService:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteCourierServiceRouteHandler = async (req, res) => {
|
export const deleteCourierServiceRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -182,6 +183,26 @@ export const newDocumentPrinterRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteDocumentPrinterByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: documentPrinterModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered DocumentPrinter:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteDocumentPrinterRouteHandler = async (req, res) => {
|
export const deleteDocumentPrinterRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -176,6 +177,26 @@ export const newDocumentSizeRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteDocumentSizeByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: documentSizeModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered DocumentSize:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteDocumentSizeRouteHandler = async (req, res) => {
|
export const deleteDocumentSizeRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -4,6 +4,7 @@ import log4js from 'log4js';
|
|||||||
import mongoose from 'mongoose';
|
import mongoose from 'mongoose';
|
||||||
import {
|
import {
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
listObjects,
|
listObjects,
|
||||||
getObject,
|
getObject,
|
||||||
editObject,
|
editObject,
|
||||||
@ -239,6 +240,26 @@ export const newDocumentTemplateRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteDocumentTemplateByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: documentTemplateModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered DocumentTemplate:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteDocumentTemplateRouteHandler = async (req, res) => {
|
export const deleteDocumentTemplateRouteHandler = async (req, res) => {
|
||||||
// Get ID from params
|
// Get ID from params
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import {
|
|||||||
editObject,
|
editObject,
|
||||||
newObject,
|
newObject,
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
getModelStats,
|
getModelStats,
|
||||||
getModelHistory,
|
getModelHistory,
|
||||||
searchObjects,
|
searchObjects,
|
||||||
@ -182,6 +183,27 @@ export const newEmailAccountRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteEmailAccountByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: emailAccountModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
checkUnused: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered EmailAccount:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteEmailAccountRouteHandler = async (req, res) => {
|
export const deleteEmailAccountRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -9,6 +9,7 @@ import {
|
|||||||
editObject,
|
editObject,
|
||||||
newObject,
|
newObject,
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
getModelStats,
|
getModelStats,
|
||||||
getModelHistory,
|
getModelHistory,
|
||||||
searchObjects,
|
searchObjects,
|
||||||
@ -222,6 +223,27 @@ export const newEmailTemplateRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteEmailTemplateByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: emailTemplateModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
checkUnused: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered EmailTemplate:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteEmailTemplateRouteHandler = async (req, res) => {
|
export const deleteEmailTemplateRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
@ -10,6 +10,7 @@ import {
|
|||||||
editObjects,
|
editObjects,
|
||||||
newObject,
|
newObject,
|
||||||
deleteObject,
|
deleteObject,
|
||||||
|
deleteObjects,
|
||||||
getModelStats,
|
getModelStats,
|
||||||
getModelHistory,
|
getModelHistory,
|
||||||
searchObjects,
|
searchObjects,
|
||||||
@ -227,6 +228,27 @@ export const newFilamentRouteHandler = async (req, res) => {
|
|||||||
res.send(result);
|
res.send(result);
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export const deleteFilamentByFilterRouteHandler = async (
|
||||||
|
req,
|
||||||
|
res,
|
||||||
|
filter = {},
|
||||||
|
masterFilter = {}
|
||||||
|
) => {
|
||||||
|
const result = await deleteObjects({
|
||||||
|
model: filamentModel,
|
||||||
|
filter: { ...masterFilter, ...filter },
|
||||||
|
user: req.user,
|
||||||
|
checkUnused: true,
|
||||||
|
});
|
||||||
|
|
||||||
|
if (result.error) {
|
||||||
|
logger.error('Failed to delete filtered Filament:', result.error);
|
||||||
|
return res.status(result.code || 500).send(result);
|
||||||
|
}
|
||||||
|
|
||||||
|
res.send(result);
|
||||||
|
};
|
||||||
|
|
||||||
export const deleteFilamentRouteHandler = async (req, res) => {
|
export const deleteFilamentRouteHandler = async (req, res) => {
|
||||||
const id = new mongoose.Types.ObjectId(req.params.id);
|
const id = new mongoose.Types.ObjectId(req.params.id);
|
||||||
|
|
||||||
|
|||||||
Some files were not shown because too many files have changed in this diff Show More
Loading…
x
Reference in New Issue
Block a user