@accounter/server 0.0.9-alpha-20251231123714-6cdd9de71b4672d74ece5d34c438d162987b2c93 → 0.0.9-alpha-20251231163357-33d4c33fec5e21dad2e04d1f293f6248d2550588

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 (124) hide show
  1. package/CHANGELOG.md +27 -5
  2. package/README.md +66 -3
  3. package/dist/server/scripts/seed-admin-context.js +20 -25
  4. package/dist/server/scripts/seed-admin-context.js.map +1 -1
  5. package/dist/server/src/__tests__/db-bootstrap.test.js +7 -2
  6. package/dist/server/src/__tests__/db-bootstrap.test.js.map +1 -1
  7. package/dist/server/src/__tests__/factories/business.d.ts +1 -1
  8. package/dist/server/src/__tests__/factories/financial-account.d.ts +1 -1
  9. package/dist/server/src/__tests__/factories/index.test.js +1 -0
  10. package/dist/server/src/__tests__/factories/index.test.js.map +1 -1
  11. package/dist/server/src/__tests__/factories/tax-category.d.ts +1 -1
  12. package/dist/server/src/__tests__/factories/tax-category.js +1 -1
  13. package/dist/server/src/__tests__/factories/tax-category.js.map +1 -1
  14. package/dist/server/src/__tests__/factories/tax-category.test.js +8 -6
  15. package/dist/server/src/__tests__/factories/tax-category.test.js.map +1 -1
  16. package/dist/server/src/__tests__/helpers/fixture-loader.d.ts +1 -1
  17. package/dist/server/src/__tests__/helpers/fixture-loader.js +25 -52
  18. package/dist/server/src/__tests__/helpers/fixture-loader.js.map +1 -1
  19. package/dist/server/src/__tests__/helpers/migration-verification.d.ts +1 -1
  20. package/dist/server/src/__tests__/helpers/migration-verification.js.map +1 -1
  21. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js +4 -4
  22. package/dist/server/src/__tests__/helpers/seed-helpers.business.test.js.map +1 -1
  23. package/dist/server/src/__tests__/helpers/seed-helpers.d.ts +9 -9
  24. package/dist/server/src/__tests__/helpers/seed-helpers.js +57 -54
  25. package/dist/server/src/__tests__/helpers/seed-helpers.js.map +1 -1
  26. package/dist/server/src/__tests__/seed-admin-context.integration.test.js +2 -1
  27. package/dist/server/src/__tests__/seed-admin-context.integration.test.js.map +1 -1
  28. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js +3 -2
  29. package/dist/server/src/demo-fixtures/__tests__/deterministic-uuid.test.js.map +1 -1
  30. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.d.ts +1 -0
  31. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js +69 -0
  32. package/dist/server/src/demo-fixtures/__tests__/seed-and-validate.test.js.map +1 -0
  33. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.d.ts +1 -0
  34. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js +26 -0
  35. package/dist/server/src/demo-fixtures/__tests__/use-case-registry.test.js.map +1 -0
  36. package/dist/server/src/demo-fixtures/helpers/admin-context.d.ts +10 -0
  37. package/dist/server/src/demo-fixtures/helpers/admin-context.js +40 -0
  38. package/dist/server/src/demo-fixtures/helpers/admin-context.js.map +1 -0
  39. package/dist/server/src/demo-fixtures/helpers/placeholder.d.ts +45 -0
  40. package/dist/server/src/demo-fixtures/helpers/placeholder.js +50 -0
  41. package/dist/server/src/demo-fixtures/helpers/placeholder.js.map +1 -0
  42. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.d.ts +21 -0
  43. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js +26 -0
  44. package/dist/server/src/demo-fixtures/helpers/seed-exchange-rates.js.map +1 -0
  45. package/dist/server/src/demo-fixtures/helpers/seed-vat.d.ts +20 -0
  46. package/dist/server/src/demo-fixtures/helpers/seed-vat.js +30 -0
  47. package/dist/server/src/demo-fixtures/helpers/seed-vat.js.map +1 -0
  48. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.d.ts +9 -0
  49. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js +86 -0
  50. package/dist/server/src/demo-fixtures/use-cases/equity/shareholder-dividend.js.map +1 -0
  51. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.d.ts +12 -0
  52. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js +375 -0
  53. package/dist/server/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.js.map +1 -0
  54. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.d.ts +10 -0
  55. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js +113 -0
  56. package/dist/server/src/demo-fixtures/use-cases/income/client-payment-with-refund.js.map +1 -0
  57. package/dist/server/src/demo-fixtures/use-cases/index.d.ts +41 -0
  58. package/dist/server/src/demo-fixtures/use-cases/index.js +50 -0
  59. package/dist/server/src/demo-fixtures/use-cases/index.js.map +1 -0
  60. package/dist/server/src/demo-fixtures/validate-demo-data.d.ts +1 -0
  61. package/dist/server/src/demo-fixtures/validate-demo-data.js +117 -0
  62. package/dist/server/src/demo-fixtures/validate-demo-data.js.map +1 -0
  63. package/dist/server/src/demo-fixtures/validators/ledger-validators.d.ts +349 -0
  64. package/dist/server/src/demo-fixtures/validators/ledger-validators.js +602 -0
  65. package/dist/server/src/demo-fixtures/validators/ledger-validators.js.map +1 -0
  66. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.d.ts +1 -0
  67. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js +247 -0
  68. package/dist/server/src/demo-fixtures/validators/ledger-validators.test.js.map +1 -0
  69. package/dist/server/src/demo-fixtures/validators/types.d.ts +69 -0
  70. package/dist/server/src/demo-fixtures/validators/types.js +8 -0
  71. package/dist/server/src/demo-fixtures/validators/types.js.map +1 -0
  72. package/dist/server/src/fixtures/fixture-spec.d.ts +146 -0
  73. package/dist/server/src/fixtures/fixture-spec.js +2 -0
  74. package/dist/server/src/fixtures/fixture-spec.js.map +1 -0
  75. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js +4 -0
  76. package/dist/server/src/modules/charges-matcher/__tests__/single-match-integration.test.js.map +1 -1
  77. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js +0 -3
  78. package/dist/server/src/modules/deel/resolvers/deel.resolvers.js.map +1 -1
  79. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js +4 -3
  80. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.js.map +1 -1
  81. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js +5 -3
  82. package/dist/server/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.js.map +1 -1
  83. package/dist/server/src/shared/constants.d.ts +1 -0
  84. package/dist/server/src/shared/constants.js +1 -0
  85. package/dist/server/src/shared/constants.js.map +1 -1
  86. package/dist/server/src/shared/helpers/misc.js +2 -2
  87. package/dist/server/src/shared/helpers/misc.js.map +1 -1
  88. package/docs/demo-staging-guide.md +611 -0
  89. package/package.json +5 -2
  90. package/scripts/seed-admin-context.ts +22 -33
  91. package/src/__tests__/db-bootstrap.test.ts +9 -2
  92. package/src/__tests__/factories/business.ts +1 -1
  93. package/src/__tests__/factories/financial-account.ts +1 -1
  94. package/src/__tests__/factories/index.test.ts +1 -0
  95. package/src/__tests__/factories/tax-category.test.ts +8 -6
  96. package/src/__tests__/factories/tax-category.ts +2 -2
  97. package/src/__tests__/helpers/fixture-loader.ts +26 -61
  98. package/src/__tests__/helpers/migration-verification.ts +2 -2
  99. package/src/__tests__/helpers/seed-helpers.business.test.ts +4 -4
  100. package/src/__tests__/helpers/seed-helpers.ts +66 -75
  101. package/src/__tests__/seed-admin-context.integration.test.ts +2 -1
  102. package/src/demo-fixtures/__tests__/deterministic-uuid.test.ts +3 -2
  103. package/src/demo-fixtures/__tests__/seed-and-validate.test.ts +96 -0
  104. package/src/demo-fixtures/__tests__/use-case-registry.test.ts +27 -0
  105. package/src/demo-fixtures/helpers/admin-context.ts +59 -0
  106. package/src/demo-fixtures/helpers/placeholder.ts +50 -0
  107. package/src/demo-fixtures/helpers/seed-exchange-rates.ts +29 -0
  108. package/src/demo-fixtures/helpers/seed-vat.ts +35 -0
  109. package/src/demo-fixtures/use-cases/equity/shareholder-dividend.ts +88 -0
  110. package/src/demo-fixtures/use-cases/expenses/monthly-expense-foreign-currency.ts +377 -0
  111. package/src/demo-fixtures/use-cases/income/client-payment-with-refund.ts +115 -0
  112. package/src/demo-fixtures/use-cases/index.ts +52 -0
  113. package/src/demo-fixtures/validate-demo-data.ts +153 -0
  114. package/src/demo-fixtures/validators/README.md +190 -0
  115. package/src/demo-fixtures/validators/ledger-validators.test.ts +298 -0
  116. package/src/demo-fixtures/validators/ledger-validators.ts +711 -0
  117. package/src/demo-fixtures/validators/types.ts +83 -0
  118. package/src/fixtures/fixture-spec.ts +158 -0
  119. package/src/modules/charges-matcher/__tests__/single-match-integration.test.ts +6 -0
  120. package/src/modules/deel/resolvers/deel.resolvers.ts +0 -3
  121. package/src/modules/ledger/__tests__/ledger-scenario-a.integration.test.ts +4 -3
  122. package/src/modules/ledger/__tests__/ledger-scenario-b.integration.test.ts +6 -3
  123. package/src/shared/constants.ts +2 -0
  124. package/src/shared/helpers/misc.ts +2 -3
