@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.
- package/LICENSE +21 -0
- package/README.md +62 -0
- package/dist/admin/components/OrganizationSalesRepsTab.d.ts +27 -0
- package/dist/admin/components/OrganizationSalesRepsTab.d.ts.map +1 -0
- package/dist/admin/components/OrganizationSalesRepsTab.js +170 -0
- package/dist/admin/components/OrganizationSalesRepsTab.js.map +1 -0
- package/dist/admin/index.d.ts +30 -0
- package/dist/admin/index.d.ts.map +1 -0
- package/dist/admin/index.js +59 -0
- package/dist/admin/index.js.map +1 -0
- package/dist/admin/pages/OrganizationDetail.d.ts +9 -0
- package/dist/admin/pages/OrganizationDetail.d.ts.map +1 -0
- package/dist/admin/pages/OrganizationDetail.js +247 -0
- package/dist/admin/pages/OrganizationDetail.js.map +1 -0
- package/dist/admin/pages/OrganizationsList.d.ts +9 -0
- package/dist/admin/pages/OrganizationsList.d.ts.map +1 -0
- package/dist/admin/pages/OrganizationsList.js +73 -0
- package/dist/admin/pages/OrganizationsList.js.map +1 -0
- package/dist/admin/panels/ApplicablePriceListsPanel.d.ts +12 -0
- package/dist/admin/panels/ApplicablePriceListsPanel.d.ts.map +1 -0
- package/dist/admin/panels/ApplicablePriceListsPanel.js +49 -0
- package/dist/admin/panels/ApplicablePriceListsPanel.js.map +1 -0
- package/dist/admin/panels/FulfilmentStrategyPanel.d.ts +16 -0
- package/dist/admin/panels/FulfilmentStrategyPanel.d.ts.map +1 -0
- package/dist/admin/panels/FulfilmentStrategyPanel.js +29 -0
- package/dist/admin/panels/FulfilmentStrategyPanel.js.map +1 -0
- package/dist/admin/panels/HierarchyPanel.d.ts +15 -0
- package/dist/admin/panels/HierarchyPanel.d.ts.map +1 -0
- package/dist/admin/panels/HierarchyPanel.js +65 -0
- package/dist/admin/panels/HierarchyPanel.js.map +1 -0
- package/dist/admin/panels/ModerationActionsPanel.d.ts +28 -0
- package/dist/admin/panels/ModerationActionsPanel.d.ts.map +1 -0
- package/dist/admin/panels/ModerationActionsPanel.js +111 -0
- package/dist/admin/panels/ModerationActionsPanel.js.map +1 -0
- package/dist/admin/panels/RestrictionsPanel.d.ts +24 -0
- package/dist/admin/panels/RestrictionsPanel.d.ts.map +1 -0
- package/dist/admin/panels/RestrictionsPanel.js +121 -0
- package/dist/admin/panels/RestrictionsPanel.js.map +1 -0
- package/dist/admin/panels/VatValidationPanel.d.ts +28 -0
- package/dist/admin/panels/VatValidationPanel.d.ts.map +1 -0
- package/dist/admin/panels/VatValidationPanel.js +79 -0
- package/dist/admin/panels/VatValidationPanel.js.map +1 -0
- package/dist/backend/commands/move.command.d.ts +11 -0
- package/dist/backend/commands/move.command.d.ts.map +1 -0
- package/dist/backend/commands/move.command.js +11 -0
- package/dist/backend/commands/move.command.js.map +1 -0
- package/dist/backend/commands/set-cart-approval-policy.command.d.ts +31 -0
- package/dist/backend/commands/set-cart-approval-policy.command.d.ts.map +1 -0
- package/dist/backend/commands/set-cart-approval-policy.command.js +56 -0
- package/dist/backend/commands/set-cart-approval-policy.command.js.map +1 -0
- package/dist/backend/commands/set-credit-mode.command.d.ts +16 -0
- package/dist/backend/commands/set-credit-mode.command.d.ts.map +1 -0
- package/dist/backend/commands/set-credit-mode.command.js +25 -0
- package/dist/backend/commands/set-credit-mode.command.js.map +1 -0
- package/dist/backend/commands/set-parent.command.d.ts +26 -0
- package/dist/backend/commands/set-parent.command.d.ts.map +1 -0
- package/dist/backend/commands/set-parent.command.js +51 -0
- package/dist/backend/commands/set-parent.command.js.map +1 -0
- package/dist/backend/demo/reset.d.ts +20 -0
- package/dist/backend/demo/reset.d.ts.map +1 -0
- package/dist/backend/demo/reset.js +11 -0
- package/dist/backend/demo/reset.js.map +1 -0
- package/dist/backend/demo/rows.d.ts +44 -0
- package/dist/backend/demo/rows.d.ts.map +1 -0
- package/dist/backend/demo/rows.js +44 -0
- package/dist/backend/demo/rows.js.map +1 -0
- package/dist/backend/demo/seed.d.ts +20 -0
- package/dist/backend/demo/seed.d.ts.map +1 -0
- package/dist/backend/demo/seed.js +28 -0
- package/dist/backend/demo/seed.js.map +1 -0
- package/dist/backend/email-templates/invitation.d.ts +23 -0
- package/dist/backend/email-templates/invitation.d.ts.map +1 -0
- package/dist/backend/email-templates/invitation.js +35 -0
- package/dist/backend/email-templates/invitation.js.map +1 -0
- package/dist/backend/email-templates/transactional-defaults.d.ts +54 -0
- package/dist/backend/email-templates/transactional-defaults.d.ts.map +1 -0
- package/dist/backend/email-templates/transactional-defaults.js +242 -0
- package/dist/backend/email-templates/transactional-defaults.js.map +1 -0
- package/dist/backend/email-templates/verification.d.ts +14 -0
- package/dist/backend/email-templates/verification.d.ts.map +1 -0
- package/dist/backend/email-templates/verification.js +34 -0
- package/dist/backend/email-templates/verification.js.map +1 -0
- package/dist/backend/entities/email-verification-token.entity.d.ts +17 -0
- package/dist/backend/entities/email-verification-token.entity.d.ts.map +1 -0
- package/dist/backend/entities/email-verification-token.entity.js +60 -0
- package/dist/backend/entities/email-verification-token.entity.js.map +1 -0
- package/dist/backend/entities/organization-delivery-method-link.entity.d.ts +14 -0
- package/dist/backend/entities/organization-delivery-method-link.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-delivery-method-link.entity.js +41 -0
- package/dist/backend/entities/organization-delivery-method-link.entity.js.map +1 -0
- package/dist/backend/entities/organization-invitation.entity.d.ts +21 -0
- package/dist/backend/entities/organization-invitation.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-invitation.entity.js +85 -0
- package/dist/backend/entities/organization-invitation.entity.js.map +1 -0
- package/dist/backend/entities/organization-payment-method-link.entity.d.ts +14 -0
- package/dist/backend/entities/organization-payment-method-link.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-payment-method-link.entity.js +41 -0
- package/dist/backend/entities/organization-payment-method-link.entity.js.map +1 -0
- package/dist/backend/entities/organization-sales-rep-assignment.entity.d.ts +17 -0
- package/dist/backend/entities/organization-sales-rep-assignment.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-sales-rep-assignment.entity.js +56 -0
- package/dist/backend/entities/organization-sales-rep-assignment.entity.js.map +1 -0
- package/dist/backend/entities/organization-tax-id-validation.entity.d.ts +29 -0
- package/dist/backend/entities/organization-tax-id-validation.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-tax-id-validation.entity.js +78 -0
- package/dist/backend/entities/organization-tax-id-validation.entity.js.map +1 -0
- package/dist/backend/entities/organization-warehouse-link.entity.d.ts +15 -0
- package/dist/backend/entities/organization-warehouse-link.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization-warehouse-link.entity.js +42 -0
- package/dist/backend/entities/organization-warehouse-link.entity.js.map +1 -0
- package/dist/backend/entities/organization.entity.d.ts +125 -0
- package/dist/backend/entities/organization.entity.d.ts.map +1 -0
- package/dist/backend/entities/organization.entity.js +282 -0
- package/dist/backend/entities/organization.entity.js.map +1 -0
- package/dist/backend/index.d.ts +250 -0
- package/dist/backend/index.d.ts.map +1 -0
- package/dist/backend/index.js +506 -0
- package/dist/backend/index.js.map +1 -0
- package/dist/backend/integrations/ministerstwo-finansow-client.d.ts +22 -0
- package/dist/backend/integrations/ministerstwo-finansow-client.d.ts.map +1 -0
- package/dist/backend/integrations/ministerstwo-finansow-client.js +172 -0
- package/dist/backend/integrations/ministerstwo-finansow-client.js.map +1 -0
- package/dist/backend/integrations/vies-client.d.ts +18 -0
- package/dist/backend/integrations/vies-client.d.ts.map +1 -0
- package/dist/backend/integrations/vies-client.js +133 -0
- package/dist/backend/integrations/vies-client.js.map +1 -0
- package/dist/backend/plugin.d.ts +126 -0
- package/dist/backend/plugin.d.ts.map +1 -0
- package/dist/backend/plugin.js +139 -0
- package/dist/backend/plugin.js.map +1 -0
- package/dist/backend/routes.admin.d.ts +66 -0
- package/dist/backend/routes.admin.d.ts.map +1 -0
- package/dist/backend/routes.admin.js +711 -0
- package/dist/backend/routes.admin.js.map +1 -0
- package/dist/backend/routes.customer.d.ts +33 -0
- package/dist/backend/routes.customer.d.ts.map +1 -0
- package/dist/backend/routes.customer.js +139 -0
- package/dist/backend/routes.customer.js.map +1 -0
- package/dist/backend/routes.members.d.ts +31 -0
- package/dist/backend/routes.members.d.ts.map +1 -0
- package/dist/backend/routes.members.js +109 -0
- package/dist/backend/routes.members.js.map +1 -0
- package/dist/backend/routes.public.d.ts +49 -0
- package/dist/backend/routes.public.d.ts.map +1 -0
- package/dist/backend/routes.public.js +220 -0
- package/dist/backend/routes.public.js.map +1 -0
- package/dist/backend/routes.sales-reps.d.ts +46 -0
- package/dist/backend/routes.sales-reps.d.ts.map +1 -0
- package/dist/backend/routes.sales-reps.js +114 -0
- package/dist/backend/routes.sales-reps.js.map +1 -0
- package/dist/backend/routes.storefront.d.ts +25 -0
- package/dist/backend/routes.storefront.d.ts.map +1 -0
- package/dist/backend/routes.storefront.js +65 -0
- package/dist/backend/routes.storefront.js.map +1 -0
- package/dist/backend/schemas/organization.d.ts +59 -0
- package/dist/backend/schemas/organization.d.ts.map +1 -0
- package/dist/backend/schemas/organization.js +55 -0
- package/dist/backend/schemas/organization.js.map +1 -0
- package/dist/backend/schemas/settings.d.ts +30 -0
- package/dist/backend/schemas/settings.d.ts.map +1 -0
- package/dist/backend/schemas/settings.js +35 -0
- package/dist/backend/schemas/settings.js.map +1 -0
- package/dist/backend/services/email-verification-service.d.ts +45 -0
- package/dist/backend/services/email-verification-service.d.ts.map +1 -0
- package/dist/backend/services/email-verification-service.js +95 -0
- package/dist/backend/services/email-verification-service.js.map +1 -0
- package/dist/backend/services/invitation-service.d.ts +85 -0
- package/dist/backend/services/invitation-service.d.ts.map +1 -0
- package/dist/backend/services/invitation-service.js +266 -0
- package/dist/backend/services/invitation-service.js.map +1 -0
- package/dist/backend/services/normalize-name.d.ts +14 -0
- package/dist/backend/services/normalize-name.d.ts.map +1 -0
- package/dist/backend/services/normalize-name.js +14 -0
- package/dist/backend/services/normalize-name.js.map +1 -0
- package/dist/backend/services/org-registration-notifier.d.ts +36 -0
- package/dist/backend/services/org-registration-notifier.d.ts.map +1 -0
- package/dist/backend/services/org-registration-notifier.js +109 -0
- package/dist/backend/services/org-registration-notifier.js.map +1 -0
- package/dist/backend/services/org-template-email.d.ts +18 -0
- package/dist/backend/services/org-template-email.d.ts.map +1 -0
- package/dist/backend/services/org-template-email.js +16 -0
- package/dist/backend/services/org-template-email.js.map +1 -0
- package/dist/backend/services/organization-context-service.d.ts +52 -0
- package/dist/backend/services/organization-context-service.d.ts.map +1 -0
- package/dist/backend/services/organization-context-service.js +70 -0
- package/dist/backend/services/organization-context-service.js.map +1 -0
- package/dist/backend/services/organization-country-reference.d.ts +11 -0
- package/dist/backend/services/organization-country-reference.d.ts.map +1 -0
- package/dist/backend/services/organization-country-reference.js +24 -0
- package/dist/backend/services/organization-country-reference.js.map +1 -0
- package/dist/backend/services/organization-details-port.d.ts +33 -0
- package/dist/backend/services/organization-details-port.d.ts.map +1 -0
- package/dist/backend/services/organization-details-port.js +95 -0
- package/dist/backend/services/organization-details-port.js.map +1 -0
- package/dist/backend/services/organization-effective-pricelists-service.d.ts +50 -0
- package/dist/backend/services/organization-effective-pricelists-service.d.ts.map +1 -0
- package/dist/backend/services/organization-effective-pricelists-service.js +68 -0
- package/dist/backend/services/organization-effective-pricelists-service.js.map +1 -0
- package/dist/backend/services/organization-inheritance-service.d.ts +73 -0
- package/dist/backend/services/organization-inheritance-service.d.ts.map +1 -0
- package/dist/backend/services/organization-inheritance-service.js +63 -0
- package/dist/backend/services/organization-inheritance-service.js.map +1 -0
- package/dist/backend/services/organization-moderation-service.d.ts +124 -0
- package/dist/backend/services/organization-moderation-service.d.ts.map +1 -0
- package/dist/backend/services/organization-moderation-service.js +337 -0
- package/dist/backend/services/organization-moderation-service.js.map +1 -0
- package/dist/backend/services/organization-restriction-service.d.ts +70 -0
- package/dist/backend/services/organization-restriction-service.d.ts.map +1 -0
- package/dist/backend/services/organization-restriction-service.js +210 -0
- package/dist/backend/services/organization-restriction-service.js.map +1 -0
- package/dist/backend/services/organization-tax-id-validation-service.d.ts +59 -0
- package/dist/backend/services/organization-tax-id-validation-service.d.ts.map +1 -0
- package/dist/backend/services/organization-tax-id-validation-service.js +115 -0
- package/dist/backend/services/organization-tax-id-validation-service.js.map +1 -0
- package/dist/backend/services/organization-tree-service.d.ts +102 -0
- package/dist/backend/services/organization-tree-service.d.ts.map +1 -0
- package/dist/backend/services/organization-tree-service.js +184 -0
- package/dist/backend/services/organization-tree-service.js.map +1 -0
- package/dist/backend/services/personal-organization-service.d.ts +130 -0
- package/dist/backend/services/personal-organization-service.d.ts.map +1 -0
- package/dist/backend/services/personal-organization-service.js +207 -0
- package/dist/backend/services/personal-organization-service.js.map +1 -0
- package/dist/backend/services/registration-service.d.ts +80 -0
- package/dist/backend/services/registration-service.d.ts.map +1 -0
- package/dist/backend/services/registration-service.js +126 -0
- package/dist/backend/services/registration-service.js.map +1 -0
- package/dist/backend/services/sales-rep-assignment-service.d.ts +89 -0
- package/dist/backend/services/sales-rep-assignment-service.d.ts.map +1 -0
- package/dist/backend/services/sales-rep-assignment-service.js +176 -0
- package/dist/backend/services/sales-rep-assignment-service.js.map +1 -0
- package/dist/backend/services/vat-validator-port.d.ts +20 -0
- package/dist/backend/services/vat-validator-port.d.ts.map +1 -0
- package/dist/backend/services/vat-validator-port.js +2 -0
- package/dist/backend/services/vat-validator-port.js.map +1 -0
- package/dist/manifest.d.ts +176 -0
- package/dist/manifest.d.ts.map +1 -0
- package/dist/manifest.js +503 -0
- package/dist/manifest.js.map +1 -0
- package/dist/migrations/20260424T205317_organizations_init.d.ts +13 -0
- package/dist/migrations/20260424T205317_organizations_init.d.ts.map +1 -0
- package/dist/migrations/20260424T205317_organizations_init.js +100 -0
- package/dist/migrations/20260424T205317_organizations_init.js.map +1 -0
- package/dist/migrations/20260425T051700_organizations_invitations_init.d.ts +13 -0
- package/dist/migrations/20260425T051700_organizations_invitations_init.d.ts.map +1 -0
- package/dist/migrations/20260425T051700_organizations_invitations_init.js +39 -0
- package/dist/migrations/20260425T051700_organizations_invitations_init.js.map +1 -0
- package/dist/migrations/20260611T140349_organizations_consolidation.d.ts +35 -0
- package/dist/migrations/20260611T140349_organizations_consolidation.d.ts.map +1 -0
- package/dist/migrations/20260611T140349_organizations_consolidation.js +180 -0
- package/dist/migrations/20260611T140349_organizations_consolidation.js.map +1 -0
- package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.d.ts +10 -0
- package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.d.ts.map +1 -0
- package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.js +14 -0
- package/dist/migrations/20260611T140358_organizations_org_order_confirmation_emails.js.map +1 -0
- package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.d.ts +14 -0
- package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.d.ts.map +1 -0
- package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.js +20 -0
- package/dist/migrations/20260611T140402_organizations_org_fulfilment_strategy.js.map +1 -0
- package/dist/migrations/20260717T151403_organizations_personal_organizations.d.ts +24 -0
- package/dist/migrations/20260717T151403_organizations_personal_organizations.d.ts.map +1 -0
- package/dist/migrations/20260717T151403_organizations_personal_organizations.js +63 -0
- package/dist/migrations/20260717T151403_organizations_personal_organizations.js.map +1 -0
- package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.d.ts +12 -0
- package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.d.ts.map +1 -0
- package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.js +16 -0
- package/dist/migrations/20260718T200340_organizations_organization_custom_field_values.js.map +1 -0
- package/dist/migrations/20260720T044254_organizations_org_hierarchy.d.ts +23 -0
- package/dist/migrations/20260720T044254_organizations_org_hierarchy.d.ts.map +1 -0
- package/dist/migrations/20260720T044254_organizations_org_hierarchy.js +37 -0
- package/dist/migrations/20260720T044254_organizations_org_hierarchy.js.map +1 -0
- package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.d.ts +27 -0
- package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.d.ts.map +1 -0
- package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.js +44 -0
- package/dist/migrations/20260912T094646_organizations_sales_channel_organizations.js.map +1 -0
- package/dist/migrations/index.d.ts +35 -0
- package/dist/migrations/index.d.ts.map +1 -0
- package/dist/migrations/index.js +45 -0
- package/dist/migrations/index.js.map +1 -0
- package/dist/ports/index.d.ts +53 -0
- package/dist/ports/index.d.ts.map +1 -0
- package/dist/ports/index.js +2 -0
- package/dist/ports/index.js.map +1 -0
- package/docs/organization-hierarchy.md +117 -0
- package/docs/organizations.md +312 -0
- package/i18n/en.json +17 -0
- package/i18n/pl.json +17 -0
- package/package.json +107 -0
- 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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"}
|