@endora-commerce/contracts 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 +34 -0
- package/dist/actor.d.ts +79 -0
- package/dist/actor.d.ts.map +1 -0
- package/dist/actor.js +41 -0
- package/dist/actor.js.map +1 -0
- package/dist/addresses.d.ts +134 -0
- package/dist/addresses.d.ts.map +1 -0
- package/dist/addresses.js +16 -0
- package/dist/addresses.js.map +1 -0
- package/dist/admin-actions.d.ts +367 -0
- package/dist/admin-actions.d.ts.map +1 -0
- package/dist/admin-actions.js +287 -0
- package/dist/admin-actions.js.map +1 -0
- package/dist/admin-contributions.d.ts +518 -0
- package/dist/admin-contributions.d.ts.map +1 -0
- package/dist/admin-contributions.js +495 -0
- package/dist/admin-contributions.js.map +1 -0
- package/dist/admin-i18n.d.ts +135 -0
- package/dist/admin-i18n.d.ts.map +1 -0
- package/dist/admin-i18n.js +72 -0
- package/dist/admin-i18n.js.map +1 -0
- package/dist/admin-notifications.d.ts +55 -0
- package/dist/admin-notifications.d.ts.map +1 -0
- package/dist/admin-notifications.js +16 -0
- package/dist/admin-notifications.js.map +1 -0
- package/dist/admin-roles.d.ts +125 -0
- package/dist/admin-roles.d.ts.map +1 -0
- package/dist/admin-roles.js +2 -0
- package/dist/admin-roles.js.map +1 -0
- package/dist/admin-users.d.ts +178 -0
- package/dist/admin-users.d.ts.map +1 -0
- package/dist/admin-users.js +14 -0
- package/dist/admin-users.js.map +1 -0
- package/dist/admin.d.ts +243 -0
- package/dist/admin.d.ts.map +1 -0
- package/dist/admin.js +246 -0
- package/dist/admin.js.map +1 -0
- package/dist/analytics.d.ts +123 -0
- package/dist/analytics.d.ts.map +1 -0
- package/dist/analytics.js +68 -0
- package/dist/analytics.js.map +1 -0
- package/dist/api-keys.d.ts +97 -0
- package/dist/api-keys.d.ts.map +1 -0
- package/dist/api-keys.js +64 -0
- package/dist/api-keys.js.map +1 -0
- package/dist/assets-library.d.ts +684 -0
- package/dist/assets-library.d.ts.map +1 -0
- package/dist/assets-library.js +181 -0
- package/dist/assets-library.js.map +1 -0
- package/dist/audit-logs.d.ts +141 -0
- package/dist/audit-logs.d.ts.map +1 -0
- package/dist/audit-logs.js +31 -0
- package/dist/audit-logs.js.map +1 -0
- package/dist/auth.d.ts +174 -0
- package/dist/auth.d.ts.map +1 -0
- package/dist/auth.js +27 -0
- package/dist/auth.js.map +1 -0
- package/dist/blog.d.ts +669 -0
- package/dist/blog.d.ts.map +1 -0
- package/dist/blog.js +360 -0
- package/dist/blog.js.map +1 -0
- package/dist/capabilities.d.ts +40 -0
- package/dist/capabilities.d.ts.map +1 -0
- package/dist/capabilities.js +38 -0
- package/dist/capabilities.js.map +1 -0
- package/dist/carts.d.ts +1367 -0
- package/dist/carts.d.ts.map +1 -0
- package/dist/carts.js +405 -0
- package/dist/carts.js.map +1 -0
- package/dist/catalog.d.ts +2855 -0
- package/dist/catalog.d.ts.map +1 -0
- package/dist/catalog.js +1543 -0
- package/dist/catalog.js.map +1 -0
- package/dist/cms.d.ts +872 -0
- package/dist/cms.d.ts.map +1 -0
- package/dist/cms.js +468 -0
- package/dist/cms.js.map +1 -0
- package/dist/common.d.ts +82 -0
- package/dist/common.d.ts.map +1 -0
- package/dist/common.js +72 -0
- package/dist/common.js.map +1 -0
- package/dist/comparisons.d.ts +487 -0
- package/dist/comparisons.d.ts.map +1 -0
- package/dist/comparisons.js +221 -0
- package/dist/comparisons.js.map +1 -0
- package/dist/credentials.d.ts +292 -0
- package/dist/credentials.d.ts.map +1 -0
- package/dist/credentials.js +142 -0
- package/dist/credentials.js.map +1 -0
- package/dist/credit-limits.d.ts +111 -0
- package/dist/credit-limits.d.ts.map +1 -0
- package/dist/credit-limits.js +35 -0
- package/dist/credit-limits.js.map +1 -0
- package/dist/currencies.d.ts +127 -0
- package/dist/currencies.d.ts.map +1 -0
- package/dist/currencies.js +20 -0
- package/dist/currencies.js.map +1 -0
- package/dist/custom-fields.d.ts +345 -0
- package/dist/custom-fields.d.ts.map +1 -0
- package/dist/custom-fields.js +185 -0
- package/dist/custom-fields.js.map +1 -0
- package/dist/customer-accounts.d.ts +690 -0
- package/dist/customer-accounts.d.ts.map +1 -0
- package/dist/customer-accounts.js +41 -0
- package/dist/customer-accounts.js.map +1 -0
- package/dist/customers.d.ts +305 -0
- package/dist/customers.d.ts.map +1 -0
- package/dist/customers.js +158 -0
- package/dist/customers.js.map +1 -0
- package/dist/dictionary.d.ts +580 -0
- package/dist/dictionary.d.ts.map +1 -0
- package/dist/dictionary.js +297 -0
- package/dist/dictionary.js.map +1 -0
- package/dist/email-address.d.ts +62 -0
- package/dist/email-address.d.ts.map +1 -0
- package/dist/email-address.js +64 -0
- package/dist/email-address.js.map +1 -0
- package/dist/email.d.ts +175 -0
- package/dist/email.d.ts.map +1 -0
- package/dist/email.js +45 -0
- package/dist/email.js.map +1 -0
- package/dist/envelopes.d.ts +15 -0
- package/dist/envelopes.d.ts.map +1 -0
- package/dist/envelopes.js +16 -0
- package/dist/envelopes.js.map +1 -0
- package/dist/environment-inputs.d.ts +306 -0
- package/dist/environment-inputs.d.ts.map +1 -0
- package/dist/environment-inputs.js +277 -0
- package/dist/environment-inputs.js.map +1 -0
- package/dist/erp-connector.d.ts +52 -0
- package/dist/erp-connector.d.ts.map +1 -0
- package/dist/erp-connector.js +34 -0
- package/dist/erp-connector.js.map +1 -0
- package/dist/errors.d.ts +455 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +532 -0
- package/dist/errors.js.map +1 -0
- package/dist/google-analytics.d.ts +181 -0
- package/dist/google-analytics.d.ts.map +1 -0
- package/dist/google-analytics.js +176 -0
- package/dist/google-analytics.js.map +1 -0
- package/dist/google-tag-manager.d.ts +111 -0
- package/dist/google-tag-manager.d.ts.map +1 -0
- package/dist/google-tag-manager.js +129 -0
- package/dist/google-tag-manager.js.map +1 -0
- package/dist/i18n.d.ts +69 -0
- package/dist/i18n.d.ts.map +1 -0
- package/dist/i18n.js +59 -0
- package/dist/i18n.js.map +1 -0
- package/dist/import-export.d.ts +63 -0
- package/dist/import-export.d.ts.map +1 -0
- package/dist/import-export.js +37 -0
- package/dist/import-export.js.map +1 -0
- package/dist/index.d.ts +82 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +126 -0
- package/dist/index.js.map +1 -0
- package/dist/inventory.d.ts +673 -0
- package/dist/inventory.d.ts.map +1 -0
- package/dist/inventory.js +412 -0
- package/dist/inventory.js.map +1 -0
- package/dist/invoice-ledger.d.ts +366 -0
- package/dist/invoice-ledger.d.ts.map +1 -0
- package/dist/invoice-ledger.js +114 -0
- package/dist/invoice-ledger.js.map +1 -0
- package/dist/invoices.d.ts +845 -0
- package/dist/invoices.d.ts.map +1 -0
- package/dist/invoices.js +314 -0
- package/dist/invoices.js.map +1 -0
- package/dist/kernel.d.ts +49 -0
- package/dist/kernel.d.ts.map +1 -0
- package/dist/kernel.js +19 -0
- package/dist/kernel.js.map +1 -0
- package/dist/languages.d.ts +122 -0
- package/dist/languages.d.ts.map +1 -0
- package/dist/languages.js +24 -0
- package/dist/languages.js.map +1 -0
- package/dist/linkedin-ads.d.ts +167 -0
- package/dist/linkedin-ads.d.ts.map +1 -0
- package/dist/linkedin-ads.js +156 -0
- package/dist/linkedin-ads.js.map +1 -0
- package/dist/megamenu.d.ts +556 -0
- package/dist/megamenu.d.ts.map +1 -0
- package/dist/megamenu.js +186 -0
- package/dist/megamenu.js.map +1 -0
- package/dist/meta-ads.d.ts +126 -0
- package/dist/meta-ads.d.ts.map +1 -0
- package/dist/meta-ads.js +112 -0
- package/dist/meta-ads.js.map +1 -0
- package/dist/mfa.d.ts +274 -0
- package/dist/mfa.d.ts.map +1 -0
- package/dist/mfa.js +187 -0
- package/dist/mfa.js.map +1 -0
- package/dist/modules.d.ts +1706 -0
- package/dist/modules.d.ts.map +1 -0
- package/dist/modules.js +1390 -0
- package/dist/modules.js.map +1 -0
- package/dist/newsletter.d.ts +611 -0
- package/dist/newsletter.d.ts.map +1 -0
- package/dist/newsletter.js +345 -0
- package/dist/newsletter.js.map +1 -0
- package/dist/orders.d.ts +1175 -0
- package/dist/orders.d.ts.map +1 -0
- package/dist/orders.js +630 -0
- package/dist/orders.js.map +1 -0
- package/dist/organizations.d.ts +938 -0
- package/dist/organizations.d.ts.map +1 -0
- package/dist/organizations.js +418 -0
- package/dist/organizations.js.map +1 -0
- package/dist/pagination.d.ts +21 -0
- package/dist/pagination.d.ts.map +1 -0
- package/dist/pagination.js +22 -0
- package/dist/pagination.js.map +1 -0
- package/dist/payment-methods.d.ts +472 -0
- package/dist/payment-methods.d.ts.map +1 -0
- package/dist/payment-methods.js +175 -0
- package/dist/payment-methods.js.map +1 -0
- package/dist/payment-return-url.d.ts +53 -0
- package/dist/payment-return-url.d.ts.map +1 -0
- package/dist/payment-return-url.js +35 -0
- package/dist/payment-return-url.js.map +1 -0
- package/dist/payments.d.ts +386 -0
- package/dist/payments.d.ts.map +1 -0
- package/dist/payments.js +84 -0
- package/dist/payments.js.map +1 -0
- package/dist/pim-connector.d.ts +60 -0
- package/dist/pim-connector.d.ts.map +1 -0
- package/dist/pim-connector.js +43 -0
- package/dist/pim-connector.js.map +1 -0
- package/dist/pim-field-path.d.ts +6 -0
- package/dist/pim-field-path.d.ts.map +1 -0
- package/dist/pim-field-path.js +101 -0
- package/dist/pim-field-path.js.map +1 -0
- package/dist/platform-language.d.ts +20 -0
- package/dist/platform-language.d.ts.map +1 -0
- package/dist/platform-language.js +22 -0
- package/dist/platform-language.js.map +1 -0
- package/dist/price-lists.d.ts +685 -0
- package/dist/price-lists.d.ts.map +1 -0
- package/dist/price-lists.js +330 -0
- package/dist/price-lists.js.map +1 -0
- package/dist/product-feeds.d.ts +2837 -0
- package/dist/product-feeds.d.ts.map +1 -0
- package/dist/product-feeds.js +1504 -0
- package/dist/product-feeds.js.map +1 -0
- package/dist/product-scope-overrides.d.ts +134 -0
- package/dist/product-scope-overrides.d.ts.map +1 -0
- package/dist/product-scope-overrides.js +82 -0
- package/dist/product-scope-overrides.js.map +1 -0
- package/dist/product-value-resolver.d.ts +88 -0
- package/dist/product-value-resolver.d.ts.map +1 -0
- package/dist/product-value-resolver.js +128 -0
- package/dist/product-value-resolver.js.map +1 -0
- package/dist/promotions.d.ts +678 -0
- package/dist/promotions.d.ts.map +1 -0
- package/dist/promotions.js +479 -0
- package/dist/promotions.js.map +1 -0
- package/dist/prompt-actions.d.ts +582 -0
- package/dist/prompt-actions.d.ts.map +1 -0
- package/dist/prompt-actions.js +221 -0
- package/dist/prompt-actions.js.map +1 -0
- package/dist/pwa.d.ts +293 -0
- package/dist/pwa.d.ts.map +1 -0
- package/dist/pwa.js +204 -0
- package/dist/pwa.js.map +1 -0
- package/dist/quick-order.d.ts +340 -0
- package/dist/quick-order.d.ts.map +1 -0
- package/dist/quick-order.js +177 -0
- package/dist/quick-order.js.map +1 -0
- package/dist/quote-requests.d.ts +538 -0
- package/dist/quote-requests.d.ts.map +1 -0
- package/dist/quote-requests.js +308 -0
- package/dist/quote-requests.js.map +1 -0
- package/dist/returns.d.ts +774 -0
- package/dist/returns.d.ts.map +1 -0
- package/dist/returns.js +389 -0
- package/dist/returns.js.map +1 -0
- package/dist/sales-channels.d.ts +392 -0
- package/dist/sales-channels.d.ts.map +1 -0
- package/dist/sales-channels.js +285 -0
- package/dist/sales-channels.js.map +1 -0
- package/dist/scope-notice.d.ts +60 -0
- package/dist/scope-notice.d.ts.map +1 -0
- package/dist/scope-notice.js +56 -0
- package/dist/scope-notice.js.map +1 -0
- package/dist/search.d.ts +321 -0
- package/dist/search.d.ts.map +1 -0
- package/dist/search.js +160 -0
- package/dist/search.js.map +1 -0
- package/dist/seo.d.ts +113 -0
- package/dist/seo.d.ts.map +1 -0
- package/dist/seo.js +63 -0
- package/dist/seo.js.map +1 -0
- package/dist/settings.d.ts +453 -0
- package/dist/settings.d.ts.map +1 -0
- package/dist/settings.js +337 -0
- package/dist/settings.js.map +1 -0
- package/dist/shipments.d.ts +140 -0
- package/dist/shipments.d.ts.map +1 -0
- package/dist/shipments.js +14 -0
- package/dist/shipments.js.map +1 -0
- package/dist/shipping-methods.d.ts +350 -0
- package/dist/shipping-methods.d.ts.map +1 -0
- package/dist/shipping-methods.js +99 -0
- package/dist/shipping-methods.js.map +1 -0
- package/dist/shopping-lists.d.ts +122 -0
- package/dist/shopping-lists.d.ts.map +1 -0
- package/dist/shopping-lists.js +92 -0
- package/dist/shopping-lists.js.map +1 -0
- package/dist/taxes.d.ts +106 -0
- package/dist/taxes.d.ts.map +1 -0
- package/dist/taxes.js +80 -0
- package/dist/taxes.js.map +1 -0
- package/dist/text-normalization.d.ts +199 -0
- package/dist/text-normalization.d.ts.map +1 -0
- package/dist/text-normalization.js +205 -0
- package/dist/text-normalization.js.map +1 -0
- package/dist/transactional-emails.d.ts +459 -0
- package/dist/transactional-emails.d.ts.map +1 -0
- package/dist/transactional-emails.js +212 -0
- package/dist/transactional-emails.js.map +1 -0
- package/dist/webhooks.d.ts +69 -0
- package/dist/webhooks.d.ts.map +1 -0
- package/dist/webhooks.js +53 -0
- package/dist/webhooks.js.map +1 -0
- package/package.json +46 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organizations.d.ts","sourceRoot":"","sources":["../src/organizations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,418 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { addressSnapshotSchema, isoDateTimeSchema, organizationRoleSchema, uuidSchema, } from './common.js';
|
|
3
|
+
import { fulfilmentStrategySchema } from './inventory.js';
|
|
4
|
+
import { foldDiacritics } from './text-normalization.js';
|
|
5
|
+
/**
|
|
6
|
+
* Organizations, customer accounts, addresses, invitations — Source of truth
|
|
7
|
+
* per Principle V. Drives US2 + US3.
|
|
8
|
+
* See specs/001-b2b-platform-foundation/contracts/organizations.contract.md.
|
|
9
|
+
*/
|
|
10
|
+
// --- Primitives --------------------------------------------------------------
|
|
11
|
+
/**
|
|
12
|
+
* Organization lifecycle status (feature 026 consolidation).
|
|
13
|
+
*
|
|
14
|
+
* - `pending_verification` — newly registered, blocks transactions until
|
|
15
|
+
* moderator approves (manual moderation mode) or auto-activated.
|
|
16
|
+
* - `active` — may transact normally.
|
|
17
|
+
* - `blocked` — operator-blocked (replaces the legacy `suspended`); the
|
|
18
|
+
* Organization cannot place Orders or Quote Requests; reversible.
|
|
19
|
+
* - `rejected` — moderator rejected at registration; terminal.
|
|
20
|
+
*/
|
|
21
|
+
export const organizationStatusSchema = z.enum([
|
|
22
|
+
'pending_verification',
|
|
23
|
+
'active',
|
|
24
|
+
'blocked',
|
|
25
|
+
'rejected',
|
|
26
|
+
]);
|
|
27
|
+
export const vatStatusSchema = z.enum(['vat_payer', 'vat_exempt', 'reverse_charge']);
|
|
28
|
+
/**
|
|
29
|
+
* Feature 056 — per-organization credit-inheritance mode. Platform-admin only.
|
|
30
|
+
*
|
|
31
|
+
* - `shared_pool` — a descendant with no own credit limit draws against the
|
|
32
|
+
* nearest ancestor's pool; concurrent draws across the subtree are serialized
|
|
33
|
+
* on the owning ancestor's row (zero double-spend).
|
|
34
|
+
* - `independent_default` — the inherited amount is each descendant's own
|
|
35
|
+
* effective limit; draws are independent of siblings.
|
|
36
|
+
*
|
|
37
|
+
* `null` on an Organization ⇒ fall back to the Settings global default
|
|
38
|
+
* (`organizations.hierarchy.credit_inheritance_mode`, factory `shared_pool`).
|
|
39
|
+
*/
|
|
40
|
+
export const creditInheritanceModeSchema = z.enum(['shared_pool', 'independent_default']);
|
|
41
|
+
export const addressKindSchema = z.enum(['delivery', 'billing']);
|
|
42
|
+
// --- Resources --------------------------------------------------------------
|
|
43
|
+
export const organizationSchema = z.object({
|
|
44
|
+
id: uuidSchema,
|
|
45
|
+
name: z.string(),
|
|
46
|
+
taxId: z.string(),
|
|
47
|
+
status: organizationStatusSchema,
|
|
48
|
+
vatStatus: vatStatusSchema,
|
|
49
|
+
/** Feature 051 — true for a single-member personal (B2C) organization. */
|
|
50
|
+
isPersonal: z.boolean().optional(),
|
|
51
|
+
registeredAddress: addressSnapshotSchema.omit({ recipientName: true, phone: true }).extend({
|
|
52
|
+
recipientName: z.string().optional(),
|
|
53
|
+
phone: z.string().optional(),
|
|
54
|
+
}),
|
|
55
|
+
/**
|
|
56
|
+
* Organization-level override of the warehouse-picking (fulfilment) strategy
|
|
57
|
+
* used to reserve stock at order placement. `null` ⇒ inherit (sales-channel
|
|
58
|
+
* setting → platform default). When the strategy is `defined_order`,
|
|
59
|
+
* `fulfilmentStrategyWarehouseOrder` carries the ordered warehouse-id walk.
|
|
60
|
+
*/
|
|
61
|
+
fulfilmentStrategy: fulfilmentStrategySchema.nullable().optional(),
|
|
62
|
+
fulfilmentStrategyWarehouseOrder: z.array(uuidSchema).nullable().optional(),
|
|
63
|
+
/**
|
|
64
|
+
* Feature 056 — hierarchy. `parentId` is the self-referential parent FK
|
|
65
|
+
* (`null` ⇒ root). `path` is the server-maintained materialized ancestor path
|
|
66
|
+
* (read-only). `creditInheritanceMode` is the per-org platform-admin override
|
|
67
|
+
* (`null` ⇒ global default). All three are additive; every pre-feature org is
|
|
68
|
+
* a root (`parentId = null`, `path = '/<id>/'`).
|
|
69
|
+
*/
|
|
70
|
+
parentId: uuidSchema.nullable().optional(),
|
|
71
|
+
path: z.string().optional(),
|
|
72
|
+
creditInheritanceMode: creditInheritanceModeSchema.nullable().optional(),
|
|
73
|
+
createdAt: isoDateTimeSchema,
|
|
74
|
+
updatedAt: isoDateTimeSchema,
|
|
75
|
+
});
|
|
76
|
+
// --- Hierarchy (feature 056) ------------------------------------------------
|
|
77
|
+
/**
|
|
78
|
+
* A single node in an organization subtree / ancestor chain. `depth` is the
|
|
79
|
+
* node's absolute depth in the tree (root = 0). Returned pre-order (subtree) or
|
|
80
|
+
* nearest-first (ancestors).
|
|
81
|
+
*/
|
|
82
|
+
export const organizationTreeNodeSchema = z.object({
|
|
83
|
+
id: uuidSchema,
|
|
84
|
+
name: z.string(),
|
|
85
|
+
parentId: uuidSchema.nullable(),
|
|
86
|
+
depth: z.number().int().nonnegative(),
|
|
87
|
+
status: organizationStatusSchema,
|
|
88
|
+
});
|
|
89
|
+
/** `GET /admin/organizations/:id/subtree` — descendants (incl. self), pre-order. */
|
|
90
|
+
export const organizationSubtreeResponseSchema = z.object({
|
|
91
|
+
items: z.array(organizationTreeNodeSchema),
|
|
92
|
+
});
|
|
93
|
+
/** `GET /admin/organizations/:id/ancestors` — ancestor chain, nearest-first. */
|
|
94
|
+
export const organizationAncestorsResponseSchema = z.object({
|
|
95
|
+
items: z.array(organizationTreeNodeSchema),
|
|
96
|
+
});
|
|
97
|
+
/**
|
|
98
|
+
* `POST /admin/organizations/:id/parent` — assign / move / detach parent.
|
|
99
|
+
* `parentId = null` makes `:id` a root. Path maintenance + cycle/depth checks
|
|
100
|
+
* are guaranteed server-side (this is the only writable path for `parentId`).
|
|
101
|
+
*/
|
|
102
|
+
export const assignOrganizationParentRequestSchema = z.object({
|
|
103
|
+
parentId: uuidSchema.nullable(),
|
|
104
|
+
});
|
|
105
|
+
/**
|
|
106
|
+
* `PUT /admin/organizations/:id/credit-inheritance-mode` — platform-admin only.
|
|
107
|
+
* `mode = null` ⇒ fall back to the Settings global default.
|
|
108
|
+
*/
|
|
109
|
+
export const setCreditInheritanceModeRequestSchema = z.object({
|
|
110
|
+
mode: creditInheritanceModeSchema.nullable(),
|
|
111
|
+
});
|
|
112
|
+
export const customerAccountSchema = z.object({
|
|
113
|
+
id: uuidSchema,
|
|
114
|
+
organizationId: uuidSchema,
|
|
115
|
+
email: z.string().email(),
|
|
116
|
+
firstName: z.string(),
|
|
117
|
+
lastName: z.string(),
|
|
118
|
+
role: organizationRoleSchema,
|
|
119
|
+
emailVerifiedAt: isoDateTimeSchema.nullable(),
|
|
120
|
+
twoFactorEnabled: z.boolean(),
|
|
121
|
+
createdAt: isoDateTimeSchema,
|
|
122
|
+
updatedAt: isoDateTimeSchema,
|
|
123
|
+
});
|
|
124
|
+
export const addressSchema = z.object({
|
|
125
|
+
id: uuidSchema,
|
|
126
|
+
organizationId: uuidSchema,
|
|
127
|
+
kind: addressKindSchema,
|
|
128
|
+
recipientName: z.string(),
|
|
129
|
+
street: z.string(),
|
|
130
|
+
city: z.string(),
|
|
131
|
+
postalCode: z.string(),
|
|
132
|
+
country: z.string().length(2),
|
|
133
|
+
phone: z.string().nullable().optional(),
|
|
134
|
+
isDefault: z.boolean(),
|
|
135
|
+
});
|
|
136
|
+
// --- Requests --------------------------------------------------------------
|
|
137
|
+
/** Polish NIP or a generic tax-id string; exact validation lives in the backend. */
|
|
138
|
+
const taxIdSchema = z.string().min(8).max(32);
|
|
139
|
+
export const registerOrganizationRequestSchema = z.object({
|
|
140
|
+
organization: z.object({
|
|
141
|
+
name: z.string().min(1).max(255),
|
|
142
|
+
taxId: taxIdSchema,
|
|
143
|
+
registeredAddress: z.object({
|
|
144
|
+
street: z.string().min(1).max(255),
|
|
145
|
+
city: z.string().min(1).max(120),
|
|
146
|
+
postalCode: z.string().min(1).max(20),
|
|
147
|
+
country: z.string().length(2),
|
|
148
|
+
}),
|
|
149
|
+
vatStatus: vatStatusSchema.optional(),
|
|
150
|
+
}),
|
|
151
|
+
firstUser: z.object({
|
|
152
|
+
email: z.string().email(),
|
|
153
|
+
password: z.string().min(12).max(256),
|
|
154
|
+
firstName: z.string().min(1).max(120),
|
|
155
|
+
lastName: z.string().min(1).max(120),
|
|
156
|
+
}),
|
|
157
|
+
acceptedTermsVersion: z.string(),
|
|
158
|
+
});
|
|
159
|
+
export const emailVerificationRequestSchema = z.object({
|
|
160
|
+
token: z.string().min(10),
|
|
161
|
+
});
|
|
162
|
+
export const passwordResetRequestSchema = z.object({
|
|
163
|
+
email: z.string().email(),
|
|
164
|
+
});
|
|
165
|
+
export const passwordResetConfirmSchema = z.object({
|
|
166
|
+
token: z.string().min(10),
|
|
167
|
+
newPassword: z.string().min(12).max(256),
|
|
168
|
+
});
|
|
169
|
+
export const customerLoginRequestSchema = z.object({
|
|
170
|
+
email: z.string().email(),
|
|
171
|
+
password: z.string(),
|
|
172
|
+
});
|
|
173
|
+
/**
|
|
174
|
+
* Outcome of the anonymous-cart → customer-cart merge that runs inside the
|
|
175
|
+
* customer-login flow (feature 037-cart-merge-on-login).
|
|
176
|
+
*
|
|
177
|
+
* Internal shape — split between two `noop_*` variants so the audit /
|
|
178
|
+
* observability paths can distinguish "anon cart was empty" from "no anon
|
|
179
|
+
* cart was supplied". The HTTP-facing shape collapses both into a single
|
|
180
|
+
* `'noop'`; see `cartMergeOutcomePublicSchema` below.
|
|
181
|
+
*/
|
|
182
|
+
export const cartMergeOutcomeSchema = z.object({
|
|
183
|
+
outcome: z.enum(['adopted', 'merged', 'noop_empty', 'noop_no_anon']),
|
|
184
|
+
movedLineCount: z.number().int().min(0),
|
|
185
|
+
summedLineCount: z.number().int().min(0),
|
|
186
|
+
destinationCartId: uuidSchema,
|
|
187
|
+
});
|
|
188
|
+
/**
|
|
189
|
+
* Public (HTTP) narrowing of `cartMergeOutcomeSchema`. The storefront only
|
|
190
|
+
* needs three buckets to decide whether to surface the merge-confirmation
|
|
191
|
+
* toast (`adopted | merged → toast`, `noop → silent`) and the destination
|
|
192
|
+
* cart id for the next cart read.
|
|
193
|
+
*/
|
|
194
|
+
export const cartMergeOutcomePublicSchema = z.object({
|
|
195
|
+
outcome: z.enum(['adopted', 'merged', 'noop']),
|
|
196
|
+
destinationCartId: uuidSchema,
|
|
197
|
+
});
|
|
198
|
+
/**
|
|
199
|
+
* Customer login response. The `cartMerge` field is populated when the
|
|
200
|
+
* login carries an anonymous-cart cookie; `null` when no anon cookie was
|
|
201
|
+
* supplied; `outcome: 'noop'` when the cookie was supplied but had no
|
|
202
|
+
* observable effect (no anon cart, or the anon cart was empty).
|
|
203
|
+
*/
|
|
204
|
+
export const customerLoginResponseSchema = z.object({
|
|
205
|
+
data: z.object({
|
|
206
|
+
customerAccount: z.object({
|
|
207
|
+
id: uuidSchema,
|
|
208
|
+
email: z.string().email(),
|
|
209
|
+
organizationId: uuidSchema.nullable(),
|
|
210
|
+
role: organizationRoleSchema,
|
|
211
|
+
twoFactorEnabled: z.boolean(),
|
|
212
|
+
}),
|
|
213
|
+
cartMerge: cartMergeOutcomePublicSchema.nullable().optional(),
|
|
214
|
+
}),
|
|
215
|
+
});
|
|
216
|
+
export const changePasswordRequestSchema = z.object({
|
|
217
|
+
currentPassword: z.string(),
|
|
218
|
+
newPassword: z.string().min(12).max(256),
|
|
219
|
+
});
|
|
220
|
+
export const createAddressRequestSchema = z.object({
|
|
221
|
+
kind: addressKindSchema,
|
|
222
|
+
recipientName: z.string().min(1).max(160),
|
|
223
|
+
street: z.string().min(1).max(255),
|
|
224
|
+
city: z.string().min(1).max(120),
|
|
225
|
+
postalCode: z.string().min(1).max(20),
|
|
226
|
+
country: z.string().length(2),
|
|
227
|
+
phone: z.string().max(32).optional(),
|
|
228
|
+
isDefault: z.boolean().optional(),
|
|
229
|
+
});
|
|
230
|
+
export const updateAddressRequestSchema = createAddressRequestSchema.partial();
|
|
231
|
+
export const inviteMemberRequestSchema = z.object({
|
|
232
|
+
email: z.string().email(),
|
|
233
|
+
role: organizationRoleSchema.optional(),
|
|
234
|
+
});
|
|
235
|
+
export const acceptInvitationRequestSchema = z.object({
|
|
236
|
+
password: z.string().min(12),
|
|
237
|
+
firstName: z.string().min(1).max(120),
|
|
238
|
+
lastName: z.string().min(1).max(120),
|
|
239
|
+
});
|
|
240
|
+
export const changeMemberRoleRequestSchema = z.object({
|
|
241
|
+
role: organizationRoleSchema,
|
|
242
|
+
});
|
|
243
|
+
/** Platform admin — PATCH `/admin/organizations/:id` */
|
|
244
|
+
export const adminPatchOrganizationRequestSchema = z.object({
|
|
245
|
+
name: z.string().min(1).max(255).optional(),
|
|
246
|
+
vatStatus: vatStatusSchema.optional(),
|
|
247
|
+
status: organizationStatusSchema.optional(),
|
|
248
|
+
/** Feature 038 (US4) — additional emails CC'd on this org's order confirmations. */
|
|
249
|
+
orderConfirmationEmails: z.array(z.string()).optional(),
|
|
250
|
+
/**
|
|
251
|
+
* Organization-level fulfilment-strategy override. `null` clears the
|
|
252
|
+
* override (inherit channel setting → platform default). `defined_order`
|
|
253
|
+
* pairs with `fulfilmentStrategyWarehouseOrder` (ordered warehouse ids).
|
|
254
|
+
*/
|
|
255
|
+
fulfilmentStrategy: fulfilmentStrategySchema.nullable().optional(),
|
|
256
|
+
fulfilmentStrategyWarehouseOrder: z.array(uuidSchema).nullable().optional(),
|
|
257
|
+
/** Feature 055 — custom-field values for this organization (validated on write). */
|
|
258
|
+
customFieldValues: z.record(z.string(), z.unknown()).optional(),
|
|
259
|
+
expectedUpdatedAt: z.string().optional(),
|
|
260
|
+
});
|
|
261
|
+
/** Platform admin — POST `/admin/organizations/:id/recover-admin-access` */
|
|
262
|
+
export const adminRecoverOrgAccessRequestSchema = z.object({
|
|
263
|
+
promoteCustomerAccountId: uuidSchema,
|
|
264
|
+
});
|
|
265
|
+
/** Platform admin — POST `/admin/organizations/:id/members` (direct create) */
|
|
266
|
+
export const adminDirectMemberRequestSchema = z.object({
|
|
267
|
+
email: z.string().email(),
|
|
268
|
+
firstName: z.string().min(1).max(120),
|
|
269
|
+
lastName: z.string().min(1).max(120),
|
|
270
|
+
password: z.string().min(12).max(256),
|
|
271
|
+
role: organizationRoleSchema.optional(),
|
|
272
|
+
});
|
|
273
|
+
/** Platform admin — PATCH member role */
|
|
274
|
+
export const adminPatchMemberRoleRequestSchema = z.object({
|
|
275
|
+
role: organizationRoleSchema,
|
|
276
|
+
expectedUpdatedAt: z.string().optional(),
|
|
277
|
+
});
|
|
278
|
+
/**
|
|
279
|
+
* Feature 056 (T032) — Platform admin — PATCH member roll-up capability.
|
|
280
|
+
* When enabled, this customer login sees/acts across its organization's subtree.
|
|
281
|
+
*/
|
|
282
|
+
export const adminSetMemberRollupRequestSchema = z.object({
|
|
283
|
+
subtreeRollupEnabled: z.boolean(),
|
|
284
|
+
expectedUpdatedAt: z.string().optional(),
|
|
285
|
+
});
|
|
286
|
+
/** Platform admin — PATCH `/admin/organizations/:id/members/:customerAccountId` (profile) */
|
|
287
|
+
export const adminPatchMemberProfileRequestSchema = z
|
|
288
|
+
.object({
|
|
289
|
+
firstName: z.string().min(1).max(120).optional(),
|
|
290
|
+
lastName: z.string().min(1).max(120).optional(),
|
|
291
|
+
email: z.string().email().optional(),
|
|
292
|
+
expectedUpdatedAt: z.string().optional(),
|
|
293
|
+
})
|
|
294
|
+
.refine((b) => b.firstName !== undefined || b.lastName !== undefined || b.email !== undefined, {
|
|
295
|
+
message: 'At least one of firstName, lastName, email is required',
|
|
296
|
+
});
|
|
297
|
+
// --- Responses (convenience) ------------------------------------------------
|
|
298
|
+
export const registerOrganizationResponseSchema = z.object({
|
|
299
|
+
organization: organizationSchema,
|
|
300
|
+
customerAccount: customerAccountSchema,
|
|
301
|
+
emailVerificationSent: z.boolean(),
|
|
302
|
+
});
|
|
303
|
+
// --- Organization picker (feature 091, P2) ----------------------------------
|
|
304
|
+
/**
|
|
305
|
+
* One row of the admin Organization picker.
|
|
306
|
+
*
|
|
307
|
+
* A **projection**, not the `GET /api/v1/admin/organizations` envelope: the
|
|
308
|
+
* picker renders a label, a status pill and nothing else, and it commits the
|
|
309
|
+
* `id`. `version` rides along because a caller that picks an Organization in
|
|
310
|
+
* order to write to it needs the optimistic-concurrency token it already had.
|
|
311
|
+
*
|
|
312
|
+
* Published because `@endora-commerce/admin-kit` builds this request itself
|
|
313
|
+
* (feature 091's P2 — the picker moved into the kit and rebuilt its call from
|
|
314
|
+
* the published `apiClient`), so the shape crosses a package boundary and
|
|
315
|
+
* Principle II puts it here. Before P2 it was declared in
|
|
316
|
+
* `admin/src/modules/organizations/api/organizations-picker-client.ts`, where a
|
|
317
|
+
* kit component could only reach it by importing a module's admin code.
|
|
318
|
+
*
|
|
319
|
+
* The status is `organizationStatusSchema` and not a picker-local enum: the four
|
|
320
|
+
* members the picker filters on are exactly that schema's, so a second name
|
|
321
|
+
* would be two spellings of one set with nothing keeping them equal.
|
|
322
|
+
*/
|
|
323
|
+
export const organizationPickerListItemSchema = z.object({
|
|
324
|
+
id: uuidSchema,
|
|
325
|
+
name: z.string(),
|
|
326
|
+
legalName: z.string().nullable(),
|
|
327
|
+
status: organizationStatusSchema,
|
|
328
|
+
countryCode: z.string().nullable().optional(),
|
|
329
|
+
salesRepAdminUserIds: z.array(uuidSchema).optional(),
|
|
330
|
+
memberCount: z.number().int().nonnegative().optional(),
|
|
331
|
+
version: z.number().int().nonnegative(),
|
|
332
|
+
});
|
|
333
|
+
/** One page of picker rows. `nextCursor` is `null` on the last page. */
|
|
334
|
+
export const organizationPickerPageSchema = z.object({
|
|
335
|
+
items: z.array(organizationPickerListItemSchema),
|
|
336
|
+
nextCursor: z.string().nullable(),
|
|
337
|
+
});
|
|
338
|
+
// --- Sales-rep ↔ organization assignment (feature 008) ---------------------
|
|
339
|
+
export const salesRepAssignmentSchema = z.object({
|
|
340
|
+
id: uuidSchema,
|
|
341
|
+
organizationId: uuidSchema,
|
|
342
|
+
adminUserId: uuidSchema,
|
|
343
|
+
displayName: z.string(),
|
|
344
|
+
email: z.string().email(),
|
|
345
|
+
assignedAt: isoDateTimeSchema,
|
|
346
|
+
assignedByAdminUserId: uuidSchema.nullable(),
|
|
347
|
+
});
|
|
348
|
+
export const assignSalesRepRequestSchema = z.object({
|
|
349
|
+
adminUserId: uuidSchema,
|
|
350
|
+
});
|
|
351
|
+
export const salesRepOrganizationSchema = z.object({
|
|
352
|
+
organizationId: uuidSchema,
|
|
353
|
+
name: z.string(),
|
|
354
|
+
openRfqCount: z.number().int().nonnegative(),
|
|
355
|
+
assignedAt: isoDateTimeSchema,
|
|
356
|
+
});
|
|
357
|
+
/**
|
|
358
|
+
* Diacritic-insensitive normalisation for the organisation's `name_search`
|
|
359
|
+
* column and for any query string matched against it.
|
|
360
|
+
*
|
|
361
|
+
* The character fold itself is `foldDiacritics` in `text-normalization.ts`,
|
|
362
|
+
* shared with `admin/` and reachable from `storefront/` (issue #240): it strips
|
|
363
|
+
* every Unicode combining mark through NFD decomposition and then maps the
|
|
364
|
+
* handful of precomposed Latin letters NFD does not decompose (notably Polish
|
|
365
|
+
* `ł`/`Ł`, Scandinavian `ø`/`Ø`, Croatian `đ`/`Đ`, Icelandic `ð`/`Ð`,
|
|
366
|
+
* `þ`/`Þ`, German `ß`, ligatures `æ` and `œ`). What is specific to an
|
|
367
|
+
* organisation name is the whitespace policy below, and only that: a name typed
|
|
368
|
+
* with a double space must match one stored with a single one.
|
|
369
|
+
*
|
|
370
|
+
* Published as a **function, not a port** (FR-013): it is pure over its
|
|
371
|
+
* argument, so switching `organizations` off does not change the answer, and a
|
|
372
|
+
* gated port answering 503 to "fold these diacritics" would be a bug. The
|
|
373
|
+
* entity's `@BeforeCreate` / `@BeforeUpdate` hooks and `orders`' list filter
|
|
374
|
+
* both call it, and they must agree or the filter silently stops matching.
|
|
375
|
+
*
|
|
376
|
+
* That agreement is why the fold is characterised rather than merely tested:
|
|
377
|
+
* `backend/test/unit/organizations/name-search-fold-characterisation.test.ts`
|
|
378
|
+
* pins the output for every input this function can meet, because a change here
|
|
379
|
+
* re-folds nothing already written to `name_search` and reports no error when
|
|
380
|
+
* the two stop agreeing.
|
|
381
|
+
*
|
|
382
|
+
* Node natives only (Principle IV).
|
|
383
|
+
*/
|
|
384
|
+
export function normalizeOrganizationName(input) {
|
|
385
|
+
return foldDiacritics(input).replace(/\s+/g, ' ').trim();
|
|
386
|
+
}
|
|
387
|
+
/**
|
|
388
|
+
* Thrown when the organisation a read names does not exist. The kernel's
|
|
389
|
+
* `OrganizationReadPort` has documented it as `assertCanTransact`'s failure
|
|
390
|
+
* mode since D-32 while the class itself lived in a module, which is the gap
|
|
391
|
+
* this publication closes.
|
|
392
|
+
*/
|
|
393
|
+
export class OrganizationNotFoundError extends Error {
|
|
394
|
+
organizationId;
|
|
395
|
+
constructor(organizationId) {
|
|
396
|
+
super(`Organization ${organizationId} not found.`);
|
|
397
|
+
this.organizationId = organizationId;
|
|
398
|
+
this.name = 'OrganizationNotFoundError';
|
|
399
|
+
}
|
|
400
|
+
}
|
|
401
|
+
/**
|
|
402
|
+
* Thrown when a write is attempted for an organisation whose status forbids
|
|
403
|
+
* transacting. Four modules — `carts`, `orders`, `quote_requests` and the
|
|
404
|
+
* external order intake — catch it by class to turn it into a 409 envelope,
|
|
405
|
+
* which is why it is published here rather than being a port: an error is a
|
|
406
|
+
* shape, and `DictionaryReferenceError` in `dictionary.ts` set the precedent.
|
|
407
|
+
*/
|
|
408
|
+
export class OrganizationCannotTransactError extends Error {
|
|
409
|
+
organizationId;
|
|
410
|
+
status;
|
|
411
|
+
constructor(organizationId, status) {
|
|
412
|
+
super(`Organization ${organizationId} cannot transact in status '${status}'.`);
|
|
413
|
+
this.organizationId = organizationId;
|
|
414
|
+
this.status = status;
|
|
415
|
+
this.name = 'OrganizationCannotTransactError';
|
|
416
|
+
}
|
|
417
|
+
}
|
|
418
|
+
//# sourceMappingURL=organizations.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"organizations.js","sourceRoot":"","sources":["../src/organizations.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Cursor-based pagination payload — see
|
|
4
|
+
* specs/001-b2b-platform-foundation/contracts/README.md.
|
|
5
|
+
*
|
|
6
|
+
* Offset pagination is deliberately rejected because it degrades on large catalogs (R-08).
|
|
7
|
+
*/
|
|
8
|
+
export declare const paginationSchema: z.ZodObject<{
|
|
9
|
+
cursor: z.ZodNullable<z.ZodString>;
|
|
10
|
+
hasMore: z.ZodBoolean;
|
|
11
|
+
limit: z.ZodNumber;
|
|
12
|
+
}, z.core.$strip>;
|
|
13
|
+
export type Pagination = z.infer<typeof paginationSchema>;
|
|
14
|
+
/** Shared query parameters for every list endpoint. */
|
|
15
|
+
export declare const listQuerySchema: z.ZodObject<{
|
|
16
|
+
limit: z.ZodDefault<z.ZodCoercedNumber<unknown>>;
|
|
17
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
18
|
+
sort: z.ZodOptional<z.ZodString>;
|
|
19
|
+
}, z.core.$strip>;
|
|
20
|
+
export type ListQuery = z.infer<typeof listQuerySchema>;
|
|
21
|
+
//# sourceMappingURL=pagination.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.d.ts","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,eAAO,MAAM,gBAAgB;;;;iBAI3B,CAAC;AAEH,MAAM,MAAM,UAAU,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,gBAAgB,CAAC,CAAC;AAE1D,uDAAuD;AACvD,eAAO,MAAM,eAAe;;;;iBAI1B,CAAC;AAEH,MAAM,MAAM,SAAS,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,eAAe,CAAC,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Cursor-based pagination payload — see
|
|
4
|
+
* specs/001-b2b-platform-foundation/contracts/README.md.
|
|
5
|
+
*
|
|
6
|
+
* Offset pagination is deliberately rejected because it degrades on large catalogs (R-08).
|
|
7
|
+
*/
|
|
8
|
+
export const paginationSchema = z.object({
|
|
9
|
+
cursor: z.string().nullable().describe('opaque base64 cursor for the next page; null on last page'),
|
|
10
|
+
hasMore: z.boolean(),
|
|
11
|
+
limit: z.number().int().positive().max(200),
|
|
12
|
+
});
|
|
13
|
+
/** Shared query parameters for every list endpoint. */
|
|
14
|
+
export const listQuerySchema = z.object({
|
|
15
|
+
limit: z.coerce.number().int().positive().max(200).default(50),
|
|
16
|
+
cursor: z.string().optional(),
|
|
17
|
+
sort: z.string().optional(),
|
|
18
|
+
});
|
|
19
|
+
// NOTE: cursor encode/decode helpers live in the backend (see backend/src/http/cursor.ts)
|
|
20
|
+
// because Node's Buffer is not available in the browser and the frontends treat the cursor
|
|
21
|
+
// as opaque.
|
|
22
|
+
//# sourceMappingURL=pagination.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pagination.js","sourceRoot":"","sources":["../src/pagination.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;;;GAKG;AAEH,MAAM,CAAC,MAAM,gBAAgB,GAAG,CAAC,CAAC,MAAM,CAAC;IACvC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,2DAA2D,CAAC;IACnG,OAAO,EAAE,CAAC,CAAC,OAAO,EAAE;IACpB,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;CAC5C,CAAC,CAAC;AAIH,uDAAuD;AACvD,MAAM,CAAC,MAAM,eAAe,GAAG,CAAC,CAAC,MAAM,CAAC;IACtC,KAAK,EAAE,CAAC,CAAC,MAAM,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,QAAQ,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,OAAO,CAAC,EAAE,CAAC;IAC9D,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CAC5B,CAAC,CAAC;AAIH,0FAA0F;AAC1F,2FAA2F;AAC3F,aAAa"}
|