GWM : asset create api fix
This commit is contained in:
parent
ab3e0f0e1b
commit
22d25bf2f5
@ -8,7 +8,6 @@ const SOFT_DELETE_TABLES = new Set([
|
||||
'users',
|
||||
'purchase_orders',
|
||||
'grn',
|
||||
'grn_items',
|
||||
'asset_categories',
|
||||
'asset_subcategories',
|
||||
]);
|
||||
|
||||
@ -11,18 +11,7 @@ const {
|
||||
resolveDepreciationRate,
|
||||
calculateDepreciation,
|
||||
} = require('./assets.depreciation');
|
||||
|
||||
const SOFT_DELETE_TABLES = new Set([
|
||||
'vendors',
|
||||
'locations',
|
||||
'departments',
|
||||
'users',
|
||||
'purchase_orders',
|
||||
'grn',
|
||||
'grn_items',
|
||||
'asset_categories',
|
||||
'asset_subcategories',
|
||||
]);
|
||||
const { assertReference, toDateOnly } = require('./assets.helpers');
|
||||
|
||||
const assetInclude = {
|
||||
asset_categories: { select: { id: true, code: true, name: true, code_prefix: true } },
|
||||
@ -56,12 +45,6 @@ const transferInclude = {
|
||||
users_asset_transfers_transferred_byTousers: { select: { id: true, full_name: true } },
|
||||
};
|
||||
|
||||
const toDateOnly = (value) => {
|
||||
if (!value) return null;
|
||||
const date = new Date(value);
|
||||
return new Date(Date.UTC(date.getUTCFullYear(), date.getUTCMonth(), date.getUTCDate()));
|
||||
};
|
||||
|
||||
const assetSeriesCode = (categoryCode) => `ASSET_${categoryCode}`;
|
||||
|
||||
const sanitizeAsset = (asset) => {
|
||||
@ -158,19 +141,6 @@ const sanitizeTransfer = (row) => {
|
||||
};
|
||||
};
|
||||
|
||||
const assertReference = async (table, id, label, { requireActive = true } = {}) => {
|
||||
if (!id) return null;
|
||||
const row = await prisma[table].findFirst({
|
||||
where: {
|
||||
id: BigInt(id),
|
||||
...(SOFT_DELETE_TABLES.has(table) ? { deleted_at: null } : {}),
|
||||
},
|
||||
});
|
||||
if (!row) throw new ApiError(422, `Invalid ${label}`);
|
||||
if (requireActive && row.is_active === false) throw new ApiError(422, `${label} is inactive`);
|
||||
return row;
|
||||
};
|
||||
|
||||
const assertDisposalFields = (status, disposalDate) => {
|
||||
if (DISPOSAL_STATUSES.includes(status) && !disposalDate) {
|
||||
throw new ApiError(422, 'disposal_date is required when status is DISPOSED or SCRAPPED');
|
||||
|
||||
Loading…
Reference in New Issue
Block a user