diff --git a/src/modules/assets/assets.helpers.js b/src/modules/assets/assets.helpers.js index 0bf5d28..545f539 100644 --- a/src/modules/assets/assets.helpers.js +++ b/src/modules/assets/assets.helpers.js @@ -8,7 +8,6 @@ const SOFT_DELETE_TABLES = new Set([ 'users', 'purchase_orders', 'grn', - 'grn_items', 'asset_categories', 'asset_subcategories', ]); diff --git a/src/modules/assets/assets.service.js b/src/modules/assets/assets.service.js index 7d3a62d..1516684 100644 --- a/src/modules/assets/assets.service.js +++ b/src/modules/assets/assets.service.js @@ -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');