@@ -1 +1 @@
1
- {"version":3,"file":"fixture-loader.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/fixture-loader.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"fixture-loader.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/fixture-loader.ts"],"names":[],"mappings":"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"}
@@ -1,4 +1,4 @@
1
- import { Client, Pool, PoolClient } from 'pg';
1
+ import { type Client, Pool, type PoolClient } from 'pg';
2
2
  import { LATEST_MIGRATION_NAME } from '../../../../migrations/src/run-pg-migrations.js';
3
3
  export { LATEST_MIGRATION_NAME };
4
4
  interface MigrationCheckResult {
@@ -1 +1 @@
1
- {"version":3,"file":"migration-verification.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/migration-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,IAAI,EAAc,MAAM,IAAI,CAAC;AAC9C,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAQjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAwC,EACxC,MAAM,GAAG,kBAAkB;IAE3B,IAAI,MAA2B,CAAC;IAChC,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,YAAY,YAAY,IAAI,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,GAAG,UAAU,CAAC;QACpB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,iBAAiB,MAAM,oCAAoC,EAC3D,CAAC,qBAAqB,CAAC,CACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QACvC,OAAO;YACL,QAAQ;YACR,mBAAmB,EAAE,qBAAqB;YAC1C,YAAY,EAAE,QAAQ;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,qBAAqB,qBAAqB,yBAAyB;SACxE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,qBAAqB;YAC1C,YAAY,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACtG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,YAAwC,EACxC,MAAM,GAAG,kBAAkB;IAE3B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,YAAY;YACjB,8BAA8B,MAAM,CAAC,mBAAmB,2DAA2D,CACtH,CAAC;IACJ,CAAC;AACH,CAAC"}
1
+ {"version":3,"file":"migration-verification.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/migration-verification.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,IAAI,EAAmB,MAAM,IAAI,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,iDAAiD,CAAC;AAExF,OAAO,EAAE,qBAAqB,EAAE,CAAC;AAQjC;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,oBAAoB,CACxC,YAAwC,EACxC,MAAM,GAAG,kBAAkB;IAE3B,IAAI,MAA2B,CAAC;IAChC,IAAI,aAAa,GAAG,KAAK,CAAC;IAE1B,IAAI,YAAY,YAAY,IAAI,EAAE,CAAC;QACjC,MAAM,UAAU,GAAG,MAAM,YAAY,CAAC,OAAO,EAAE,CAAC;QAChD,MAAM,GAAG,UAAU,CAAC;QACpB,aAAa,GAAG,IAAI,CAAC;IACvB,CAAC;SAAM,CAAC;QACN,sCAAsC;QACtC,MAAM,GAAG,YAAY,CAAC;IACxB,CAAC;IAED,IAAI,CAAC;QACH,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,iBAAiB,MAAM,oCAAoC,EAC3D,CAAC,qBAAqB,CAAC,CACxB,CAAC;QAEF,MAAM,QAAQ,GAAG,MAAM,CAAC,QAAQ,KAAK,CAAC,CAAC;QACvC,OAAO;YACL,QAAQ;YACR,mBAAmB,EAAE,qBAAqB;YAC1C,YAAY,EAAE,QAAQ;gBACpB,CAAC,CAAC,SAAS;gBACX,CAAC,CAAC,qBAAqB,qBAAqB,yBAAyB;SACxE,CAAC;IACJ,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,OAAO;YACL,QAAQ,EAAE,KAAK;YACf,mBAAmB,EAAE,qBAAqB;YAC1C,YAAY,EAAE,+BAA+B,KAAK,YAAY,KAAK,CAAC,CAAC,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE;SACtG,CAAC;IACJ,CAAC;YAAS,CAAC;QACT,IAAI,aAAa,IAAI,SAAS,IAAI,MAAM,EAAE,CAAC;YACzC,MAAM,MAAM,CAAC,OAAO,EAAE,CAAC;QACzB,CAAC;IACH,CAAC;AACH,CAAC;AAED;;;GAGG;AACH,MAAM,CAAC,KAAK,UAAU,4BAA4B,CAChD,YAAwC,EACxC,MAAM,GAAG,kBAAkB;IAE3B,MAAM,MAAM,GAAG,MAAM,oBAAoB,CAAC,YAAY,EAAE,MAAM,CAAC,CAAC;IAChE,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;QACrB,MAAM,IAAI,KAAK,CACb,MAAM,CAAC,YAAY;YACjB,8BAA8B,MAAM,CAAC,mBAAmB,2DAA2D,CACtH,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -48,7 +48,7 @@ describe('ensureBusinessForEntity', () => {
48
48
  type: 'business',
49
49
  });
50
50
  // Ensure business with noInvoicesRequired set to true
51
- await ensureBusinessForEntity(client, entityId, { noInvoicesRequired: true });
51
+ await ensureBusinessForEntity(client, entityId, { isDocumentsOptional: true });
52
52
  // Verify business has correct option set
53
53
  const result = await client.query(`SELECT id, no_invoices_required FROM ${qualifyTable('businesses')} WHERE id = $1`, [entityId]);
54
54
  expect(result.rows).toHaveLength(1);
@@ -74,10 +74,10 @@ describe('ensureBusinessForEntity', () => {
74
74
  name: 'Test Business Entity 5',
75
75
  type: 'business',
76
76
  });
77
- // Create business with noInvoicesRequired = true
78
- await ensureBusinessForEntity(client, entityId, { noInvoicesRequired: true });
77
+ // Create business with isDocumentsOptional = true
78
+ await ensureBusinessForEntity(client, entityId, { isDocumentsOptional: true });
79
79
  // Call again with different options (should be no-op)
80
- await ensureBusinessForEntity(client, entityId, { noInvoicesRequired: false });
80
+ await ensureBusinessForEntity(client, entityId, { isDocumentsOptional: false });
81
81
  // Verify original value is preserved
82
82
  const result = await client.query(`SELECT no_invoices_required FROM ${qualifyTable('businesses')} WHERE id = $1`, [entityId]);
83
83
  expect(result.rows).toHaveLength(1);
@@ -1 +1 @@
1
- {"version":3,"file":"seed-helpers.business.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/seed-helpers.business.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed-helpers.business.test.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/seed-helpers.business.test.ts"],"names":[],"mappings":"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"}
@@ -1,9 +1,11 @@
1
- import type { PoolClient } from 'pg';
1
+ import type { Client, PoolClient } from 'pg';
2
+ import type { FixtureBusinesses, FixtureTaxCategories } from './fixture-types.js';
2
3
  /**
3
4
  * Valid financial entity types based on database schema
4
5
  */
