@accounter/server 0.0.9-alpha-20251211132246-b18259e59cbca0d25dd94d8260a61b55a2f3b458 → 0.0.9-alpha-20251211161610-5ba6aa4ba27b2cc52460d8b17757dad51478bc4a

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (22) hide show
  1. package/CHANGELOG.md +5 -5
  2. package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
  3. package/dist/server/src/modules/charges/helpers/common.helper.js +19 -13
  4. package/dist/server/src/modules/charges/helpers/common.helper.js.map +1 -1
  5. package/dist/server/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.js +561 -545
  6. package/dist/server/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.js.map +1 -1
  7. package/dist/server/src/modules/charges/resolvers/charges.resolver.js +179 -140
  8. package/dist/server/src/modules/charges/resolvers/charges.resolver.js.map +1 -1
  9. package/dist/server/src/modules/charges/resolvers/common.js +45 -26
  10. package/dist/server/src/modules/charges/resolvers/common.js.map +1 -1
  11. package/dist/server/src/modules/charges/resolvers/financial-charges.resolver.js +31 -25
  12. package/dist/server/src/modules/charges/resolvers/financial-charges.resolver.js.map +1 -1
  13. package/dist/server/src/shared/errors.d.ts +1 -0
  14. package/dist/server/src/shared/errors.js +7 -0
  15. package/dist/server/src/shared/errors.js.map +1 -1
  16. package/package.json +1 -1
  17. package/src/modules/charges/helpers/common.helper.ts +24 -19
  18. package/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.ts +588 -574
  19. package/src/modules/charges/resolvers/charges.resolver.ts +192 -157
  20. package/src/modules/charges/resolvers/common.ts +48 -31
  21. package/src/modules/charges/resolvers/financial-charges.resolver.ts +31 -27
  22. package/src/shared/errors.ts +8 -0
@@ -1,5 +1,6 @@
1
1
  import { GraphQLError } from 'graphql';
2
2
  import { ChargeTypeEnum } from '../../../shared/enums.js';
3
+ import { errorSimplifier } from '../../../shared/errors.js';
3
4
  import { dateToTimelessDateString } from '../../../shared/helpers/index.js';
4
5
  import { getMinDate } from '../../ledger/helpers/ledger-lock.js';
5
6
  import { generateLedgerRecordsForFinancialCharge } from '../../ledger/resolvers/ledger-generation/financial-ledger-generation.resolver.js';
@@ -34,8 +35,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
34
35
 
35
36
  return charge;
36
37
  } catch (e) {
37
- console.error(e);
38
- throw new GraphQLError('Error generating revaluation charge');
38
+ throw errorSimplifier('Error generating revaluation charge', e);
39
39
  }
40
40
  },
41
41
  generateBankDepositsRevaluationCharge: async (_, { date, ownerId }, context, info) => {
@@ -64,8 +64,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
64
64
 
65
65
  return charge;
66
66
  } catch (e) {
67
- console.error(e);
68
- throw new GraphQLError('Error generating bank deposits revaluation charge');
67
+ throw errorSimplifier('Error generating bank deposits revaluation charge', e);
69
68
  }
70
69
  },
71
70
  generateTaxExpensesCharge: async (_, { year, ownerId }, context, info) => {
@@ -96,8 +95,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
96
95
 
97
96
  return charge;
98
97
  } catch (e) {
99
- console.error(e);
100
- throw new GraphQLError('Error generating tax expenses charge');
98
+ throw errorSimplifier('Error generating tax expenses charge', e);
101
99
  }
102
100
  },
103
101
  generateDepreciationCharge: async (_, { year, ownerId }, context, info) => {
@@ -131,8 +129,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
131
129
 
132
130
  return charge;
133
131
  } catch (e) {
134
- console.error(e);
135
- throw new GraphQLError('Error generating depreciation charge');
132
+ throw errorSimplifier('Error generating depreciation charge', e);
136
133
  }
137
134
  },
138
135
  generateRecoveryReserveCharge: async (_, { year, ownerId }, context, info) => {
@@ -166,8 +163,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
166
163
 
167
164
  return charge;
168
165
  } catch (e) {
169
- console.error(e);
170
- throw new GraphQLError('Error generating recovery reserve charge');
166
+ throw errorSimplifier('Error generating recovery reserve charge', e);
171
167
  }
