@endora-commerce/mod-organizations 0.100.0

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 (288) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +62 -0
  3. package/dist/admin/components/OrganizationSalesRepsTab.d.ts +27 -0
  4. package/dist/admin/components/OrganizationSalesRepsTab.d.ts.map +1 -0
  5. package/dist/admin/components/OrganizationSalesRepsTab.js +170 -0
  6. package/dist/admin/components/OrganizationSalesRepsTab.js.map +1 -0
  7. package/dist/admin/index.d.ts +30 -0
  8. package/dist/admin/index.d.ts.map +1 -0
  9. package/dist/admin/index.js +59 -0
  10. package/dist/admin/index.js.map +1 -0
  11. package/dist/admin/pages/OrganizationDetail.d.ts +9 -0
  12. package/dist/admin/pages/OrganizationDetail.d.ts.map +1 -0
  13. package/dist/admin/pages/OrganizationDetail.js +247 -0
  14. package/dist/admin/pages/OrganizationDetail.js.map +1 -0
  15. package/dist/admin/pages/OrganizationsList.d.ts +9 -0
  16. package/dist/admin/pages/OrganizationsList.d.ts.map +1 -0
  17. package/dist/admin/pages/OrganizationsList.js +73 -0
  18. package/dist/admin/pages/OrganizationsList.js.map +1 -0
  19. package/dist/admin/panels/ApplicablePriceListsPanel.d.ts +12 -0
  20. package/dist/admin/panels/ApplicablePriceListsPanel.d.ts.map +1 -0
  21. package/dist/admin/panels/ApplicablePriceListsPanel.js +49 -0
  22. package/dist/admin/panels/ApplicablePriceListsPanel.js.map +1 -0
  23. package/dist/admin/panels/FulfilmentStrategyPanel.d.ts +16 -0
  24. package/dist/admin/panels/FulfilmentStrategyPanel.d.ts.map +1 -0
  25. package/dist/admin/panels/FulfilmentStrategyPanel.js +29 -0
  26. package/dist/admin/panels/FulfilmentStrategyPanel.js.map +1 -0
  27. package/dist/admin/panels/HierarchyPanel.d.ts +15 -0
  28. package/dist/admin/panels/HierarchyPanel.d.ts.map +1 -0
  29. package/dist/admin/panels/HierarchyPanel.js +65 -0
  30. package/dist/admin/panels/HierarchyPanel.js.map +1 -0
  31. package/dist/admin/panels/ModerationActionsPanel.d.ts +28 -0
  32. package/dist/admin/panels/ModerationActionsPanel.d.ts.map +1 -0
  33. package/dist/admin/panels/ModerationActionsPanel.js +111 -0
  34. package/dist/admin/panels/ModerationActionsPanel.js.map +1 -0
  35. package/dist/admin/panels/RestrictionsPanel.d.ts +24 -0
  36. package/dist/admin/panels/RestrictionsPanel.d.ts.map +1 -0
  37. package/dist/admin/panels/RestrictionsPanel.js +121 -0
  38. package/dist/admin/panels/RestrictionsPanel.js.map +1 -0
  39. package/dist/admin/panels/VatValidationPanel.d.ts +28 -0
  40. package/dist/admin/panels/VatValidationPanel.d.ts.map +1 -0
  41. package/dist/admin/panels/VatValidationPanel.js +79 -0
  42. package/dist/admin/panels/VatValidationPanel.js.map +1 -0
  43. package/dist/backend/commands/move.command.d.ts +11 -0
  44. package/dist/backend/commands/move.command.d.ts.map +1 -0
  45. package/dist/backend/commands/move.command.js +11 -0
  46. package/dist/backend/commands/move.command.js.map +1 -0
  47. package/dist/backend/commands/set-cart-approval-policy.command.d.ts +31 -0
  48. package/dist/backend/commands/set-cart-approval-policy.command.d.ts.map +1 -0
  49. package/dist/backend/commands/set-cart-approval-policy.command.js +56 -0
  50. package/dist/backend/commands/set-cart-approval-policy.command.js.map +1 -0
  51. package/dist/backend/commands/set-credit-mode.command.d.ts +16 -0
  52. package/dist/backend/commands/set-credit-mode.command.d.ts.map +1 -0
  53. package/dist/backend/commands/set-credit-mode.command.js +25 -0
  54. package/dist/backend/commands/set-credit-mode.command.js.map +1 -0
  55. package/dist/backend/commands/set-parent.command.d.ts +26 -0
  56. package/dist/backend/commands/set-parent.command.d.ts.map +1 -0
  57. package/dist/backend/commands/set-parent.command.js +51 -0
  58. package/dist/backend/commands/set-parent.command.js.map +1 -0
  59. package/dist/backend/demo/reset.d.ts +20 -0
  60. package/dist/backend/demo/reset.d.ts.map +1 -0
  61. package/dist/backend/demo/reset.js +11 -0
  62. package/dist/backend/demo/reset.js.map +1 -0
  63. package/dist/backend/demo/rows.d.ts +44 -0
  64. package/dist/backend/demo/rows.d.ts.map +1 -0
  65. package/dist/backend/demo/rows.js +44 -0
  66. package/dist/backend/demo/rows.js.map +1 -0
  67. package/dist/backend/demo/seed.d.ts +20 -0
  68. package/dist/backend/demo/seed.d.ts.map +1 -0
  69. package/dist/backend/demo/seed.js +28 -0
  70. package/dist/backend/demo/seed.js.map +1 -0
  71. package/dist/backend/email-templates/invitation.d.ts +23 -0
  72. package/dist/backend/email-templates/invitation.d.ts.map +1 -0
  73. package/dist/backend/email-templates/invitation.js +35 -0
  74. package/dist/backend/email-templates/invitation.js.map +1 -0
  75. package/dist/backend/email-templates/transactional-defaults.d.ts +54 -0
  76. package/dist/backend/email-templates/transactional-defaults.d.ts.map +1 -0
  77. package/dist/backend/email-templates/transactional-defaults.js +242 -0
  78. package/dist/backend/email-templates/transactional-defaults.js.map +1 -0
  79. package/dist/backend/email-templates/verification.d.ts +14 -0
  80. package/dist/backend/email-templates/verification.d.ts.map +1 -0
  81. package/dist/backend/email-templates/verification.js +34 -0
  82. package/dist/backend/email-templates/verification.js.map +1 -0
  83. package/dist/backend/entities/email-verification-token.entity.d.ts +17 -0
  84. package/dist/backend/entities/email-verification-token.entity.d.ts.map +1 -0
  85. package/dist/backend/entities/email-verification-token.entity.js +60 -0
  86. package/dist/backend/entities/email-verification-token.entity.js.map +1 -0
  87. package/dist/backend/entities/organization-delivery-method-link.entity.d.ts +14 -0
  88. package/dist/backend/entities/organization-delivery-method-link.entity.d.ts.map +1 -0
  89. package/dist/backend/entities/organization-delivery-method-link.entity.js +41 -0
  90. package/dist/backend/entities/organization-delivery-method-link.entity.js.map +1 -0
  91. package/dist/backend/entities/organization-invitation.entity.d.ts +21 -0
  92. package/dist/backend/entities/organization-invitation.entity.d.ts.map +1 -0
  93. package/dist/backend/entities/organization-invitation.entity.js +85 -0
  94. package/dist/backend/entities/organization-invitation.entity.js.map +1 -0
  95. package/dist/backend/entities/organization-payment-method-link.entity.d.ts +14 -0
  96. package/dist/backend/entities/organization-payment-method-link.entity.d.ts.map +1 -0
  97. package/dist/backend/entities/organization-payment-method-link.entity.js +41 -0
  98. package/dist/backend/entities/organization-payment-method-link.entity.js.map +1 -0
  99. package/dist/backend/entities/organization-sales-rep-assignment.entity.d.ts +17 -0
  100. package/dist/backend/entities/organization-sales-rep-assignment.entity.d.ts.map +1 -0
  101. package/dist/backend/entities/organization-sales-rep-assignment.entity.js +56 -0
  102. package/dist/backend/entities/organization-sales-rep-assignment.entity.js.map +1 -0
  103. package/dist/backend/entities/organization-tax-id-validation.entity.d.ts +29 -0
  104. package/dist/backend/entities/organization-tax-id-validation.entity.d.ts.map +1 -0
  105. package/dist/backend/entities/organization-tax-id-validation.entity.js +78 -0
  106. package/dist/backend/entities/organization-tax-id-validation.entity.js.map +1 -0
  107. package/dist/backend/entities/organization-warehouse-link.entity.d.ts +15 -0
  108. package/dist/backend/entities/organization-warehouse-link.entity.d.ts.map +1 -0
  109. package/dist/backend/entities/organization-warehouse-link.entity.js +42 -0
  110. package/dist/backend/entities/organization-warehouse-link.entity.js.map +1 -0
  111. package/dist/backend/entities/organization.entity.d.ts +125 -0
  112. package/dist/backend/entities/organization.entity.d.ts.map +1 -0
  113. package/dist/backend/entities/organization.entity.js +282 -0
  114. package/dist/backend/entities/organization.entity.js.map +1 -0
  115. package/dist/backend/index.d.ts +250 -0
  116. package/dist/backend/index.d.ts.map +1 -0
  117. package/dist/backend/index.js +506 -0
  118. package/dist/backend/index.js.map +1 -0
  119. package/dist/backend/integrations/ministerstwo-finansow-client.d.ts +22 -0
  120. package/dist/backend/integrations/ministerstwo-finansow-client.d.ts.map +1 -0
  121. package/dist/backend/integrations/ministerstwo-finansow-client.js +172 -0
  122. package/dist/backend/integrations/ministerstwo-finansow-client.js.map +1 -0
  123. package/dist/backend/integrations/vies-client.d.ts +18 -0
  124. package/dist/backend/integrations/vies-client.d.ts.map +1 -0
  125. package/dist/backend/integrations/vies-client.js +133 -0
  126. package/dist/backend/integrations/vies-client.js.map +1 -0
  127. package/dist/backend/plugin.d.ts +126 -0
  128. package/dist/backend/plugin.d.ts.map +1 -0
  129. package/dist/backend/plugin.js +139 -0
  130. package/dist/backend/plugin.js.map +1 -0
  131. package/dist/backend/routes.admin.d.ts +66 -0
  132. package/dist/backend/routes.admin.d.ts.map +1 -0
  133. package/dist/backend/routes.admin.js +711 -0
  134. package/dist/backend/routes.admin.js.map +1 -0
  135. package/dist/backend/routes.customer.d.ts +33 -0
  136. package/dist/backend/routes.customer.d.ts.map +1 -0
  137. package/dist/backend/routes.customer.js +139 -0
  138. package/dist/backend/routes.customer.js.map +1 -0
  139. package/dist/backend/routes.members.d.ts +31 -0
  140. package/dist/backend/routes.members.d.ts.map +1 -0
  141. package/dist/backend/routes.members.js +109 -0
  142. package/dist/backend/routes.members.js.map +1 -0
  143. package/dist/backend/routes.public.d.ts +49 -0
  144. package/dist/backend/routes.public.d.ts.map +1 -0
  145. package/dist/backend/routes.public.js +220 -0
  146. package/dist/backend/routes.public.js.map +1 -0
  147. package/dist/backend/routes.sales-reps.d.ts +46 -0
  148. package/dist/backend/routes.sales-reps.d.ts.map +1 -0
  149. package/dist/backend/routes.sales-reps.js +114 -0
  150. package/dist/backend/routes.sales-reps.js.map +1 -0
  151. package/dist/backend/routes.storefront.d.ts +25 -0
  152. package/dist/backend/routes.storefront.d.ts.map +1 -0
  153. package/dist/backend/routes.storefront.js +65 -0
  154. package/dist/backend/routes.storefront.js.map +1 -0
  155. package/dist/backend/schemas/organization.d.ts +59 -0
  156. package/dist/backend/schemas/organization.d.ts.map +1 -0
  157. package/dist/backend/schemas/organization.js +55 -0
  158. package/dist/backend/schemas/organization.js.map +1 -0
  159. package/dist/backend/schemas/settings.d.ts +30 -0
  160. package/dist/backend/schemas/settings.d.ts.map +1 -0
  161. package/dist/backend/schemas/settings.js +35 -0
  162. package/dist/backend/schemas/settings.js.map +1 -0
  163. package/dist/backend/services/email-verification-service.d.ts +45 -0
  164. package/dist/backend/services/email-verification-service.d.ts.map +1 -0
  165. package/dist/backend/services/email-verification-service.js +95 -0
  166. package/dist/backend/services/email-verification-service.js.map +1 -0
  167. package/dist/backend/services/invitation-service.d.ts +85 -0
  168. package/dist/backend/services/invitation-service.d.ts.map +1 -0
  169. package/dist/backend/services/invitation-service.js +266 -0
  170. package/dist/backend/services/invitation-service.js.map +1 -0
  171. package/dist/backend/services/normalize-name.d.ts +14 -0
  172. package/dist/backend/services/normalize-name.d.ts.map +1 -0
  173. package/dist/backend/services/normalize-name.js +14 -0
  174. package/dist/backend/services/normalize-name.js.map +1 -0
  175. package/dist/backend/services/org-registration-notifier.d.ts +36 -0
  176. package/dist/backend/services/org-registration-notifier.d.ts.map +1 -0
  177. package/dist/backend/services/org-registration-notifier.js +109 -0
  178. package/dist/backend/services/org-registration-notifier.js.map +1 -0
  179. package/dist/backend/services/org-template-email.d.ts +18 -0
  180. package/dist/backend/services/org-template-email.d.ts.map +1 -0
  181. package/dist/backend/services/org-template-email.js +16 -0
  182. package/dist/backend/services/org-template-email.js.map +1 -0
  183. package/dist/backend/services/organization-context-service.d.ts +52 -0
  184. package/dist/backend/services/organization-context-service.d.ts.map +1 -0
  185. package/dist/backend/services/organization-context-service.js +70 -0
  186. package/dist/backend/services/organization-context-service.js.map +1 -0
  187. package/dist/backend/services/organization-country-reference.d.ts +11 -0
  188. package/dist/backend/services/organization-country-reference.d.ts.map +1 -0
  189. package/dist/backend/services/organization-country-reference.js +24 -0
  190. package/dist/backend/services/organization-country-reference.js.map +1 -0
  191. package/dist/backend/services/organization-details-port.d.ts +33 -0
  192. package/dist/backend/services/organization-details-port.d.ts.map +1 -0
  193. package/dist/backend/services/organization-details-port.js +95 -0
  194. package/dist/backend/services/organization-details-port.js.map +1 -0
  195. package/dist/backend/services/organization-effective-pricelists-service.d.ts +50 -0
  196. package/dist/backend/services/organization-effective-pricelists-service.d.ts.map +1 -0
  197. package/dist/backend/services/organization-effective-pricelists-service.js +68 -0
  198. package/dist/backend/services/organization-effective-pricelists-service.js.map +1 -0
  199. package/dist/backend/services/organization-inheritance-service.d.ts +73 -0
  200. package/dist/backend/services/organization-inheritance-service.d.ts.map +1 -0
  201. package/dist/backend/services/organization-inheritance-service.js +63 -0
  202. package/dist/backend/services/organization-inheritance-service.js.map +1 -0
  203. package/dist/backend/services/organization-moderation-service.d.ts +124 -0
  204. package/dist/backend/services/organization-moderation-service.d.ts.map +1 -0
  205. package/dist/backend/services/organization-moderation-service.js +337 -0
  206. package/dist/backend/services/organization-moderation-service.js.map +1 -0
  207. package/dist/backend/services/organization-restriction-service.d.ts +70 -0
  208. package/dist/backend/services/organization-restriction-service.d.ts.map +1 -0
  209. package/dist/backend/services/organization-restriction-service.js +210 -0
  210. package/dist/backend/services/organization-restriction-service.js.map +1 -0
  211. package/dist/backend/services/organization-tax-id-validation-service.d.ts +59 -0
  212. package/dist/backend/services/organization-tax-id-validation-service.d.ts.map +1 -0
  213. package/dist/backend/services/organization-tax-id-validation-service.js +115 -0
  214. package/dist/backend/services/organization-tax-id-validation-service.js.map +1 -0
  215. package/dist/backend/services/organization-tree-service.d.ts +102 -0
  216. package/dist/backend/services/organization-tree-service.d.ts.map +1 -0
  217. package/dist/backend/services/organization-tree-service.js +184 -0
  218. package/dist/backend/services/organization-tree-service.js.map +1 -0
  219. package/dist/backend/services/personal-organization-service.d.ts +130 -0
  220. package/dist/backend/services/personal-organization-service.d.ts.map +1 -0
  221. package/dist/backend/services/personal-organization-service.js +207 -0
  222. package/dist/backend/services/personal-organization-service.js.map +1 -0
  223. package/dist/backend/services/registration-service.d.ts +80 -0
  224. package/dist/backend/services/registration-service.d.ts.map +1 -0
  225. package/dist/backend/services/registration-service.js +126 -0
  226. package/dist/backend/services/registration-service.js.map +1 -0
  227. package/dist/backend/services/sales-rep-assignment-service.d.ts +89 -0
  228. package/dist/backend/services/sales-rep-assignment-service.d.ts.map +1 -0
  229. package/dist/backend/services/sales-rep-assignment-service.js +176 -0
  230. package/dist/backend/services/sales-rep-assignment-service.js.map +1 -0
  231. package/dist/backend/services/vat-validator-port.d.ts +20 -0
  232. package/dist/backend/services/vat-validator-port.d.ts.map +1 -0
  233. package/dist/backend/services/vat-validator-port.js +2 -0
  234. package/dist/backend/services/vat-validator-port.js.map +1 -0
  235. package/dist/manifest.d.ts +176 -0
  236. package/dist/manifest.d.ts.map +1 -0
  237. package/dist/manifest.js +503 -0
  238. package/dist/manifest.js.map +1 -0
  239. package/dist/migrations/20260424T205317_organizations_init.d.ts +13 -0
  240. package/dist/migrations/20260424T205317_organizations_init.d.ts.map +1 -0
  241. package/dist/migrations/20260424T205317_organizations_init.js +100 -0
  242. package/dist/migrations/20260424T205317_organizations_init.js.map +1 -0
  243. package/dist/migrations/20260425T051700_organizations_invitations_init.d.ts +13 -0
  244. package/dist/migrations/20260425T051700_organizations_invitations_init.d.ts.map +1 -0
  245. package/dist/migrations/20260425T051700_organizations_invitations_init.js +39 -0
  246. package/dist/migrations/20260425T051700_organizations_invitations_init.js.map +1 -0
  247. package/dist/migrations/20260611T140349_organizations_consolidation.d.ts +35 -0
  248. package/dist/migrations/20260611T140349_organizations_consolidation.d.ts.map +1 -0
  249. package/dist/migrations/20260611T140349_organizations_consolidation.js +180 -0
  250. package/dist/migrations/20260611T140349_organizations_consolidation.js.map +1 -0
  251. package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.d.ts +10 -0
  252. package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.d.ts.map +1 -0
  253. package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.js +14 -0
  254. package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.js.map +1 -0
  255. package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.d.ts +14 -0
  256. package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.d.ts.map +1 -0
  257. package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.js +20 -0
  258. package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.js.map +1 -0
  259. package/dist/migrations/20260717T151403_organizations_personal_organizations.d.ts +24 -0
  260. package/dist/migrations/20260717T151403_organizations_personal_organizations.d.ts.map +1 -0
  261. package/dist/migrations/20260717T151403_organizations_personal_organizations.js +63 -0
  262. package/dist/migrations/20260717T151403_organizations_personal_organizations.js.map +1 -0
  263. package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.d.ts +12 -0
  264. package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.d.ts.map +1 -0
  265. package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.js +16 -0
  266. package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.js.map +1 -0
  267. package/dist/migrations/20260720T044254_organizations_org_hierarchy.d.ts +23 -0
  268. package/dist/migrations/20260720T044254_organizations_org_hierarchy.d.ts.map +1 -0
  269. package/dist/migrations/20260720T044254_organizations_org_hierarchy.js +37 -0
  270. package/dist/migrations/20260720T044254_organizations_org_hierarchy.js.map +1 -0
  271. package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.d.ts +27 -0
  272. package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.d.ts.map +1 -0
  273. package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.js +44 -0
  274. package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.js.map +1 -0
  275. package/dist/migrations/index.d.ts +35 -0
  276. package/dist/migrations/index.d.ts.map +1 -0
  277. package/dist/migrations/index.js +45 -0
  278. package/dist/migrations/index.js.map +1 -0
  279. package/dist/ports/index.d.ts +53 -0
  280. package/dist/ports/index.d.ts.map +1 -0
  281. package/dist/ports/index.js +2 -0
  282. package/dist/ports/index.js.map +1 -0
  283. package/docs/organization-hierarchy.md +117 -0
  284. package/docs/organizations.md +312 -0
  285. package/i18n/en.json +17 -0
  286. package/i18n/pl.json +17 -0
  287. package/package.json +107 -0
  288. package/tailwind.css +14 -0