5
6
  export type FinancialEntityType = 'business' | 'tax_category' | 'tag';
6
7
  export interface EnsureFinancialEntityParams {
8
+ id?: string;
7
9
  name: string;
8
10
  type: FinancialEntityType;
9
11
  ownerId?: string;
@@ -56,10 +58,8 @@ export interface FinancialEntityResult {
56
58
  * // sameId === adminId
57
59
  * ```
58
60
  */
59
- export declare function ensureFinancialEntity(client: PoolClient, params: EnsureFinancialEntityParams): Promise<FinancialEntityResult>;
60
- export interface EnsureBusinessForEntityOptions {
61
- noInvoicesRequired?: boolean;
62
- }
61
+ export declare function ensureFinancialEntity(client: PoolClient | Client, params: EnsureFinancialEntityParams): Promise<FinancialEntityResult>;
62
+ export type EnsureBusinessForEntityOptions = Partial<Omit<FixtureBusinesses['businesses'][number], 'id'>>;
63
63
  /**
64
64
  * Ensure a business row exists for a given financial entity id (idempotent)
65
65
  *
@@ -101,10 +101,10 @@ export interface EnsureBusinessForEntityOptions {
101
101
  * });
102
102
  * ```
103
103
  */
104
- export declare function ensureBusinessForEntity(client: PoolClient, entityId: string, options?: EnsureBusinessForEntityOptions): Promise<void>;
105
- export interface EnsureTaxCategoryForEntityOptions {
104
+ export declare function ensureBusinessForEntity(client: PoolClient | Client, entityId: string, options?: EnsureBusinessForEntityOptions): Promise<void>;
105
+ export type EnsureTaxCategoryForEntityOptions = Partial<Omit<FixtureTaxCategories['taxCategories'][number], 'id'>> & {
106
106
  sortCode?: number;
107
- }
107
+ };
108
108
  /**
109
109
  * Ensure a tax_categories row exists for a given financial entity id (idempotent)
110
110
  *
@@ -150,4 +150,4 @@ export interface EnsureTaxCategoryForEntityOptions {
150
150
  * });
151
151
  * ```
152
152
  */
153
- export declare function ensureTaxCategoryForEntity(client: PoolClient, entityId: string, options?: EnsureTaxCategoryForEntityOptions): Promise<void>;
153
+ export declare function ensureTaxCategoryForEntity(client: PoolClient | Client, entityId: string, options?: EnsureTaxCategoryForEntityOptions): Promise<void>;
@@ -1,5 +1,7 @@
1
1
  import { qualifyTable } from './test-db-config.js';
2
2
  import { EntityValidationError, SeedError } from './seed-errors.js';
3
+ import { makeUUID } from '../factories/index.js';
4
+ import { UUID_REGEX } from '../../shared/constants.js';
3
5
  /**
4
6
  * Valid financial entity types for runtime validation
5
7
  */
@@ -50,7 +52,7 @@ const VALID_ENTITY_TYPES = ['business', 'tax_category', 'tag'];
50
52
  * ```
51
53
  */
52
54
  export async function ensureFinancialEntity(client, params) {
53
- const { name, type, ownerId } = params;
55
+ const { name, type, ownerId, id: originId } = params;
54
56
  // Validate inputs
55
57
  const validationErrors = [];
56
58
  if (!name || name.trim() === '') {
@@ -63,29 +65,25 @@ export async function ensureFinancialEntity(client, params) {
63
65
  throw new EntityValidationError('FinancialEntity', validationErrors, { name, type, ownerId });
64
66
  }
65
67
  try {
66
- // Check if entity already exists
67
- const selectQuery = `
68
- SELECT id
69
- FROM ${qualifyTable('financial_entities')}
70
- WHERE name = $1
71
- AND type = $2
72
- AND (owner_id = $3 OR (owner_id IS NULL AND $3 IS NULL))
73
- LIMIT 1
74
- `;
75
- const existingResult = await client.query(selectQuery, [name, type, ownerId ?? null]);
76
- if (existingResult.rows.length > 0) {
77
- return { id: existingResult.rows[0].id };
78
- }
79
- // Insert new entity
68
+ // Generate deterministic UUID based on type, name, and ownerId for idempotency
69
+ // Same (type, name, ownerId) always generates same ID, ensuring multiple calls are safe
70
+ // Include ownerId in the composite key so different owners get different IDs
71
+ const compositeKey = ownerId ? `${name}:owner=${ownerId}` : name;
72
+ const consistentId = originId ?? makeUUID(type, compositeKey);
73
+ // Use atomic INSERT...ON CONFLICT on PRIMARY KEY (id) to handle concurrent inserts
74
+ // If the deterministic ID already exists (from a previous call or concurrent insert),
75
+ // the conflict handler will safely return the existing row
80
76
  const insertQuery = `
81
- INSERT INTO ${qualifyTable('financial_entities')} (name, type, owner_id)
82
- VALUES ($1, $2, $3)
77
+ INSERT INTO ${qualifyTable('financial_entities')} (id, name, type, owner_id)
78
+ VALUES ($1, $2, $3, $4)
79
+ ON CONFLICT (id) DO UPDATE
80
+ SET id = EXCLUDED.id -- No-op update, just to return the existing id
83
81
  RETURNING id
84
82
  `;
85
- const insertResult = await client.query(insertQuery, [name, type, ownerId ?? null]);
86
- const row = insertResult.rows[0];
83
+ const result = await client.query(insertQuery, [consistentId, name, type, ownerId ?? null]);
84
+ const row = result.rows[0];
87
85
  if (!row) {
88
- throw new SeedError('INSERT returned no rows', { name, type, ownerId });
86
+ throw new SeedError('INSERT...ON CONFLICT returned no rows', { name, type, ownerId });
89
87
  }
90
88
  return { id: row.id };
91
89
  }
@@ -139,8 +137,7 @@ export async function ensureFinancialEntity(client, params) {
139
137
  */
140
138
  export async function ensureBusinessForEntity(client, entityId, options) {
141
139
  // Validate entityId format (basic UUID check)
142
- const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
143
- if (!uuidPattern.test(entityId)) {
140
+ if (!UUID_REGEX.test(entityId)) {
144
141
  throw new EntityValidationError('Business', ['entityId must be a valid UUID'], { entityId });
145
142
  }
146
143
  try {
@@ -155,23 +152,36 @@ export async function ensureBusinessForEntity(client, entityId, options) {
155
152
  if (entityExists.rows.length === 0) {
156
153
  throw new EntityValidationError('Business', [`Financial entity ${entityId} not found. Create it first via ensureFinancialEntity.`], { entityId });
157
154
  }
158
- // Check if business already exists
159
- const selectQuery = `
160
- SELECT 1
161
- FROM ${qualifyTable('businesses')}
162
- WHERE id = $1
163
- LIMIT 1
164
- `;
165
- const existingResult = await client.query(selectQuery, [entityId]);
166
- if (existingResult.rows.length > 0) {
167
- return; // Business already exists, preserve existing values
168
- }
169
- // Insert new business
155
+ // Use atomic INSERT...ON CONFLICT on PRIMARY KEY (id) to handle concurrent inserts
156
+ // If the deterministic ID already exists (from a previous call or concurrent insert),
157
+ // the conflict handler will safely return the existing row
170
158
  const insertQuery = `
171
- INSERT INTO ${qualifyTable('businesses')} (id, no_invoices_required)
172
- VALUES ($1, $2)
159
+ INSERT INTO ${qualifyTable('businesses')} (
160
+ id, hebrew_name, address, city, zip_code, email, website, phone_number, vat_number,
161
+ exempt_dealer, suggestion_data, optional_vat, country,
162
+ pcn874_record_type_override, can_settle_with_receipt, no_invoices_required
163
+ )
164
+ VALUES ($1, $2, $3, $4, $5, $6, $7, $8, $9, $10, $11, $12, $13, $14, $15, $16)
165
+ ON CONFLICT (id) DO NOTHING
173
166
  `;
174
- await client.query(insertQuery, [entityId, options?.noInvoicesRequired ?? false]);
167
+ await client.query(insertQuery, [
168
+ entityId,
169
+ options?.hebrewName,
170
+ options?.address,
171
+ options?.city,
172
+ options?.zipCode,
173
+ options?.email,
174
+ options?.website,
175
+ options?.phoneNumber,
176
+ options?.governmentId, // Maps to vat_number column
177
+ options?.exemptDealer ?? false,
178
+ options?.suggestions ?? null,
179
+ options?.optionalVat ?? false,
180
+ options?.country ?? 'ISR',
181
+ options?.pcn874RecordTypeOverride ?? null,
182
+ options?.isReceiptEnough ?? false,
183
+ options?.isDocumentsOptional ?? false
184
+ ]);
175
185
  }
176
186
  catch (error) {
177
187
  if (error instanceof EntityValidationError || error instanceof SeedError) {
@@ -227,8 +237,7 @@ export async function ensureBusinessForEntity(client, entityId, options) {
227
237
  */
228
238
  export async function ensureTaxCategoryForEntity(client, entityId, options) {
229
239
  // Validate entityId format (basic UUID check)
230
- const uuidPattern = /^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i;
231
- if (!uuidPattern.test(entityId)) {
240
+ if (!UUID_REGEX.test(entityId)) {
232
241
  throw new EntityValidationError('TaxCategory', ['entityId must be a valid UUID'], { entityId });
233
242
  }
234
243
  try {
@@ -243,23 +252,17 @@ export async function ensureTaxCategoryForEntity(client, entityId, options) {
243
252
  if (entityExists.rows.length === 0) {
244
253
  throw new EntityValidationError('TaxCategory', [`Financial entity ${entityId} not found. Create it first via ensureFinancialEntity.`], { entityId });
245
254
  }
246
- // Check if tax category already exists
247
- const selectQuery = `
248
- SELECT 1
249
- FROM ${qualifyTable('tax_categories')}
250
- WHERE id = $1
251
- LIMIT 1
252
- `;
253
- const existingResult = await client.query(selectQuery, [entityId]);
254
- if (existingResult.rows.length > 0) {
255
- return; // Tax category already exists, preserve existing values
256
- }
257
- // Insert new tax category
255
+ // Use atomic INSERT...ON CONFLICT on PRIMARY KEY (id) to handle concurrent inserts
256
+ // If the deterministic ID already exists (from a previous call or concurrent insert),
257
+ // the conflict handler will safely return the existing row
258
258
  const insertQuery = `
259
- INSERT INTO ${qualifyTable('tax_categories')} (id)
260
- VALUES ($1)
259
+ INSERT INTO ${qualifyTable('tax_categories')} (
260
+ id, hashavshevet_name, tax_excluded
261
+ )
262
+ VALUES ($1, $2, $3)
263
+ ON CONFLICT (id) DO NOTHING
261
264
  `;
262
- await client.query(insertQuery, [entityId]);
265
+ await client.query(insertQuery, [entityId, options?.hashavshevetName, options?.taxExcluded ?? false]);
263
266
  }
264
267
  catch (error) {
265
268
  if (error instanceof EntityValidationError || error instanceof SeedError) {
@@ -1 +1 @@
1
- {"version":3,"file":"seed-helpers.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/seed-helpers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed-helpers.js","sourceRoot":"","sources":["../../../../../src/__tests__/helpers/seed-helpers.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,qBAAqB,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AACpE,OAAO,EAAE,QAAQ,EAAE,MAAM,uBAAuB,CAAC;AACjD,OAAO,EAAE,UAAU,EAAE,MAAM,2BAA2B,CAAC;AAQvD;;GAEG;AACH,MAAM,kBAAkB,GAAmC,CAAC,UAAU,EAAE,cAAc,EAAE,KAAK,CAAC,CAAC;AAa/F;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,qBAAqB,CACzC,MAA2B,EAC3B,MAAmC;IAEnC,MAAM,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EAAE,EAAE,QAAQ,EAAE,GAAG,MAAM,CAAC;IAErD,kBAAkB;IAClB,MAAM,gBAAgB,GAAa,EAAE,CAAC;IAEtC,IAAI,CAAC,IAAI,IAAI,IAAI,CAAC,IAAI,EAAE,KAAK,EAAE,EAAE,CAAC;QAChC,gBAAgB,CAAC,IAAI,CAAC,sCAAsC,CAAC,CAAC;IAChE,CAAC;IAED,IAAI,CAAC,kBAAkB,CAAC,QAAQ,CAAC,IAAI,CAAC,EAAE,CAAC;QACvC,gBAAgB,CAAC,IAAI,CACnB,wBAAwB,kBAAkB,CAAC,IAAI,CAAC,IAAI,CAAC,WAAW,IAAI,GAAG,CACxE,CAAC;IACJ,CAAC;IAED,IAAI,gBAAgB,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QAChC,MAAM,IAAI,qBAAqB,CAAC,iBAAiB,EAAE,gBAAgB,EAAE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CAAC,CAAC;IAChG,CAAC;IAED,IAAI,CAAC;QACH,+EAA+E;QAC/E,wFAAwF;QACxF,6EAA6E;QAC7E,MAAM,YAAY,GAAG,OAAO,CAAC,CAAC,CAAC,GAAG,IAAI,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;QACjE,MAAM,YAAY,GAAG,QAAQ,IAAI,QAAQ,CAAC,IAAI,EAAE,YAAY,CAAC,CAAC;QAE9D,mFAAmF;QACnF,sFAAsF;QACtF,2DAA2D;QAC3D,MAAM,WAAW,GAAG;oBACJ,YAAY,CAAC,oBAAoB,CAAC;;;;;KAKjD,CAAC;QAEF,MAAM,MAAM,GAAG,MAAM,MAAM,CAAC,KAAK,CAC/B,WAAW,EACX,CAAC,YAAY,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,IAAI,IAAI,CAAC,CAC5C,CAAC;QAEF,MAAM,GAAG,GAAG,MAAM,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAC3B,IAAI,CAAC,GAAG,EAAE,CAAC;YACT,MAAM,IAAI,SAAS,CACjB,uCAAuC,EACvC,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,CACxB,CAAC;QACJ,CAAC;QAED,OAAO,EAAE,EAAE,EAAE,GAAG,CAAC,EAAE,EAAE,CAAC;IACxB,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,SAAS,CACjB,4CAA4C,IAAI,YAAY,IAAI,IAAI,EACpE,EAAE,IAAI,EAAE,IAAI,EAAE,OAAO,EAAE,EACvB,KAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAID;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GAwCG;AACH,MAAM,CAAC,KAAK,UAAU,uBAAuB,CAC3C,MAA2B,EAC3B,QAAgB,EAChB,OAAwC;IAExC,8CAA8C;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,qBAAqB,CAC7B,UAAU,EACV,CAAC,+BAA+B,CAAC,EACjC,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,gBAAgB,GAAG;;aAEhB,YAAY,CAAC,oBAAoB,CAAC;;;KAG1C,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,qBAAqB,CAC7B,UAAU,EACV,CAAC,oBAAoB,QAAQ,wDAAwD,CAAC,EACtF,EAAE,QAAQ,EAAE,CACb,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,sFAAsF;QACtF,2DAA2D;QAC3D,MAAM,WAAW,GAAG;oBACJ,YAAY,CAAC,YAAY,CAAC;;;;;;;KAOzC,CAAC;QAEF,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE;YACxB,QAAQ;YACR,OAAO,EAAE,UAAU;YACnB,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,IAAI;YACb,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,KAAK;YACd,OAAO,EAAE,OAAO;YAChB,OAAO,EAAE,WAAW;YACpB,OAAO,EAAE,YAAY,EAAE,4BAA4B;YACnD,OAAO,EAAE,YAAY,IAAI,KAAK;YAC9B,OAAO,EAAE,WAAW,IAAI,IAAI;YAC5B,OAAO,EAAE,WAAW,IAAI,KAAK;YAC7B,OAAO,EAAE,OAAO,IAAI,KAAK;YACzB,OAAO,EAAE,wBAAwB,IAAI,IAAI;YACzC,OAAO,EAAE,eAAe,IAAI,KAAK;YACjC,OAAO,EAAE,mBAAmB,IAAI,KAAK;SAAC,CAAC,CAAC;IAClD,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,SAAS,CACjB,wCAAwC,QAAQ,EAAE,EAClD,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,KAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC;AAMD;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA4CG;AACH,MAAM,CAAC,KAAK,UAAU,0BAA0B,CAC9C,MAA2B,EAC3B,QAAgB,EAChB,OAA2C;IAE3C,8CAA8C;IAC9C,IAAI,CAAC,UAAU,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,CAAC;QAC/B,MAAM,IAAI,qBAAqB,CAC7B,aAAa,EACb,CAAC,+BAA+B,CAAC,EACjC,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,IAAI,CAAC;QACH,wCAAwC;QACxC,MAAM,gBAAgB,GAAG;;aAEhB,YAAY,CAAC,oBAAoB,CAAC;;;KAG1C,CAAC;QAEF,MAAM,YAAY,GAAG,MAAM,MAAM,CAAC,KAAK,CAAC,gBAAgB,EAAE,CAAC,QAAQ,CAAC,CAAC,CAAC;QAEtE,IAAI,YAAY,CAAC,IAAI,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;YACnC,MAAM,IAAI,qBAAqB,CAC7B,aAAa,EACb,CAAC,oBAAoB,QAAQ,wDAAwD,CAAC,EACtF,EAAE,QAAQ,EAAE,CACb,CAAC;QACJ,CAAC;QAED,mFAAmF;QACnF,sFAAsF;QACtF,2DAA2D;QAC3D,MAAM,WAAW,GAAG;oBACJ,YAAY,CAAC,gBAAgB,CAAC;;;;;KAK7C,CAAC;QAEF,MAAM,MAAM,CAAC,KAAK,CAAC,WAAW,EAAE,CAAC,QAAQ,EAAE,OAAO,EAAE,gBAAgB,EAAE,OAAO,EAAE,WAAW,IAAI,KAAK,CAAC,CAAC,CAAC;IACxG,CAAC;IAAC,OAAO,KAAK,EAAE,CAAC;QACf,IAAI,KAAK,YAAY,qBAAqB,IAAI,KAAK,YAAY,SAAS,EAAE,CAAC;YACzE,MAAM,KAAK,CAAC;QACd,CAAC;QAED,MAAM,IAAI,SAAS,CACjB,4CAA4C,QAAQ,EAAE,EACtD,EAAE,QAAQ,EAAE,OAAO,EAAE,EACrB,KAAc,CACf,CAAC;IACJ,CAAC;AACH,CAAC"}
@@ -1,6 +1,7 @@
1
1
  import { describe, expect, it, beforeAll, afterAll } from 'vitest';
2
2
  import { TestDatabase } from './helpers/db-setup.js';
3
3
  import { seedAdminCore } from '../../scripts/seed-admin-context.js';
4
+ import { UUID_REGEX } from '../shared/constants.js';
4
5
  describe('seedAdminCore integration', () => {
5
6
  let db;
6
7
  beforeAll(async () => {
@@ -16,7 +17,7 @@ describe('seedAdminCore integration', () => {
16
17
  const { adminEntityId } = await seedAdminCore(client);
17
18
  // Verify admin entity exists
18
19
  expect(adminEntityId).toBeTruthy();
19
- expect(adminEntityId).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{4}-[0-9a-f]{12}$/i);
20
+ expect(adminEntityId).toMatch(UUID_REGEX);
20
21
  // Verify admin financial entity
21
22
  const adminEntity = await client.query(`SELECT * FROM accounter_schema.financial_entities WHERE id = $1`, [adminEntityId]);
22
23
  expect(adminEntity.rows).toHaveLength(1);
@@ -1 +1 @@
1
- {"version":3,"file":"seed-admin-context.integration.test.js","sourceRoot":"","sources":["../../../../src/__tests__/seed-admin-context.integration.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"seed-admin-context.integration.test.js","sourceRoot":"","sources":["../../../../src/__tests__/seed-admin-context.integration.test.ts"],"names":[],"mappings":"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"}
@@ -1,12 +1,13 @@
1
1
  import { describe, expect, it } from 'vitest';
2
2
  import { makeUUID } from '../helpers/deterministic-uuid.js';
3
+ import { UUID5_REGEX } from 'shared/constants.js';
3
4
  describe('deterministic-uuid', () => {
4
5
  describe('makeUUID', () => {
5
6
  it('generates same UUID for same inputs', () => {
6
7
  const uuid1 = makeUUID('business', 'acme-consulting-llc');
7
8
  const uuid2 = makeUUID('business', 'acme-consulting-llc');
8
9
  expect(uuid1).toBe(uuid2);
9
- expect(uuid1).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/);
10
+ expect(uuid1).toMatch(UUID5_REGEX);
10
11
  });
11
12
  it('generates different UUIDs for different names', () => {
12
13
  const uuid1 = makeUUID('business', 'acme-llc');
@@ -31,7 +32,7 @@ describe('deterministic-uuid', () => {
31
32
  const uuid = makeUUID('charge', 'monthly-invoice-2024-11');
32
33
  // UUID v5 format: xxxxxxxx-xxxx-5xxx-yxxx-xxxxxxxxxxxx
33
34
  // where y is one of [8, 9, a, b]
34
- expect(uuid).toMatch(/^[0-9a-f]{8}-[0-9a-f]{4}-5[0-9a-f]{3}-[89ab][0-9a-f]{3}-[0-9a-f]{12}$/);
35
+ expect(uuid).toMatch(UUID5_REGEX);
35
36
  });
36
37
  it('handles kebab-case names correctly', () => {
37
38
  const uuid1 = makeUUID('business', 'us-supplier-acme-llc');
@@ -1 +1 @@
1
- {"version":3,"file":"deterministic-uuid.test.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/__tests__/deterministic-uuid.test.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"deterministic-uuid.test.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/__tests__/deterministic-uuid.test.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,69 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { spawn } from 'child_process';
3
+ import { fileURLToPath } from 'url';
4
+ import { dirname, resolve } from 'path';
5
+ const __filename = fileURLToPath(import.meta.url);
6
+ const __dirname = dirname(__filename);
7
+ /**
8
+ * Integration test: Seed demo data and validate
9
+ *
10
+ * This test runs the full seed + validate pipeline to ensure:
11
+ * 1. Seed script completes successfully (exit code 0)
12
+ * 2. Validation script passes all checks (exit code 0)
13
+ * 3. End-to-end data integrity from seed to validation
14
+ *
15
+ * Prerequisites:
16
+ * - Database connection available
17
+ * - ALLOW_DEMO_SEED=1 environment variable set
18
+ * - Migrations applied
19
+ *
20
+ * Note: This is a slow test (~10-30 seconds) and should be run separately
21
+ * or marked as integration test in CI/CD pipelines.
22
+ */
23
+ describe('Seed and Validate Integration', () => {
24
+ // Increase timeout for this integration test (30 seconds)
25
+ it('seeds demo data and passes validation', async () => {
26
+ // Check for stale migrations before running the test
27
+ if (process.env.SKIP_DEMO_SEED_STALE_MIGRATIONS === '1') {
28
+ throw new Error('Demo-seed test failed: migrations are stale. Run: yarn workspace @accounter/migrations migration:run');
29
+ }
30
+ const workspaceRoot = resolve(__dirname, '../../../../../');
31
+ const seedScriptPath = resolve(workspaceRoot, 'scripts/seed-demo-data.ts');
32
+ const validateScriptPath = resolve(workspaceRoot, 'packages/server/src/demo-fixtures/validate-demo-data.ts');
33
+ const registerEsmPath = resolve(workspaceRoot, 'scripts/register-esm.js');
34
+ // Step 1: Run seed script
35
+ const seedExitCode = await new Promise((resolve, reject) => {
36
+ const seedProcess = spawn('node', ['--import', registerEsmPath, seedScriptPath], {
37
+ cwd: workspaceRoot,
38
+ env: {
39
+ ...process.env,
40
+ ALLOW_DEMO_SEED: '1',
41
+ },
42
+ stdio: 'inherit', // Show output for debugging
43
+ });
44
+ seedProcess.on('close', code => {
45
+ resolve(code ?? 1);
46
+ });
47
+ seedProcess.on('error', err => {
48
+ reject(err);
49
+ });
50
+ });
51
+ expect(seedExitCode).toBe(0);
52
+ // Step 2: Run validation script
53
+ const validateExitCode = await new Promise((resolve, reject) => {
54
+ const validateProcess = spawn('node', ['--import', registerEsmPath, validateScriptPath], {
55
+ cwd: workspaceRoot,
56
+ env: process.env,
57
+ stdio: 'inherit',
58
+ });
59
+ validateProcess.on('close', code => {
60
+ resolve(code ?? 1);
61
+ });
62
+ validateProcess.on('error', err => {
63
+ reject(err);
64
+ });
65
+ });
66
+ expect(validateExitCode).toBe(0);
67
+ }, 30000); // 30 second timeout
68
+ });
69
+ //# sourceMappingURL=seed-and-validate.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"seed-and-validate.test.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/__tests__/seed-and-validate.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,KAAK,EAAE,MAAM,eAAe,CAAC;AACtC,OAAO,EAAE,aAAa,EAAE,MAAM,KAAK,CAAC;AACpC,OAAO,EAAE,OAAO,EAAE,OAAO,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,UAAU,GAAG,aAAa,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC;AAClD,MAAM,SAAS,GAAG,OAAO,CAAC,UAAU,CAAC,CAAC;AAEtC;;;;;;;;;;;;;;;GAeG;AACH,QAAQ,CAAC,+BAA+B,EAAE,GAAG,EAAE;IAC7C,0DAA0D;IAC1D,EAAE,CACA,uCAAuC,EACvC,KAAK,IAAI,EAAE;QACT,qDAAqD;QACrD,IAAI,OAAO,CAAC,GAAG,CAAC,+BAA+B,KAAK,GAAG,EAAE,CAAC;YACxD,MAAM,IAAI,KAAK,CACb,sGAAsG,CACvG,CAAC;QACJ,CAAC;QAED,MAAM,aAAa,GAAG,OAAO,CAAC,SAAS,EAAE,iBAAiB,CAAC,CAAC;QAC5D,MAAM,cAAc,GAAG,OAAO,CAAC,aAAa,EAAE,2BAA2B,CAAC,CAAC;QAC3E,MAAM,kBAAkB,GAAG,OAAO,CAChC,aAAa,EACb,yDAAyD,CAC1D,CAAC;QACF,MAAM,eAAe,GAAG,OAAO,CAAC,aAAa,EAAE,yBAAyB,CAAC,CAAC;QAE1E,0BAA0B;QAC1B,MAAM,YAAY,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACjE,MAAM,WAAW,GAAG,KAAK,CACvB,MAAM,EACN,CAAC,UAAU,EAAE,eAAe,EAAE,cAAc,CAAC,EAC7C;gBACE,GAAG,EAAE,aAAa;gBAClB,GAAG,EAAE;oBACH,GAAG,OAAO,CAAC,GAAG;oBACd,eAAe,EAAE,GAAG;iBACrB;gBACD,KAAK,EAAE,SAAS,EAAE,4BAA4B;aAC/C,CACF,CAAC;YAEF,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBAC7B,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,WAAW,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBAC5B,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,YAAY,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;QAE7B,gCAAgC;QAChC,MAAM,gBAAgB,GAAG,MAAM,IAAI,OAAO,CAAS,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;YACrE,MAAM,eAAe,GAAG,KAAK,CAC3B,MAAM,EACN,CAAC,UAAU,EAAE,eAAe,EAAE,kBAAkB,CAAC,EACjD;gBACE,GAAG,EAAE,aAAa;gBAClB,GAAG,EAAE,OAAO,CAAC,GAAG;gBAChB,KAAK,EAAE,SAAS;aACjB,CACF,CAAC;YAEF,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,IAAI,CAAC,EAAE;gBACjC,OAAO,CAAC,IAAI,IAAI,CAAC,CAAC,CAAC;YACrB,CAAC,CAAC,CAAC;YAEH,eAAe,CAAC,EAAE,CAAC,OAAO,EAAE,GAAG,CAAC,EAAE;gBAChC,MAAM,CAAC,GAAG,CAAC,CAAC;YACd,CAAC,CAAC,CAAC;QACL,CAAC,CAAC,CAAC;QAEH,MAAM,CAAC,gBAAgB,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,CAAC;IACnC,CAAC,EACD,KAAK,CACN,CAAC,CAAC,oBAAoB;AACzB,CAAC,CAAC,CAAC"}
@@ -0,0 +1,26 @@
1
+ import { describe, it, expect } from 'vitest';
2
+ import { getAllUseCases } from '../use-cases/index.js';
3
+ describe('Use-Case Registry', () => {
4
+ it('has no duplicate IDs across all categories', () => {
5
+ const allUseCases = getAllUseCases();
6
+ const ids = allUseCases.map(uc => uc.id);
7
+ const unique = new Set(ids);
8
+ expect(unique.size).toBe(ids.length);
9
+ });
10
+ it('all use-cases have required fields', () => {
11
+ const allUseCases = getAllUseCases();
12
+ allUseCases.forEach(uc => {
13
+ expect(uc.id).toBeTruthy();
14
+ expect(uc.name).toBeTruthy();
15
+ expect(uc.category).toBeTruthy();
16
+ expect(uc.fixtures).toBeDefined();
17
+ expect(Array.isArray(uc.fixtures.businesses)).toBe(true);
18
+ expect(Array.isArray(uc.fixtures.taxCategories)).toBe(true);
19
+ expect(Array.isArray(uc.fixtures.financialAccounts)).toBe(true);
20
+ expect(Array.isArray(uc.fixtures.charges)).toBe(true);
21
+ expect(Array.isArray(uc.fixtures.transactions)).toBe(true);
22
+ expect(Array.isArray(uc.fixtures.documents)).toBe(true);
23
+ });
24
+ });
25
+ });
26
+ //# sourceMappingURL=use-case-registry.test.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"use-case-registry.test.js","sourceRoot":"","sources":["../../../../../src/demo-fixtures/__tests__/use-case-registry.test.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,QAAQ,EAAE,EAAE,EAAE,MAAM,EAAE,MAAM,QAAQ,CAAC;AAC9C,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAEvD,QAAQ,CAAC,mBAAmB,EAAE,GAAG,EAAE;IACjC,EAAE,CAAC,4CAA4C,EAAE,GAAG,EAAE;QACpD,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,MAAM,GAAG,GAAG,WAAW,CAAC,GAAG,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC;QACzC,MAAM,MAAM,GAAG,IAAI,GAAG,CAAC,GAAG,CAAC,CAAC;QAC5B,MAAM,CAAC,MAAM,CAAC,IAAI,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IACvC,CAAC,CAAC,CAAC;IAEH,EAAE,CAAC,oCAAoC,EAAE,GAAG,EAAE;QAC5C,MAAM,WAAW,GAAG,cAAc,EAAE,CAAC;QACrC,WAAW,CAAC,OAAO,CAAC,EAAE,CAAC,EAAE;YACvB,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC,CAAC,UAAU,EAAE,CAAC;YAC3B,MAAM,CAAC,EAAE,CAAC,IAAI,CAAC,CAAC,UAAU,EAAE,CAAC;YAC7B,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,UAAU,EAAE,CAAC;YACjC,MAAM,CAAC,EAAE,CAAC,QAAQ,CAAC,CAAC,WAAW,EAAE,CAAC;YAClC,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,UAAU,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACzD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,aAAa,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC5D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,iBAAiB,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAChE,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YACtD,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,YAAY,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;YAC3D,MAAM,CAAC,KAAK,CAAC,OAAO,CAAC,EAAE,CAAC,QAAQ,CAAC,SAAS,CAAC,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;QAC1D,CAAC,CAAC,CAAC;IACL,CAAC,CAAC,CAAC;AACL,CAAC,CAAC,CAAC"}
@@ -0,0 +1,10 @@
1
+ import type { Client } from 'pg';
2
+ /**
3
+ * Create (or fetch) the Accounter Admin Business financial entity and return its id.
4
+ *
5
+ * Simplified logic:
6
+ * - Looks up existing row by id or by (type='business' AND name='Accounter Admin Business').
7
+ * - If not found, inserts a self-owned business entity with a deterministic id.
8
+ * - Returns the id of the Accounter Admin Business entity.
9
+ */
10
+ export declare function createAdminBusinessContext(client: Client): Promise<string>;
@@ -0,0 +1,40 @@
1
+ import { makeUUID } from './deterministic-uuid.js';
2
+ /**
3
+ * Create (or fetch) the Accounter Admin Business financial entity and return its id.
4
+ *
5
+ * Simplified logic:
6
+ * - Looks up existing row by id or by (type='business' AND name='Accounter Admin Business').
7
+ * - If not found, inserts a self-owned business entity with a deterministic id.
8
+ * - Returns the id of the Accounter Admin Business entity.
9
+ */
10
+ export async function createAdminBusinessContext(client) {
11
+ const deterministicId = makeUUID('business', 'admin-business');
12
+ // 1) Try find by deterministic id or by semantic key (type+name)
13
+ const findResult = await client.query(`SELECT id
14
+ FROM accounter_schema.financial_entities
15
+ WHERE id = $1 OR (type = 'business' AND name = 'Accounter Admin Business')
16
+ LIMIT 1`, [deterministicId]);
17
+ if (findResult.rows.length > 0) {
18
+ return findResult.rows[0].id;
19
+ }
20
+ // 2) Handle circular FK: financial_entities.owner_id → businesses.id ← businesses.id → financial_entities.id
21
+ // Resolution strategy:
22
+ // a) Insert financial_entity with NULL owner_id (breaks circular dependency temporarily)
23
+ // b) Insert business row (now has valid financial_entity reference)
24
+ // c) Update financial_entity to set owner_id = self (closes the circle)
25
+ //
26
+ // This 3-step process is necessary because PostgreSQL doesn't support DEFERRABLE
27
+ // constraints on our foreign keys, and we need both tables to reference each other.
28
+ const adminId = deterministicId;
29
+ await client.query(`INSERT INTO accounter_schema.financial_entities (id, type, name, owner_id)
30
+ VALUES ($1, 'business', 'Accounter Admin Business', NULL)`, [adminId]);
31
+ // 3) Insert business row (references financial_entity)
32
+ await client.query(`INSERT INTO accounter_schema.businesses (id)
33
+ VALUES ($1)`, [adminId]);
34
+ // 4) Update financial_entity to set owner_id (self-reference)
35
+ await client.query(`UPDATE accounter_schema.financial_entities
36
+ SET owner_id = $1
37
+ WHERE id = $1`, [adminId]);
38
+ return adminId;
39
+ }
40
+ //# sourceMappingURL=admin-context.js.map