172
168
  },
173
169
  generateVacationReserveCharge: async (_, { year, ownerId }, context, info) => {
@@ -202,8 +198,7 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
202
198
 
203
199
  return charge;
204
200
  } catch (e) {
205
- console.error(e);
206
- throw new GraphQLError('Error generating vacation reserves charge');
201
+ throw errorSimplifier('Error generating vacation reserves charge', e);
207
202
  }
208
203
  },
209
204
  generateBalanceCharge: async (_, { description, balanceRecords }, context, info) => {
@@ -218,16 +213,16 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
218
213
  throw new GraphQLError('Default tax category missing');
219
214
  }
220
215
 
221
- if (ledgerLock) {
222
- const minDate = getMinDate(
223
- balanceRecords.map(record => [new Date(record.invoiceDate), record.valueDate]).flat(),
224
- );
225
- if (minDate && dateToTimelessDateString(minDate) <= ledgerLock) {
226
- throw new GraphQLError('Cannot generate balance charge for locked period');
216
+ try {
217
+ if (ledgerLock) {
218
+ const minDate = getMinDate(
219
+ balanceRecords.map(record => [new Date(record.invoiceDate), record.valueDate]).flat(),
220
+ );
221
+ if (minDate && dateToTimelessDateString(minDate) <= ledgerLock) {
222
+ throw new GraphQLError('Cannot generate balance charge for locked period');
223
+ }
227
224
  }
228
- }
229
225
 
230
- try {
231
226
  const charge = await generateAndTagCharge(
232
227
  injector,
233
228
  defaultAdminBusinessId,
@@ -260,14 +255,15 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
260
255
 
261
256
  return charge;
262
257
  } catch (e) {
263
- console.error(e);
264
- throw new GraphQLError('Error generating balance charge');
258
+ throw errorSimplifier('Error generating balance charge', e);
265
259
  }
266
260
  },
267
261
  },
268
262
  FinancialCharge: {
269
263
  __isTypeOf: async (DbCharge, context) =>
270
- (await getChargeType(DbCharge, context)) === ChargeTypeEnum.Financial,
264
+ (await getChargeType(DbCharge, context).catch(error => {
265
+ throw errorSimplifier('Failed to determine charge type', error);
266
+ })) === ChargeTypeEnum.Financial,
271
267
  ...commonChargeFields,
272
268
  vat: () => null,
273
269
  totalAmount: () => null,
@@ -276,12 +272,20 @@ export const financialChargesResolvers: ChargesModule.Resolvers = {
276
272
  salary: () => false,
277
273
  isInvoicePaymentDifferentCurrency: () => false,
278
274
  minEventDate: async (DbCharge, _, { injector }) => {
279
- const { ledgerMinInvoiceDate } = await getChargeLedgerMeta(DbCharge.id, injector);
280
- return ledgerMinInvoiceDate;
275
+ try {
276
+ const { ledgerMinInvoiceDate } = await getChargeLedgerMeta(DbCharge.id, injector);
277
+ return ledgerMinInvoiceDate;
278
+ } catch (error) {
279
+ throw errorSimplifier('Failed to fetch min event date', error);
280
+ }
281
281
  },
282
282
  minDebitDate: async (DbCharge, _, { injector }) => {
283
- const { ledgerMinValueDate } = await getChargeLedgerMeta(DbCharge.id, injector);
284
- return ledgerMinValueDate;
283
+ try {
284
+ const { ledgerMinValueDate } = await getChargeLedgerMeta(DbCharge.id, injector);
285
+ return ledgerMinValueDate;
286
+ } catch (error) {
287
+ throw errorSimplifier('Failed to fetch min debit date', error);
288
+ }
285
289
  },
286
290
  // minDocumentsDate:
287
291
  // validationData:
@@ -9,3 +9,11 @@ export class LedgerLockError extends GraphQLError {
9
9
  });
10
10
  }
11
11
  }
12
+
13
+ export function errorSimplifier(message: string, error: unknown): GraphQLError {
14
+ if (error instanceof GraphQLError) {
15
+ return error;
16
+ }
17
+ console.error(`${message}:`, error);
18
+ return new GraphQLError(message);
19
+ }