@@ -0,0 +1,17 @@
1
+ import { OptionalProps } from '@mikro-orm/core';
2
+ /**
3
+ * OrganizationSalesRepAssignment — many-to-many between organizations
4
+ * and admin users with the `sales_representative` role. The presence
5
+ * of any row for an organization switches that organization out of the
6
+ * "unassigned-org fallback" mode (research §R2). An organization with
7
+ * zero rows in this table is visible to every sales rep.
8
+ */
9
+ export declare class OrganizationSalesRepAssignment {
10
+ [OptionalProps]?: 'id' | 'createdAt' | 'assignedByAdminUserId';
11
+ id: string;
12
+ organizationId: string;
13
+ adminUserId: string;
14
+ assignedByAdminUserId?: string | null;
15
+ createdAt: Date;
16
+ }
17
+ //# sourceMappingURL=organization-sales-rep-assignment.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-sales-rep-assignment.entity.d.ts","sourceRoot":"","sources":["../../../src/backend/entities/organization-sales-rep-assignment.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAgC,MAAM,iBAAiB,CAAC;AAI7F;;;;;;GAMG;AACH,qBAGa,8BAA8B;IACzC,CAAC,aAAa,CAAC,CAAC,EAAE,IAAI,GAAG,WAAW,GAAG,uBAAuB,CAAC;IAG/D,EAAE,EAAE,MAAM,CAAgB;IAI1B,cAAc,EAAG,MAAM,CAAC;IAIxB,WAAW,EAAG,MAAM,CAAC;IAGrB,qBAAqB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGtC,SAAS,EAAE,IAAI,CAAc;CAC9B"}
@@ -0,0 +1,56 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Entity, Index, OptionalProps, PrimaryKey, Property, Unique } from '@mikro-orm/core';
11
+ import { GlobalEntity } from '@endora-commerce/platform/tenancy';
12
+ import { randomUUID } from 'crypto';
13
+ /**
14
+ * OrganizationSalesRepAssignment — many-to-many between organizations
15
+ * and admin users with the `sales_representative` role. The presence
16
+ * of any row for an organization switches that organization out of the
17
+ * "unassigned-org fallback" mode (research §R2). An organization with
18
+ * zero rows in this table is visible to every sales rep.
19
+ */
20
+ let OrganizationSalesRepAssignment = class OrganizationSalesRepAssignment {
21
+ [OptionalProps];
22
+ id = randomUUID();
23
+ organizationId;
24
+ adminUserId;
25
+ assignedByAdminUserId;
26
+ createdAt = new Date();
27
+ };
28
+ __decorate([
29
+ PrimaryKey({ type: 'uuid' }),
30
+ __metadata("design:type", String)
31
+ ], OrganizationSalesRepAssignment.prototype, "id", void 0);
32
+ __decorate([
33
+ Property({ type: 'uuid' }),
34
+ Index(),
35
+ __metadata("design:type", String)
36
+ ], OrganizationSalesRepAssignment.prototype, "organizationId", void 0);
37
+ __decorate([
38
+ Property({ type: 'uuid' }),
39
+ Index(),
40
+ __metadata("design:type", String)
41
+ ], OrganizationSalesRepAssignment.prototype, "adminUserId", void 0);
42
+ __decorate([
43
+ Property({ type: 'uuid', nullable: true }),
44
+ __metadata("design:type", Object)
45
+ ], OrganizationSalesRepAssignment.prototype, "assignedByAdminUserId", void 0);
46
+ __decorate([
47
+ Property({ type: 'datetime', onCreate: () => new Date() }),
48
+ __metadata("design:type", Date)
49
+ ], OrganizationSalesRepAssignment.prototype, "createdAt", void 0);
50
+ OrganizationSalesRepAssignment = __decorate([
51
+ GlobalEntity(),
52
+ Entity({ tableName: 'organization_sales_rep_assignments' }),
53
+ Unique({ properties: ['organizationId', 'adminUserId'] })
54
+ ], OrganizationSalesRepAssignment);
55
+ export { OrganizationSalesRepAssignment };
56
+ //# sourceMappingURL=organization-sales-rep-assignment.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-sales-rep-assignment.entity.js","sourceRoot":"","sources":["../../../src/backend/entities/organization-sales-rep-assignment.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,EAAE,MAAM,iBAAiB,CAAC;AAC7F,OAAO,EAAE,YAAY,EAAE,MAAM,mCAAmC,CAAC;AACjE,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAEpC;;;;;;GAMG;AAII,IAAM,8BAA8B,GAApC,MAAM,8BAA8B;IACzC,CAAC,aAAa,CAAC,CAAgD;IAG/D,EAAE,GAAW,UAAU,EAAE,CAAC;IAI1B,cAAc,CAAU;IAIxB,WAAW,CAAU;IAGrB,qBAAqB,CAAiB;IAGtC,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;CAC9B,CAAA;AAfC;IADC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;0DACH;AAI1B;IAFC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE;;sEACgB;AAIxB;IAFC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE;;mEACa;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;6EACL;AAGtC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,IAAI,EAAE,EAAE,CAAC;8BAChD,IAAI;iEAAc;AAlBlB,8BAA8B;IAH1C,YAAY,EAAE;IACd,MAAM,CAAC,EAAE,SAAS,EAAE,oCAAoC,EAAE,CAAC;IAC3D,MAAM,CAAC,EAAE,UAAU,EAAE,CAAC,gBAAgB,EAAE,aAAa,CAAC,EAAE,CAAC;GAC7C,8BAA8B,CAmB1C"}
@@ -0,0 +1,29 @@
1
+ import { OptionalProps } from '@mikro-orm/core';
2
+ import type { VatValidationOutcome, VatValidationProvider } from './organization.entity.js';
3
+ /**
4
+ * One row per validation attempt against an external tax-ID provider
5
+ * (VIES, Ministerstwo Finansów) or against the format-only fallback for
6
+ * non-EU jurisdictions. Persisted regardless of outcome so the admin
7
+ * can audit history and trigger re-validation.
8
+ */
9
+ export declare class OrganizationTaxIdValidation {
10
+ [OptionalProps]?: 'id' | 'createdAt' | 'legalNameReturned' | 'addressReturned' | 'errorKind' | 'requestedByAdminUserId';
11
+ id: string;
12
+ organizationId: string;
13
+ provider: VatValidationProvider;
14
+ outcome: VatValidationOutcome;
15
+ taxIdValue: string;
16
+ legalNameReturned?: string | null;
17
+ addressReturned?: ReturnedAddress | null;
18
+ errorKind?: string | null;
19
+ requestedByAdminUserId?: string | null;
20
+ createdAt: Date;
21
+ }
22
+ export interface ReturnedAddress {
23
+ line1?: string | null;
24
+ line2?: string | null;
25
+ postalCode?: string | null;
26
+ city?: string | null;
27
+ countryCode?: string | null;
28
+ }
29
+ //# sourceMappingURL=organization-tax-id-validation.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-tax-id-validation.entity.d.ts","sourceRoot":"","sources":["../../../src/backend/entities/organization-tax-id-validation.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAiB,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AAGrF,OAAO,KAAK,EACV,oBAAoB,EACpB,qBAAqB,EACtB,MAAM,0BAA0B,CAAC;AAElC;;;;;GAKG;AACH,qBAEa,2BAA2B;IACtC,CAAC,aAAa,CAAC,CAAC,EACZ,IAAI,GACJ,WAAW,GACX,mBAAmB,GACnB,iBAAiB,GACjB,WAAW,GACX,wBAAwB,CAAC;IAG7B,EAAE,EAAE,MAAM,CAAgB;IAI1B,cAAc,EAAG,MAAM,CAAC;IAGxB,QAAQ,EAAG,qBAAqB,CAAC;IAGjC,OAAO,EAAG,oBAAoB,CAAC;IAG/B,UAAU,EAAG,MAAM,CAAC;IAGpB,iBAAiB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGlC,eAAe,CAAC,EAAE,eAAe,GAAG,IAAI,CAAC;IAGzC,SAAS,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAG1B,sBAAsB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAGvC,SAAS,EAAE,IAAI,CAAc;CAC9B;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,UAAU,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC3B,IAAI,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACrB,WAAW,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;CAC7B"}
@@ -0,0 +1,78 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Entity, Index, OptionalProps, PrimaryKey, Property } from '@mikro-orm/core';
11
+ import { OrgScoped } from '@endora-commerce/platform/tenancy';
12
+ import { randomUUID } from 'crypto';
13
+ /**
14
+ * One row per validation attempt against an external tax-ID provider
15
+ * (VIES, Ministerstwo Finansów) or against the format-only fallback for
16
+ * non-EU jurisdictions. Persisted regardless of outcome so the admin
17
+ * can audit history and trigger re-validation.
18
+ */
19
+ let OrganizationTaxIdValidation = class OrganizationTaxIdValidation {
20
+ [OptionalProps];
21
+ id = randomUUID();
22
+ organizationId;
23
+ provider;
24
+ outcome;
25
+ taxIdValue;
26
+ legalNameReturned;
27
+ addressReturned;
28
+ errorKind;
29
+ requestedByAdminUserId;
30
+ createdAt = new Date();
31
+ };
32
+ __decorate([
33
+ PrimaryKey({ type: 'uuid' }),
34
+ __metadata("design:type", String)
35
+ ], OrganizationTaxIdValidation.prototype, "id", void 0);
36
+ __decorate([
37
+ Property({ type: 'uuid' }),
38
+ Index(),
39
+ __metadata("design:type", String)
40
+ ], OrganizationTaxIdValidation.prototype, "organizationId", void 0);
41
+ __decorate([
42
+ Property({ type: 'string', length: 32 }),
43
+ __metadata("design:type", String)
44
+ ], OrganizationTaxIdValidation.prototype, "provider", void 0);
45
+ __decorate([
46
+ Property({ type: 'string', length: 16 }),
47
+ __metadata("design:type", String)
48
+ ], OrganizationTaxIdValidation.prototype, "outcome", void 0);
49
+ __decorate([
50
+ Property({ type: 'string', length: 64 }),
51
+ __metadata("design:type", String)
52
+ ], OrganizationTaxIdValidation.prototype, "taxIdValue", void 0);
53
+ __decorate([
54
+ Property({ type: 'string', length: 255, nullable: true }),
55
+ __metadata("design:type", Object)
56
+ ], OrganizationTaxIdValidation.prototype, "legalNameReturned", void 0);
57
+ __decorate([
58
+ Property({ type: 'json', nullable: true }),
59
+ __metadata("design:type", Object)
60
+ ], OrganizationTaxIdValidation.prototype, "addressReturned", void 0);
61
+ __decorate([
62
+ Property({ type: 'string', length: 64, nullable: true }),
63
+ __metadata("design:type", Object)
64
+ ], OrganizationTaxIdValidation.prototype, "errorKind", void 0);
65
+ __decorate([
66
+ Property({ type: 'uuid', nullable: true }),
67
+ __metadata("design:type", Object)
68
+ ], OrganizationTaxIdValidation.prototype, "requestedByAdminUserId", void 0);
69
+ __decorate([
70
+ Property({ type: 'datetime' }),
71
+ __metadata("design:type", Date)
72
+ ], OrganizationTaxIdValidation.prototype, "createdAt", void 0);
73
+ OrganizationTaxIdValidation = __decorate([
74
+ OrgScoped(),
75
+ Entity({ tableName: 'organization_tax_id_validations' })
76
+ ], OrganizationTaxIdValidation);
77
+ export { OrganizationTaxIdValidation };
78
+ //# sourceMappingURL=organization-tax-id-validation.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-tax-id-validation.entity.js","sourceRoot":"","sources":["../../../src/backend/entities/organization-tax-id-validation.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,KAAK,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AACrF,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAC9D,OAAO,EAAE,UAAU,EAAE,MAAM,QAAQ,CAAC;AAMpC;;;;;GAKG;AAGI,IAAM,2BAA2B,GAAjC,MAAM,2BAA2B;IACtC,CAAC,aAAa,CAAC,CAMc;IAG7B,EAAE,GAAW,UAAU,EAAE,CAAC;IAI1B,cAAc,CAAU;IAGxB,QAAQ,CAAyB;IAGjC,OAAO,CAAwB;IAG/B,UAAU,CAAU;IAGpB,iBAAiB,CAAiB;IAGlC,eAAe,CAA0B;IAGzC,SAAS,CAAiB;IAG1B,sBAAsB,CAAiB;IAGvC,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;CAC9B,CAAA;AA7BC;IADC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;uDACH;AAI1B;IAFC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;IAC1B,KAAK,EAAE;;mEACgB;AAGxB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;6DACR;AAGjC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;4DACV;AAG/B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,CAAC;;+DACrB;AAGpB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,GAAG,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;sEACxB;AAGlC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;oEACF;AAGzC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,QAAQ,EAAE,MAAM,EAAE,EAAE,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;8DAC/B;AAG1B;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,IAAI,EAAE,CAAC;;2EACJ;AAGvC;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACpB,IAAI;8DAAc;AAtClB,2BAA2B;IAFvC,SAAS,EAAE;IACX,MAAM,CAAC,EAAE,SAAS,EAAE,iCAAiC,EAAE,CAAC;GAC5C,2BAA2B,CAuCvC"}
@@ -0,0 +1,15 @@
1
+ import { OptionalProps } from '@mikro-orm/core';
2
+ /**
3
+ * Per-Organization warehouse assignment.
4
+ *
5
+ * Empty set ⇒ the platform default warehouses apply (FR-016). A non-empty
6
+ * set means "this Organization sees stock only from these warehouses and
7
+ * order reservations only debit these warehouses".
8
+ */
9
+ export declare class OrganizationWarehouseLink {
10
+ [OptionalProps]?: 'createdAt';
11
+ organizationId: string;
12
+ warehouseId: string;
13
+ createdAt: Date;
14
+ }
15
+ //# sourceMappingURL=organization-warehouse-link.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-warehouse-link.entity.d.ts","sourceRoot":"","sources":["../../../src/backend/entities/organization-warehouse-link.entity.ts"],"names":[],"mappings":"AAAA,OAAO,EAAU,aAAa,EAAwB,MAAM,iBAAiB,CAAC;AAG9E;;;;;;GAMG;AACH,qBAEa,yBAAyB;IACpC,CAAC,aAAa,CAAC,CAAC,EAAE,WAAW,CAAC;IAG9B,cAAc,EAAG,MAAM,CAAC;IAGxB,WAAW,EAAG,MAAM,CAAC;IAGrB,SAAS,EAAE,IAAI,CAAc;CAC9B"}
@@ -0,0 +1,42 @@
1
+ var __decorate = (this && this.__decorate) || function (decorators, target, key, desc) {
2
+ var c = arguments.length, r = c < 3 ? target : desc === null ? desc = Object.getOwnPropertyDescriptor(target, key) : desc, d;
3
+ if (typeof Reflect === "object" && typeof Reflect.decorate === "function") r = Reflect.decorate(decorators, target, key, desc);
4
+ else for (var i = decorators.length - 1; i >= 0; i--) if (d = decorators[i]) r = (c < 3 ? d(r) : c > 3 ? d(target, key, r) : d(target, key)) || r;
5
+ return c > 3 && r && Object.defineProperty(target, key, r), r;
6
+ };
7
+ var __metadata = (this && this.__metadata) || function (k, v) {
8
+ if (typeof Reflect === "object" && typeof Reflect.metadata === "function") return Reflect.metadata(k, v);
9
+ };
10
+ import { Entity, OptionalProps, PrimaryKey, Property } from '@mikro-orm/core';
11
+ import { OrgScoped } from '@endora-commerce/platform/tenancy';
12
+ /**
13
+ * Per-Organization warehouse assignment.
14
+ *
15
+ * Empty set ⇒ the platform default warehouses apply (FR-016). A non-empty
16
+ * set means "this Organization sees stock only from these warehouses and
17
+ * order reservations only debit these warehouses".
18
+ */
19
+ let OrganizationWarehouseLink = class OrganizationWarehouseLink {
20
+ [OptionalProps];
21
+ organizationId;
22
+ warehouseId;
23
+ createdAt = new Date();
24
+ };
25
+ __decorate([
26
+ PrimaryKey({ type: 'uuid' }),
27
+ __metadata("design:type", String)
28
+ ], OrganizationWarehouseLink.prototype, "organizationId", void 0);
29
+ __decorate([
30
+ PrimaryKey({ type: 'uuid' }),
31
+ __metadata("design:type", String)
32
+ ], OrganizationWarehouseLink.prototype, "warehouseId", void 0);
33
+ __decorate([
34
+ Property({ type: 'datetime' }),
35
+ __metadata("design:type", Date)
36
+ ], OrganizationWarehouseLink.prototype, "createdAt", void 0);
37
+ OrganizationWarehouseLink = __decorate([
38
+ OrgScoped(),
39
+ Entity({ tableName: 'organization_warehouses' })
40
+ ], OrganizationWarehouseLink);
41
+ export { OrganizationWarehouseLink };
42
+ //# sourceMappingURL=organization-warehouse-link.entity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization-warehouse-link.entity.js","sourceRoot":"","sources":["../../../src/backend/entities/organization-warehouse-link.entity.ts"],"names":[],"mappings":";;;;;;;;;AAAA,OAAO,EAAE,MAAM,EAAE,aAAa,EAAE,UAAU,EAAE,QAAQ,EAAE,MAAM,iBAAiB,CAAC;AAC9E,OAAO,EAAE,SAAS,EAAE,MAAM,mCAAmC,CAAC;AAE9D;;;;;;GAMG;AAGI,IAAM,yBAAyB,GAA/B,MAAM,yBAAyB;IACpC,CAAC,aAAa,CAAC,CAAe;IAG9B,cAAc,CAAU;IAGxB,WAAW,CAAU;IAGrB,SAAS,GAAS,IAAI,IAAI,EAAE,CAAC;CAC9B,CAAA;AAPC;IADC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;iEACL;AAGxB;IADC,UAAU,CAAC,EAAE,IAAI,EAAE,MAAM,EAAE,CAAC;;8DACR;AAGrB;IADC,QAAQ,CAAC,EAAE,IAAI,EAAE,UAAU,EAAE,CAAC;8BACpB,IAAI;4DAAc;AAVlB,yBAAyB;IAFrC,SAAS,EAAE;IACX,MAAM,CAAC,EAAE,SAAS,EAAE,yBAAyB,EAAE,CAAC;GACpC,yBAAyB,CAWrC"}
@@ -0,0 +1,125 @@
1
+ import { OptionalProps, type EventArgs } from '@mikro-orm/core';
2
+ /**
3
+ * Organization — the buyer-side legal entity. Owns Customer Accounts,
4
+ * Addresses, and (via FKs that land with later US) Quote Requests, Orders,
5
+ * and Credit Limits.
6
+ *
7
+ * `taxId` is globally unique in the installation (Polish NIP by default; the
8
+ * exact format is spec-validated at the Zod boundary).
9
+ *
10
+ * Status lifecycle (feature 026):
11
+ * pending_verification -> active (moderation approve, or auto-approve)
12
+ * pending_verification -> rejected (moderation reject; terminal)
13
+ * active -> blocked (operator-driven; reversible)
14
+ * blocked -> active (unblock)
15
+ *
16
+ * Legacy `suspended` is migrated to `blocked` by migration 047 and is no
17
+ * longer a valid runtime value.
18
+ *
19
+ * `version` is the optimistic-lock token used by every moderation /
20
+ * restriction / VAT-fill write — see OrganizationModerationService for the
21
+ * conflict handling.
22
+ *
23
+ * `nameSearch` is a denormalized lowercased + diacritic-stripped copy of
24
+ * `name`, kept in sync by the BeforeCreate / BeforeUpdate hooks below. It
25
+ * backs the admin OrganizationPicker's diacritic-insensitive typeahead
26
+ * without needing pg_trgm/unaccent extensions.
27
+ */
28
+ export declare class Organization {
29
+ [OptionalProps]?: 'customFieldValues' | 'id' | 'createdAt' | 'updatedAt' | 'status' | 'vatStatus' | 'isPersonal' | 'deletedAt' | 'customerGroupId' | 'legalName' | 'vatValidatedAt' | 'vatValidationProvider' | 'vatValidationOutcome' | 'blockedReason' | 'blockedAt' | 'rejectedReason' | 'rejectedAt' | 'approvedAt' | 'approvedByAdminUserId' | 'requiresCartApproval' | 'nameSearch' | 'orderConfirmationEmails' | 'fulfilmentStrategy' | 'fulfilmentStrategyWarehouseOrder' | 'parentId' | 'path' | 'creditInheritanceMode' | 'version';
30
+ id: string;
31
+ name: string;
32
+ legalName?: string | null;
33
+ taxId: string;
34
+ status: OrganizationStatus;
35
+ vatStatus: 'vat_payer' | 'vat_exempt' | 'reverse_charge';
36
+ /**
37
+ * Feature 051 — `true` for a single-member Personal Organization backing a B2C
38
+ * (individual) customer; `false` for a company organization. Personal orgs are
39
+ * auto-provisioned, created `active`, and excluded from B2B admin surfaces.
40
+ */
41
+ isPersonal: boolean;
42
+ /**
43
+ * Optional pricing bucket. Feeds the feature 011 Application Rule
44
+ * evaluator's `customerGroup` criterion — a Sale or Base list with a
45
+ * `customerGroup ∈ {…}` rule applies to every Organization carrying
46
+ * that `customerGroupId`.
47
+ */
48
+ customerGroupId?: string | null;
49
+ /** JSONB snapshot of { street, city, postalCode, country }. */
50
+ registeredAddress: {
51
+ street: string;
52
+ city: string;
53
+ postalCode: string;
54
+ country: string;
55
+ };
56
+ /**
57
+ * Feature 038 (US4) — additional email addresses that also receive an order
58
+ * confirmation for every order placed by a Customer of this Organization.
59
+ * Read by the orders module through OrganizationConfirmationEmailsPort.
60
+ */
61
+ orderConfirmationEmails: string[];
62
+ vatValidatedAt?: Date | null;
63
+ vatValidationProvider?: VatValidationProvider | null;
64
+ vatValidationOutcome?: VatValidationOutcome | null;
65
+ blockedReason?: string | null;
66
+ blockedAt?: Date | null;
67
+ rejectedReason?: string | null;
68
+ rejectedAt?: Date | null;
69
+ approvedAt?: Date | null;
70
+ approvedByAdminUserId?: string | null;
71
+ /**
72
+ * Per-Organization policy flag (feature 027 US4). When `true`, ordinary
73
+ * Customer members of this Organization must submit their cart for
74
+ * approval by an Organization Administrator before checkout. Carts
75
+ * created by an Organization Administrator are exempt from the gate
76
+ * (self-approval exemption — see research.md §R11 for feature 027).
77
+ */
78
+ requiresCartApproval: boolean;
79
+ /**
80
+ * Organization-level override of the warehouse-picking (fulfilment) strategy
81
+ * applied when reserving stock at order placement (precedence: Product →
82
+ * Organization → Sales Channel setting → platform default). `null` ⇒ inherit.
83
+ * Mirrors the per-product columns on `Product`. When `defined_order`,
84
+ * `fulfilmentStrategyWarehouseOrder` carries the ordered warehouse-id walk.
85
+ */
86
+ fulfilmentStrategy?: 'any' | 'default_first' | 'lowest_stock_first' | 'highest_stock_first' | 'defined_order' | null;
87
+ fulfilmentStrategyWarehouseOrder?: string[] | null;
88
+ /**
89
+ * Nullable self-referential parent (`parent_id`). NULL ⇒ this org is a root.
90
+ * The FK (`REFERENCES organizations(id) ON DELETE RESTRICT`) is enforced at
91
+ * the DB level (migration 097); writes go through the tree Commands only, so
92
+ * `path` and cycle/depth invariants stay consistent.
93
+ */
94
+ parentId?: string | null;
95
+ /**
96
+ * Materialized ancestor-chain path `'/<rootId>/…/<thisId>/'`. Backfilled to
97
+ * `'/<id>/'` (a root) for every pre-feature org. A `text_pattern_ops` prefix
98
+ * index backs single-query subtree (`path LIKE :selfPath || '%'`) traversal.
99
+ */
100
+ path: string;
101
+ /**
102
+ * Per-org platform-admin override of the credit-inheritance mode. NULL ⇒ use
103
+ * the Settings global default. Set only through the `organization.set_credit_mode`
104
+ * Command (platform-admin gated).
105
+ */
106
+ creditInheritanceMode?: 'shared_pool' | 'independent_default' | null;
107
+ /**
108
+ * Lowercased + diacritic-stripped copy of `name`. Kept in sync by the
109
+ * BeforeCreate / BeforeUpdate hooks; never read or written by callers
110
+ * directly.
111
+ */
112
+ nameSearch: string;
113
+ /** Optimistic-lock token (auto-incremented by MikroORM on every update). */
114
+ version: number;
115
+ createdAt: Date;
116
+ updatedAt: Date;
117
+ customFieldValues: Record<string, unknown>;
118
+ deletedAt?: Date | null;
119
+ syncNameSearch(_args: EventArgs<Organization>): void;
120
+ }
121
+ export type OrganizationStatus = 'pending_verification' | 'active' | 'blocked' | 'rejected';
122
+ export declare const ORGANIZATION_STATUSES: readonly ["pending_verification", "active", "blocked", "rejected"];
123
+ export type VatValidationProvider = 'vies' | 'mf_pl' | 'format_only';
124
+ export type VatValidationOutcome = 'validated' | 'failed' | 'deferred' | 'unverified';
125
+ //# sourceMappingURL=organization.entity.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"organization.entity.d.ts","sourceRoot":"","sources":["../../../src/backend/entities/organization.entity.ts"],"names":[],"mappings":"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"}