@newpeak/barista-cli 0.1.584 → 0.1.597
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/dist/commands/liberica/finance/amortization/rule/list.d.ts.map +1 -1
- package/dist/commands/liberica/finance/amortization/rule/list.js +2 -21
- package/dist/commands/liberica/finance/amortization/rule/list.js.map +1 -1
- package/dist/commands/liberica/finance/auto-voucher/rule/create.d.ts.map +1 -1
- package/dist/commands/liberica/finance/auto-voucher/rule/create.js +2 -17
- package/dist/commands/liberica/finance/auto-voucher/rule/create.js.map +1 -1
- package/dist/commands/liberica/finance/auto-voucher/rule/list.d.ts.map +1 -1
- package/dist/commands/liberica/finance/auto-voucher/rule/list.js +15 -4
- package/dist/commands/liberica/finance/auto-voucher/rule/list.js.map +1 -1
- package/dist/commands/liberica/finance/reports/balance-sheet.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/balance-sheet.js +2 -18
- package/dist/commands/liberica/finance/reports/balance-sheet.js.map +1 -1
- package/dist/commands/liberica/finance/reports/cash-flow.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/cash-flow.js +2 -18
- package/dist/commands/liberica/finance/reports/cash-flow.js.map +1 -1
- package/dist/commands/liberica/finance/reports/general-ledger.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/general-ledger.js +2 -18
- package/dist/commands/liberica/finance/reports/general-ledger.js.map +1 -1
- package/dist/commands/liberica/finance/reports/income-statement.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/income-statement.js +2 -22
- package/dist/commands/liberica/finance/reports/income-statement.js.map +1 -1
- package/dist/commands/liberica/finance/reports/profit-loss.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/profit-loss.js +2 -19
- package/dist/commands/liberica/finance/reports/profit-loss.js.map +1 -1
- package/dist/commands/liberica/finance/reports/subsidiary-ledger.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/subsidiary-ledger.js +2 -18
- package/dist/commands/liberica/finance/reports/subsidiary-ledger.js.map +1 -1
- package/dist/commands/liberica/finance/reports/trial-balance.d.ts.map +1 -1
- package/dist/commands/liberica/finance/reports/trial-balance.js +2 -18
- package/dist/commands/liberica/finance/reports/trial-balance.js.map +1 -1
- package/dist/commands/liberica/physical-inventory/__tests__/create.test.js +15 -0
- package/dist/commands/liberica/physical-inventory/__tests__/create.test.js.map +1 -1
- package/dist/commands/liberica/physical-inventory/create.d.ts.map +1 -1
- package/dist/commands/liberica/physical-inventory/create.js +2 -0
- package/dist/commands/liberica/physical-inventory/create.js.map +1 -1
- package/dist/commands/liberica/purchase-orders/update.d.ts.map +1 -1
- package/dist/commands/liberica/purchase-orders/update.js +52 -10
- package/dist/commands/liberica/purchase-orders/update.js.map +1 -1
- package/dist/commands/liberica/sales-orders/create.d.ts.map +1 -1
- package/dist/commands/liberica/sales-orders/create.js +16 -11
- package/dist/commands/liberica/sales-orders/create.js.map +1 -1
- package/dist/commands/liberica/sales-orders/list.d.ts.map +1 -1
- package/dist/commands/liberica/sales-orders/list.js +10 -1
- package/dist/commands/liberica/sales-orders/list.js.map +1 -1
- package/dist/commands/liberica/teams/test-runs/create.d.ts.map +1 -1
- package/dist/commands/liberica/teams/test-runs/create.js +5 -0
- package/dist/commands/liberica/teams/test-runs/create.js.map +1 -1
- package/dist/commands/liberica/work-orders/create.d.ts.map +1 -1
- package/dist/commands/liberica/work-orders/create.js +33 -4
- package/dist/commands/liberica/work-orders/create.js.map +1 -1
- package/dist/types/physical-inventory.d.ts +1 -0
- package/dist/types/physical-inventory.d.ts.map +1 -1
- package/dist/types/test-case.d.ts +1 -0
- package/dist/types/test-case.d.ts.map +1 -1
- package/dist/utils/finance-error.d.ts +16 -0
- package/dist/utils/finance-error.d.ts.map +1 -0
- package/dist/utils/finance-error.js +54 -0
- package/dist/utils/finance-error.js.map +1 -0
- package/package.json +1 -1
- package/skills/barista-cli/data/commands.json +1 -1
- package/skills/barista-cli/data/commands.yaml +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/amortization/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/amortization/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,wCAAwC,IAAI,OAAO,CA4DlE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceAmortizationRuleListCommand() {
|
|
7
8
|
const listCommand = new Command('list');
|
|
8
9
|
listCommand.description('List amortization rules');
|
|
@@ -21,27 +22,7 @@ export function createFinanceAmortizationRuleListCommand() {
|
|
|
21
22
|
const response = await apiClient.listRecurringAdjustmentRules(environment, tenant, params);
|
|
22
23
|
if (!response.success) {
|
|
23
24
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
24
|
-
|
|
25
|
-
if (err.code === 'B0001') {
|
|
26
|
-
enhancedErr.detail = 'Backend table liberica_accounting_recurring_adjustment may not be deployed yet. Check Flyway migration: finance-monthend/monthend-business/src/main/resources/db/migration/mysql/V8.4.0_20260601_026__create_recurring_adjustment.sql. Contact backend team to apply migration.';
|
|
27
|
-
enhancedErr.message = `${err.message} — Backend amortization table not deployed.`;
|
|
28
|
-
}
|
|
29
|
-
if (err.code === 'B0309') {
|
|
30
|
-
enhancedErr.detail = 'Permission denied — the current user lacks amortization management permissions. Ask your tenant admin to grant the required finance role permissions.';
|
|
31
|
-
enhancedErr.message = `${err.message} — Missing amortization permission.`;
|
|
32
|
-
}
|
|
33
|
-
if (options.json) {
|
|
34
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
35
|
-
}
|
|
36
|
-
else {
|
|
37
|
-
console.error(chalk.red(`\n✗ Failed to list amortization rules: ${enhancedErr.message}`));
|
|
38
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
39
|
-
if (enhancedErr.detail)
|
|
40
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
41
|
-
}
|
|
42
|
-
console.error();
|
|
43
|
-
process.exit(1);
|
|
44
|
-
return;
|
|
25
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'amortization rules' });
|
|
45
26
|
}
|
|
46
27
|
if (options.json) {
|
|
47
28
|
console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/amortization/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/amortization/rule/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"create.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,yCAAyC,IAAI,OAAO,CAqDnE"}
|
|
@@ -2,6 +2,7 @@ import { Command } from 'commander';
|
|
|
2
2
|
import chalk from 'chalk';
|
|
3
3
|
import { configManager } from '../../../../../core/config/manager.js';
|
|
4
4
|
import { apiClient } from '../../../../../core/api/client.js';
|
|
5
|
+
import { handleFinanceError } from '../../../../../utils/finance-error.js';
|
|
5
6
|
export function createFinanceAutoVoucherRuleCreateCommand() {
|
|
6
7
|
const createCommand = new Command('create');
|
|
7
8
|
createCommand.description('Create an auto-voucher rule');
|
|
@@ -41,23 +42,7 @@ export function createFinanceAutoVoucherRuleCreateCommand() {
|
|
|
41
42
|
const response = await apiClient.createAutoVoucherRule(environment, tenant, data);
|
|
42
43
|
if (!response.success) {
|
|
43
44
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
44
|
-
|
|
45
|
-
if (err.code === 'B0001') {
|
|
46
|
-
enhancedErr.detail = 'Backend bug: LibericaMetaObjectHandler.insertFill() aborts at orgId (ReflectionException: entity lacks orgId field) before reaching tenantId setValue. Additionally, AutoVoucherRule.tenantId lacks fill=FieldFill.INSERT annotation. Fix: (1) add try-catch around each setValue call in LibericaMetaObjectHandler.insertFill (prevent early abort), or (2) add tenantId to AutoVoucherRuleRequest DTO and set it in AutoVoucherServiceImpl.createRule(). See AutoVoucherRuleServiceImpl.createRule() for correct tenantId pattern.';
|
|
47
|
-
enhancedErr.message = `${err.message} — Backend auto-voucher rule tenant_id bug.`;
|
|
48
|
-
}
|
|
49
|
-
if (options.json) {
|
|
50
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
51
|
-
}
|
|
52
|
-
else {
|
|
53
|
-
console.error(chalk.red(`\n✗ Failed to create auto-voucher rule: ${enhancedErr.message}`));
|
|
54
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
55
|
-
if (enhancedErr.detail)
|
|
56
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
57
|
-
}
|
|
58
|
-
console.error();
|
|
59
|
-
process.exit(1);
|
|
60
|
-
return;
|
|
45
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'auto-voucher rules' });
|
|
61
46
|
}
|
|
62
47
|
if (options.json) {
|
|
63
48
|
console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/create.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;
|
|
1
|
+
{"version":3,"file":"create.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/create.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uCAAuC,IAAI,OAAO,
|
|
1
|
+
{"version":3,"file":"list.d.ts","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAOpC,wBAAgB,uCAAuC,IAAI,OAAO,CAgFjE"}
|
|
@@ -23,13 +23,24 @@ export function createFinanceAutoVoucherRuleListCommand() {
|
|
|
23
23
|
params.searchText = options.search;
|
|
24
24
|
const response = await apiClient.listAutoVoucherRules(environment, tenant, params);
|
|
25
25
|
if (!response.success) {
|
|
26
|
+
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
27
|
+
const enhancedErr = { ...err, backendCode: err.code };
|
|
28
|
+
if (err.code === 'B0001') {
|
|
29
|
+
enhancedErr.detail = 'Backend bug: LibericaMetaObjectHandler.insertFill() aborts at orgId (ReflectionException: entity lacks orgId field) before reaching tenantId setValue. Additionally, AutoVoucherRule.tenantId lacks fill=FieldFill.INSERT annotation. Fix: (1) add try-catch around each setValue call in LibericaMetaObjectHandler.insertFill (prevent early abort), or (2) add tenantId to AutoVoucherRuleRequest DTO and set it in AutoVoucherServiceImpl.createRule(). See AutoVoucherRuleServiceImpl.createRule() for correct tenantId pattern.';
|
|
30
|
+
enhancedErr.message = `${err.message} — Backend auto-voucher rule tenant_id bug.`;
|
|
31
|
+
}
|
|
32
|
+
if (err.code === 'B0309') {
|
|
33
|
+
enhancedErr.detail = 'Permission denied — the current user lacks auto-voucher management permissions. Ask your tenant admin to grant the required finance role permissions.';
|
|
34
|
+
enhancedErr.message = `${err.message} — Missing auto-voucher permission.`;
|
|
35
|
+
}
|
|
26
36
|
if (options.json) {
|
|
27
|
-
console.log(JSON.stringify({ success: false, error:
|
|
37
|
+
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
28
38
|
}
|
|
29
39
|
else {
|
|
30
|
-
console.error(chalk.red(`\n✗ Failed to list auto-voucher rules: ${
|
|
31
|
-
|
|
32
|
-
|
|
40
|
+
console.error(chalk.red(`\n✗ Failed to list auto-voucher rules: ${enhancedErr.message}`));
|
|
41
|
+
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
42
|
+
if (enhancedErr.detail)
|
|
43
|
+
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
33
44
|
}
|
|
34
45
|
console.error();
|
|
35
46
|
process.exit(1);
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/list.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,uCAAuC,CAAC;AACtE,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAG9D,MAAM,UAAU,uCAAuC;IACrD,MAAM,WAAW,GAAG,IAAI,OAAO,CAAC,MAAM,CAAC,CAAC;IACxC,WAAW,CAAC,WAAW,CAAC,yBAAyB,CAAC,CAAC;IAEnD,WAAW;SACR,MAAM,CAAC,mBAAmB,EAAE,mDAAmD,CAAC;SAChF,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,MAAM,MAAM,GAA4B;YACtC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC;QACF,IAAI,OAAO,CAAC,MAAM;YAAE,MAAM,CAAC,UAAU,GAAG,OAAO,CAAC,MAAM,CAAC;QAEvD,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,oBAAoB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAEnF,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"list.js","sourceRoot":"","sources":["../../../../../../src/commands/liberica/finance/auto-voucher/rule/list.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance-sheet.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/balance-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"balance-sheet.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/balance-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,uCAAuC,IAAI,OAAO,CA0EjE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsBalanceSheetCommand() {
|
|
7
8
|
const command = new Command('balance-sheet');
|
|
8
9
|
command.description('Get balance sheet report');
|
|
@@ -20,24 +21,7 @@ export function createFinanceReportsBalanceSheetCommand() {
|
|
|
20
21
|
const response = await apiClient.getBalanceSheet(environment, tenant, params);
|
|
21
22
|
if (!response.success) {
|
|
22
23
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
23
|
-
|
|
24
|
-
if (err.code === 'B0001') {
|
|
25
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
26
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
27
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
28
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
29
|
-
}
|
|
30
|
-
if (options.json) {
|
|
31
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
console.error(chalk.red(`\n✗ Failed to get balance sheet: ${enhancedErr.message}`));
|
|
35
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
36
|
-
if (enhancedErr.detail)
|
|
37
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
38
|
-
}
|
|
39
|
-
console.error();
|
|
40
|
-
process.exit(1);
|
|
24
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'balance sheet' });
|
|
41
25
|
return;
|
|
42
26
|
}
|
|
43
27
|
if (options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"balance-sheet.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/balance-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"balance-sheet.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/balance-sheet.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,UAAU,uCAAuC;IACrD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,eAAe,CAAC,CAAC;IAC7C,OAAO,CAAC,WAAW,CAAC,0BAA0B,CAAC,CAAC;IAEhD,OAAO;SACJ,cAAc,CAAC,qBAAqB,EAAE,uBAAuB,CAAC;SAC9D,MAAM,CAAC,6BAA6B,EAAE,qCAAqC,CAAC;SAC5E,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,MAAM,MAAM,GAA4B,EAAE,OAAO,EAAE,OAAO,CAAC,OAAO,EAAE,CAAC;QACrE,IAAI,OAAO,CAAC,eAAe;YAAE,MAAM,CAAC,eAAe,GAAG,OAAO,CAAC,eAAe,CAAC;QAE9E,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,eAAe,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE9E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YAC9E,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,eAAe,EAAE,CAAC,CAAC;YACjF,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAW,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;QAEhD,MAAM,QAAQ,GAAG,IAAI,EAAE,QAAQ,IAAI,EAAE,CAAC;QACtC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YAC1B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,CAAC,CAAC,CAAC;YAC7C,OAAO;QACT,CAAC;QAED,KAAK,MAAM,OAAO,IAAI,QAAQ,EAAE,CAAC;YAC/B,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,OAAO,CAAC,WAAW,IAAI,SAAS,EAAE,CAAC,CAAC,CAAC;YACjE,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;gBACtB,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,CAAC;gBACvE,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC;gBACvB,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;aAChC,CAAC,CAAC;YAEH,MAAM,KAAK,GAAG,OAAO,CAAC,KAAK,IAAI,EAAE,CAAC;YAClC,KAAK,MAAM,IAAI,IAAI,KAAK,EAAE,CAAC;gBACzB,KAAK,CAAC,IAAI,CAAC;oBACT,IAAI,CAAC,WAAW,IAAI,GAAG;oBACvB,IAAI,CAAC,WAAW,IAAI,GAAG;oBACvB,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;iBACtD,CAAC,CAAC;YACL,CAAC;YACD,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;YAC9B,IAAI,OAAO,CAAC,KAAK,KAAK,SAAS,EAAE,CAAC;gBAChC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,YAAY,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC;YACvD,CAAC;QACH,CAAC;QAED,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,mBAAmB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QACjE,CAAC;QACD,IAAI,IAAI,CAAC,gBAAgB,KAAK,SAAS,EAAE,CAAC;YACxC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC;QACzE,CAAC;QACD,IAAI,IAAI,CAAC,WAAW,KAAK,SAAS,EAAE,CAAC;YACnC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,IAAI,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cash-flow.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/cash-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"cash-flow.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/cash-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,mCAAmC,IAAI,OAAO,CA0E7D"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsCashFlowCommand() {
|
|
7
8
|
const command = new Command('cash-flow');
|
|
8
9
|
command.description('Get cash flow statement report');
|
|
@@ -24,24 +25,7 @@ export function createFinanceReportsCashFlowCommand() {
|
|
|
24
25
|
const response = await apiClient.getCashFlow(environment, tenant, params);
|
|
25
26
|
if (!response.success) {
|
|
26
27
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
27
|
-
|
|
28
|
-
if (err.code === 'B0001') {
|
|
29
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
30
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
31
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
32
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
33
|
-
}
|
|
34
|
-
if (options.json) {
|
|
35
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
36
|
-
}
|
|
37
|
-
else {
|
|
38
|
-
console.error(chalk.red(`\n✗ Failed to get cash flow: ${enhancedErr.message}`));
|
|
39
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
40
|
-
if (enhancedErr.detail)
|
|
41
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
42
|
-
}
|
|
43
|
-
console.error();
|
|
44
|
-
process.exit(1);
|
|
28
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'cash flow' });
|
|
45
29
|
return;
|
|
46
30
|
}
|
|
47
31
|
if (options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"cash-flow.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/cash-flow.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"cash-flow.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/cash-flow.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-ledger.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/general-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"general-ledger.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/general-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,wCAAwC,IAAI,OAAO,CAyElE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsGeneralLedgerCommand() {
|
|
7
8
|
const command = new Command('general-ledger');
|
|
8
9
|
command.description('Get general ledger report');
|
|
@@ -27,24 +28,7 @@ export function createFinanceReportsGeneralLedgerCommand() {
|
|
|
27
28
|
const response = await apiClient.getGeneralLedger(environment, tenant, params);
|
|
28
29
|
if (!response.success) {
|
|
29
30
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
30
|
-
|
|
31
|
-
if (err.code === 'B0001') {
|
|
32
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
33
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
34
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
35
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
36
|
-
}
|
|
37
|
-
if (options.json) {
|
|
38
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
39
|
-
}
|
|
40
|
-
else {
|
|
41
|
-
console.error(chalk.red(`\n✗ Failed to get general ledger: ${enhancedErr.message}`));
|
|
42
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
43
|
-
if (enhancedErr.detail)
|
|
44
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
45
|
-
}
|
|
46
|
-
console.error();
|
|
47
|
-
process.exit(1);
|
|
31
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'general ledger' });
|
|
48
32
|
return;
|
|
49
33
|
}
|
|
50
34
|
if (options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"general-ledger.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/general-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"general-ledger.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/general-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;AAE3D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oCAAoC,CAAC;AAExE,MAAM,UAAU,wCAAwC;IACtD,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAC9C,OAAO,CAAC,WAAW,CAAC,2BAA2B,CAAC,CAAC;IAEjD,OAAO;SACJ,cAAc,CAAC,uBAAuB,EAAE,YAAY,CAAC;SACrD,cAAc,CAAC,uBAAuB,EAAE,uBAAuB,CAAC;SAChE,cAAc,CAAC,qBAAqB,EAAE,qBAAqB,CAAC;SAC5D,MAAM,CAAC,iBAAiB,EAAE,aAAa,EAAE,GAAG,CAAC;SAC7C,MAAM,CAAC,iBAAiB,EAAE,WAAW,EAAE,IAAI,CAAC;SAC5C,MAAM,CAAC,QAAQ,EAAE,gBAAgB,CAAC;SAClC,MAAM,CAAC,KAAK,EAAE,OAAO,EAAE,EAAE;QACxB,MAAM,OAAO,GAAG,aAAa,CAAC,iBAAiB,EAAE,CAAC;QAClD,MAAM,WAAW,GAAI,OAAO,CAAC,GAAmB,IAAI,OAAO,CAAC,WAAW,CAAC;QACxE,MAAM,MAAM,GAAG,OAAO,CAAC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC;QAEhD,MAAM,MAAM,GAA4B;YACtC,SAAS,EAAE,OAAO,CAAC,SAAS;YAC5B,SAAS,EAAE,QAAQ,CAAC,OAAO,CAAC,SAAS,EAAE,EAAE,CAAC;YAC1C,OAAO,EAAE,QAAQ,CAAC,OAAO,CAAC,OAAO,EAAE,EAAE,CAAC;YACtC,MAAM,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;YAClC,QAAQ,EAAE,QAAQ,CAAC,OAAO,CAAC,IAAI,EAAE,EAAE,CAAC;SACrC,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,SAAS,CAAC,gBAAgB,CAAC,WAAW,EAAE,MAAM,EAAE,MAAM,CAAC,CAAC;QAE/E,IAAI,CAAC,QAAQ,CAAC,OAAO,EAAE,CAAC;YACtB,MAAM,GAAG,GAAG,QAAQ,CAAC,KAAK,IAAI,EAAE,IAAI,EAAE,WAAW,EAAE,OAAO,EAAE,eAAe,EAAE,CAAC;YAC9E,kBAAkB,CAAC,EAAE,GAAG,EAAE,IAAI,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,YAAY,EAAE,gBAAgB,EAAE,CAAC,CAAC;YAClF,OAAO;QACT,CAAC;QAED,IAAI,OAAO,CAAC,IAAI,EAAE,CAAC;YACjB,OAAO,CAAC,GAAG,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,IAAI,EAAE,QAAQ,CAAC,IAAI,EAAE,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,CAAC;YAC7E,OAAO;QACT,CAAC;QAED,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAW,CAAC;QAClC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAEjD,MAAM,IAAI,GAAG,IAAI,EAAE,IAAI,IAAI,EAAE,CAAC;QAC9B,IAAI,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACtB,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC,CAAC;YAChD,OAAO;QACT,CAAC;QAED,MAAM,KAAK,GAAG,IAAI,KAAK,CAAC;YACtB,IAAI,EAAE,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,SAAS,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,KAAK,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC;YAC7I,SAAS,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,EAAE,EAAE,CAAC,EAAE,EAAE,EAAE,EAAE,CAAC;YAClC,KAAK,EAAE,EAAE,IAAI,EAAE,EAAE,EAAE,MAAM,EAAE,EAAE,EAAE;SAChC,CAAC,CAAC;QAEH,KAAK,MAAM,GAAG,IAAI,IAAI,EAAE,CAAC;YACvB,KAAK,CAAC,IAAI,CAAC;gBACT,GAAG,CAAC,WAAW,IAAI,GAAG;gBACtB,GAAG,CAAC,SAAS,IAAI,GAAG;gBACpB,CAAC,GAAG,CAAC,WAAW,IAAI,EAAE,CAAC,CAAC,SAAS,CAAC,CAAC,EAAE,EAAE,CAAC,IAAI,GAAG;gBAC/C,GAAG,CAAC,SAAS,IAAI,GAAG;gBACpB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,GAAG;gBACnD,GAAG,CAAC,QAAQ,IAAI,GAAG;aACpB,CAAC,CAAC;QACL,CAAC;QAED,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,EAAE,CAAC,CAAC;QAE9B,IAAI,IAAI,CAAC,SAAS,KAAK,SAAS,EAAE,CAAC;YACjC,OAAO,CAAC,GAAG,CAAC,KAAK,CAAC,IAAI,CAAC,sBAAsB,IAAI,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC;QAClE,CAAC;QAED,OAAO,CAAC,GAAG,EAAE,CAAC;IAChB,CAAC,CAAC,CAAC;IAEL,OAAO,OAAO,CAAC;AACjB,CAAC"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"income-statement.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/income-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"income-statement.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/income-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,0CAA0C,IAAI,OAAO,CAmEpE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsIncomeStatementCommand() {
|
|
7
8
|
const command = new Command('income-statement');
|
|
8
9
|
command.description('Get income statement report');
|
|
@@ -18,28 +19,7 @@ export function createFinanceReportsIncomeStatementCommand() {
|
|
|
18
19
|
const response = await apiClient.getIncomeStatement(environment, tenant, params);
|
|
19
20
|
if (!response.success) {
|
|
20
21
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
21
|
-
|
|
22
|
-
if (err.code === 'B0001') {
|
|
23
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
24
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
25
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
26
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
27
|
-
}
|
|
28
|
-
if (err.code === 'B0317') {
|
|
29
|
-
enhancedErr.detail = 'The income-statement endpoint is not authorized. This may mean the endpoint is not configured in the backend security permissions yet. Contact the backend team to add the permission for /enterprise/finance/reports/income-statement.';
|
|
30
|
-
enhancedErr.message = `${err.message} — Backend endpoint not authorized.`;
|
|
31
|
-
}
|
|
32
|
-
if (options.json) {
|
|
33
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
34
|
-
}
|
|
35
|
-
else {
|
|
36
|
-
console.error(chalk.red(`\n✗ Failed to get income statement: ${enhancedErr.message}`));
|
|
37
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
38
|
-
if (enhancedErr.detail)
|
|
39
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
40
|
-
}
|
|
41
|
-
console.error();
|
|
42
|
-
process.exit(1);
|
|
22
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'income statement' });
|
|
43
23
|
return;
|
|
44
24
|
}
|
|
45
25
|
if (options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"income-statement.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/income-statement.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"income-statement.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/income-statement.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profit-loss.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/profit-loss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"profit-loss.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/profit-loss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,qCAAqC,IAAI,OAAO,CAmE/D"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsProfitLossCommand() {
|
|
7
8
|
const command = new Command('profit-loss');
|
|
8
9
|
command.description('Get profit and loss report');
|
|
@@ -19,25 +20,7 @@ export function createFinanceReportsProfitLossCommand() {
|
|
|
19
20
|
const response = await apiClient.getProfitLoss(environment, tenant, params);
|
|
20
21
|
if (!response.success) {
|
|
21
22
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
22
|
-
|
|
23
|
-
if (err.code === 'B0001') {
|
|
24
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
25
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
26
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — the FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
27
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
28
|
-
}
|
|
29
|
-
if (options.json) {
|
|
30
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
31
|
-
}
|
|
32
|
-
else {
|
|
33
|
-
console.error(chalk.red(`\n✗ Failed to get profit and loss: ${enhancedErr.message}`));
|
|
34
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
35
|
-
if (enhancedErr.detail)
|
|
36
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
37
|
-
}
|
|
38
|
-
console.error();
|
|
39
|
-
process.exit(1);
|
|
40
|
-
return;
|
|
23
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'profit and loss' });
|
|
41
24
|
}
|
|
42
25
|
if (options.json) {
|
|
43
26
|
console.log(JSON.stringify({ success: true, data: response.data }, null, 2));
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"profit-loss.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/profit-loss.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"profit-loss.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/profit-loss.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsidiary-ledger.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/subsidiary-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"subsidiary-ledger.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/subsidiary-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,2CAA2C,IAAI,OAAO,CAoFrE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsSubsidiaryLedgerCommand() {
|
|
7
8
|
const command = new Command('subsidiary-ledger');
|
|
8
9
|
command.description('Get subsidiary ledger report');
|
|
@@ -38,24 +39,7 @@ export function createFinanceReportsSubsidiaryLedgerCommand() {
|
|
|
38
39
|
const response = await apiClient.getSubsidiaryLedger(environment, tenant, params);
|
|
39
40
|
if (!response.success) {
|
|
40
41
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
41
|
-
|
|
42
|
-
if (err.code === 'B0001') {
|
|
43
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
44
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
45
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
46
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
47
|
-
}
|
|
48
|
-
if (options.json) {
|
|
49
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
50
|
-
}
|
|
51
|
-
else {
|
|
52
|
-
console.error(chalk.red(`\n✗ Failed to get subsidiary ledger: ${enhancedErr.message}`));
|
|
53
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
54
|
-
if (enhancedErr.detail)
|
|
55
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
56
|
-
}
|
|
57
|
-
console.error();
|
|
58
|
-
process.exit(1);
|
|
42
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'subsidiary ledger' });
|
|
59
43
|
return;
|
|
60
44
|
}
|
|
61
45
|
if (options.json) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"subsidiary-ledger.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/subsidiary-ledger.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,KAAK,MAAM,YAAY,CAAC;AAC/B,OAAO,EAAE,aAAa,EAAE,MAAM,oCAAoC,CAAC;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,gCAAgC,CAAC;
|
|
1
|
+
{"version":3,"file":"subsidiary-ledger.js","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/subsidiary-ledger.ts"],"names":[],"mappings":"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"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"trial-balance.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/trial-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"trial-balance.d.ts","sourceRoot":"","sources":["../../../../../src/commands/liberica/finance/reports/trial-balance.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAQpC,wBAAgB,uCAAuC,IAAI,OAAO,CAiEjE"}
|
|
@@ -3,6 +3,7 @@ import chalk from 'chalk';
|
|
|
3
3
|
import Table from 'cli-table3';
|
|
4
4
|
import { configManager } from '../../../../core/config/manager.js';
|
|
5
5
|
import { apiClient } from '../../../../core/api/client.js';
|
|
6
|
+
import { handleFinanceError } from '../../../../utils/finance-error.js';
|
|
6
7
|
export function createFinanceReportsTrialBalanceCommand() {
|
|
7
8
|
const command = new Command('trial-balance');
|
|
8
9
|
command.description('Get trial balance report');
|
|
@@ -20,24 +21,7 @@ export function createFinanceReportsTrialBalanceCommand() {
|
|
|
20
21
|
const response = await apiClient.getTrialBalance(environment, tenant, params);
|
|
21
22
|
if (!response.success) {
|
|
22
23
|
const err = response.error || { code: 'API_ERROR', message: 'Unknown error' };
|
|
23
|
-
|
|
24
|
-
if (err.code === 'B0001') {
|
|
25
|
-
const mapperMatch = typeof err.message === 'string' ? err.message.match(/FinancialReportMapper\.\w+/) : null;
|
|
26
|
-
const mapperName = mapperMatch ? mapperMatch[0] : 'FinancialReportMapper (unknown method)';
|
|
27
|
-
enhancedErr.detail = `Backend mapper method "${mapperName}" not found — FinancialReportMapper.xml may not be deployed. Path: business/liberica-business-finance/finance-business/src/main/java/.../mapper/mapping/FinancialReportMapper.xml. Contact backend team to deploy.`;
|
|
28
|
-
enhancedErr.message = `${err.message} — Backend mapper XML not deployed (${mapperName}).`;
|
|
29
|
-
}
|
|
30
|
-
if (options.json) {
|
|
31
|
-
console.log(JSON.stringify({ success: false, error: enhancedErr }, null, 2));
|
|
32
|
-
}
|
|
33
|
-
else {
|
|
34
|
-
console.error(chalk.red(`\n✗ Failed to get trial balance: ${enhancedErr.message}`));
|
|
35
|
-
console.error(chalk.gray(` Backend code: ${err.code}`));
|
|
36
|
-
if (enhancedErr.detail)
|
|
37
|
-
console.error(chalk.gray(` ${enhancedErr.detail}`));
|
|
38
|
-
}
|
|
39
|
-
console.error();
|
|
40
|
-
process.exit(1);
|
|
24
|
+
handleFinanceError({ err, json: !!options.json, commandLabel: 'trial balance' });
|
|
41
25
|
return;
|
|
42
26
|
}
|
|
43
27
|
if (options.json) {
|