@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.
- package/CHANGELOG.md +5 -5
- package/dist/green-invoice-graphql/src/mesh-artifacts/index.d.ts +1 -1
- package/dist/server/src/modules/charges/helpers/common.helper.js +19 -13
- package/dist/server/src/modules/charges/helpers/common.helper.js.map +1 -1
- package/dist/server/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.js +561 -545
- package/dist/server/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.js.map +1 -1
- package/dist/server/src/modules/charges/resolvers/charges.resolver.js +179 -140
- package/dist/server/src/modules/charges/resolvers/charges.resolver.js.map +1 -1
- package/dist/server/src/modules/charges/resolvers/common.js +45 -26
- package/dist/server/src/modules/charges/resolvers/common.js.map +1 -1
- package/dist/server/src/modules/charges/resolvers/financial-charges.resolver.js +31 -25
- package/dist/server/src/modules/charges/resolvers/financial-charges.resolver.js.map +1 -1
- package/dist/server/src/shared/errors.d.ts +1 -0
- package/dist/server/src/shared/errors.js +7 -0
- package/dist/server/src/shared/errors.js.map +1 -1
- package/package.json +1 -1
- package/src/modules/charges/helpers/common.helper.ts +24 -19
- package/src/modules/charges/resolvers/charge-suggestions/charge-suggestions.resolver.ts +588 -574
- package/src/modules/charges/resolvers/charges.resolver.ts +192 -157
- package/src/modules/charges/resolvers/common.ts +48 -31
- package/src/modules/charges/resolvers/financial-charges.resolver.ts +31 -27
- 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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
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
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
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
|
-
|
|
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)
|
|
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
|
-
|
|
280
|
-
|
|
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
|
-
|
|
284
|
-
|
|
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:
|
package/src/shared/errors.ts
CHANGED
|
@@ -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
|
+
}
|