@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":"custom-fields.d.ts","sourceRoot":"","sources":["../src/custom-fields.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,185 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { isoDateTimeSchema, uuidSchema } from './common.js';
|
|
3
|
+
/**
|
|
4
|
+
* Custom Fields Layer (feature 055) — entity-agnostic runtime custom fields
|
|
5
|
+
* on core entities (Category, Order, Organization, Customer, QuoteRequest).
|
|
6
|
+
*
|
|
7
|
+
* These are the source-of-truth boundary schemas (Principle V). The per-value
|
|
8
|
+
* validator applied to host records is DERIVED at runtime from a stored
|
|
9
|
+
* definition (see backend `custom-field-value.service.ts`); the schemas here
|
|
10
|
+
* cover the definition/option admin API and the value-bag envelope.
|
|
11
|
+
*/
|
|
12
|
+
/** The host entity types custom fields may attach to at launch. Extensible via the backend registry. */
|
|
13
|
+
export const supportedEntityTypeSchema = z.enum([
|
|
14
|
+
'category',
|
|
15
|
+
'order',
|
|
16
|
+
'organization',
|
|
17
|
+
'customer',
|
|
18
|
+
'quote_request',
|
|
19
|
+
// Feature 061 — product attributes are catalog extensions of product-host
|
|
20
|
+
// definitions; the type is host-managed (writes only via /catalog/attributes).
|
|
21
|
+
'product',
|
|
22
|
+
]);
|
|
23
|
+
/** The set of runtime value types. `text` is stored as a string; `select` stores one option value; `multiselect` an array. */
|
|
24
|
+
export const customFieldValueTypeSchema = z.enum([
|
|
25
|
+
'text',
|
|
26
|
+
'number',
|
|
27
|
+
'boolean',
|
|
28
|
+
'date',
|
|
29
|
+
'select',
|
|
30
|
+
'multiselect',
|
|
31
|
+
]);
|
|
32
|
+
/** Per-locale label map (BCP-47-keyed). Empty is allowed when only `labelDefault` is filled. */
|
|
33
|
+
export const localizedLabelSchema = z.record(z.string(), z.string());
|
|
34
|
+
/** A select/multiselect option. `id` absent on create. */
|
|
35
|
+
export const customFieldOptionSchema = z.object({
|
|
36
|
+
id: uuidSchema.optional(),
|
|
37
|
+
value: z.string().min(1).max(200),
|
|
38
|
+
label: localizedLabelSchema.default({}),
|
|
39
|
+
labelDefault: z.string().min(1).max(200),
|
|
40
|
+
isDefault: z.boolean().default(false),
|
|
41
|
+
sortOrder: z.number().int().default(0),
|
|
42
|
+
});
|
|
43
|
+
/** A full custom-field definition, options embedded. */
|
|
44
|
+
export const customFieldDefinitionSchema = z.object({
|
|
45
|
+
id: uuidSchema,
|
|
46
|
+
entityType: supportedEntityTypeSchema,
|
|
47
|
+
key: z.string().regex(/^[a-z][a-z0-9_]{0,63}$/),
|
|
48
|
+
label: localizedLabelSchema,
|
|
49
|
+
labelDefault: z.string().min(1).max(200),
|
|
50
|
+
valueType: customFieldValueTypeSchema,
|
|
51
|
+
required: z.boolean(),
|
|
52
|
+
sortOrder: z.number().int(),
|
|
53
|
+
// Opaque host-capability flags (FR-006). The generic core stores but never
|
|
54
|
+
// interprets `config`; a host module reads its own flags from here.
|
|
55
|
+
config: z.record(z.string(), z.unknown()).default({}),
|
|
56
|
+
options: z.array(customFieldOptionSchema).default([]),
|
|
57
|
+
createdAt: isoDateTimeSchema,
|
|
58
|
+
updatedAt: isoDateTimeSchema,
|
|
59
|
+
});
|
|
60
|
+
/** Create a definition. `entityType` + `key` are immutable after create. */
|
|
61
|
+
export const createCustomFieldDefinitionSchema = customFieldDefinitionSchema.omit({
|
|
62
|
+
id: true,
|
|
63
|
+
createdAt: true,
|
|
64
|
+
updatedAt: true,
|
|
65
|
+
});
|
|
66
|
+
/** Patch a definition. `entityType` and `key` cannot change once records may hold values. */
|
|
67
|
+
export const updateCustomFieldDefinitionSchema = createCustomFieldDefinitionSchema
|
|
68
|
+
.partial()
|
|
69
|
+
.omit({ entityType: true, key: true });
|
|
70
|
+
/**
|
|
71
|
+
* One supported host entity type as served by the admin entity-types listing
|
|
72
|
+
* (feature 061 T037). `managedBy` is present only for host-managed types
|
|
73
|
+
* (e.g. `product` → catalog attributes): the generic admin UI renders those
|
|
74
|
+
* read-only and links to `managedBy.route`. Label fields are i18n keys
|
|
75
|
+
* resolved against the `custom_fields` module bundle.
|
|
76
|
+
*/
|
|
77
|
+
export const customFieldEntityTypeInfoSchema = z.object({
|
|
78
|
+
entityType: supportedEntityTypeSchema,
|
|
79
|
+
labelKey: z.string(),
|
|
80
|
+
managedBy: z
|
|
81
|
+
.object({
|
|
82
|
+
moduleId: z.string(),
|
|
83
|
+
labelKey: z.string(),
|
|
84
|
+
route: z.string(),
|
|
85
|
+
})
|
|
86
|
+
.optional(),
|
|
87
|
+
});
|
|
88
|
+
/** A validated value bag keyed by definition `key`. Values are typed by their definition's `valueType`. */
|
|
89
|
+
export const customFieldValuesSchema = z.record(z.string(), z.unknown());
|
|
90
|
+
/** One per-field validation failure returned to the admin for per-field rendering (FR-004). */
|
|
91
|
+
export const customFieldValidationErrorSchema = z.object({
|
|
92
|
+
field: z.string(),
|
|
93
|
+
code: z.enum([
|
|
94
|
+
'wrong_type',
|
|
95
|
+
'missing_required',
|
|
96
|
+
'unknown_option',
|
|
97
|
+
'out_of_range',
|
|
98
|
+
'duplicate_option',
|
|
99
|
+
]),
|
|
100
|
+
message: z.string(),
|
|
101
|
+
});
|
|
102
|
+
export function isCustomFieldValidationFailure(error) {
|
|
103
|
+
return (error instanceof Error &&
|
|
104
|
+
error.name === 'CustomFieldValidationError' &&
|
|
105
|
+
Array.isArray(error.errors));
|
|
106
|
+
}
|
|
107
|
+
// ---------------------------------------------------------------------------
|
|
108
|
+
// --- ports -----------------------------------------------------------------
|
|
109
|
+
//
|
|
110
|
+
// The in-process surface `custom_fields` publishes to the seven modules that
|
|
111
|
+
// read it (feature 075, Phase P). Plain TypeScript, not Zod: these describe
|
|
112
|
+
// in-process calls, not an API boundary.
|
|
113
|
+
//
|
|
114
|
+
// **One seam is deliberately not published here, and D-77 ruled that it stays
|
|
115
|
+
// that way.** `CustomFieldDefinitionApplyApi` — the six co-transactional
|
|
116
|
+
// `apply*` methods `catalog`'s attribute Commands call — takes the caller's
|
|
117
|
+
// MikroORM `EntityManager`, which may not appear in a `@endora-commerce/contracts`
|
|
118
|
+
// signature (FR-034) and which a branded stand-in would publish rather than
|
|
119
|
+
// remove. It is declared in `custom_fields`' own `ports/` directory, the file
|
|
120
|
+
// that becomes the package's `./ports` subpath (D-171), and its seventh
|
|
121
|
+
// method, `publishInvalidate`, stays with it because it is a step of that
|
|
122
|
+
// seam's post-commit protocol rather than a question any reader has.
|
|
123
|
+
//
|
|
124
|
+
// What holds it there is not a convention but a constraint:
|
|
125
|
+
// `fk_product_attributes_custom_field_definition`, `on delete restrict`, plus a
|
|
126
|
+
// `unique` on the same column. A child insert must see its parent inside one
|
|
127
|
+
// transaction, and a second transaction cannot satisfy a foreign key against a
|
|
128
|
+
// row it cannot see. AGENTS.md § Migrations item 4 tells you to *declare* a
|
|
129
|
+
// cross-module foreign key rather than avoid it; `catalog`'s manifest does.
|
|
130
|
+
// The seam's ledger entry is `permanent: true`, and what retires it is F4's
|
|
131
|
+
// package entry points — not a port, and not a relocation.
|
|
132
|
+
//
|
|
133
|
+
// The definition **read** it used to carry alongside them is published, as
|
|
134
|
+
// `CustomFieldDefinitionReadPort.getById` below (feature 080, T053(b)): a read
|
|
135
|
+
// handed an `EntityManager` is a write seam re-opened to serve it (D-169), and
|
|
136
|
+
// the seam was answering that one with the owner's managed ORM entities.
|
|
137
|
+
//
|
|
138
|
+
// Two narrowings were taken with that ruling, and both live here. The `apply*`
|
|
139
|
+
// returns are the published records below rather than live managed entities, so
|
|
140
|
+
// a host loses the *ability* to mutate a definition outside the seam; and the
|
|
141
|
+
// failure crossing the boundary is the code union and guard below rather than
|
|
142
|
+
// an imported error class.
|
|
143
|
+
// ---------------------------------------------------------------------------
|
|
144
|
+
/**
|
|
145
|
+
* How a definition or option write can be refused (feature 061).
|
|
146
|
+
*
|
|
147
|
+
* Published as a union rather than a class so a host narrows the failure
|
|
148
|
+
* **structurally**. `catalog` mapped these onto its own HTTP surface by
|
|
149
|
+
* `err instanceof CustomFieldDefinitionError`, which meant importing a
|
|
150
|
+
* constructor out of another module to read a string field off it.
|
|
151
|
+
*/
|
|
152
|
+
export const CUSTOM_FIELD_DEFINITION_ERROR_CODES = [
|
|
153
|
+
'not_found',
|
|
154
|
+
'duplicate_key',
|
|
155
|
+
'options_required',
|
|
156
|
+
'options_forbidden',
|
|
157
|
+
'entity_type_unknown',
|
|
158
|
+
'value_type_locked',
|
|
159
|
+
'option_in_use',
|
|
160
|
+
];
|
|
161
|
+
/**
|
|
162
|
+
* Whether `error` is a refused definition write, narrowed by shape.
|
|
163
|
+
*
|
|
164
|
+
* `name` and `code` together, not `name` alone: the name is what the class sets
|
|
165
|
+
* on itself and the code is what the caller branches on, so a shape carrying one
|
|
166
|
+
* without the other is not something a host can act on.
|
|
167
|
+
*/
|
|
168
|
+
export function isCustomFieldDefinitionFailure(error) {
|
|
169
|
+
if (typeof error !== 'object' || error === null)
|
|
170
|
+
return false;
|
|
171
|
+
const candidate = error;
|
|
172
|
+
return (candidate.name === 'CustomFieldDefinitionError' &&
|
|
173
|
+
typeof candidate.code === 'string' &&
|
|
174
|
+
CUSTOM_FIELD_DEFINITION_ERROR_CODES.includes(candidate.code) &&
|
|
175
|
+
typeof candidate.message === 'string');
|
|
176
|
+
}
|
|
177
|
+
// `CustomFieldValidationFailure` and `isCustomFieldValidationFailure` are
|
|
178
|
+
// declared once, above, beside the other D-77 structural guards. Two Phase-C
|
|
179
|
+
// cuts published them independently on the same afternoon — `quote_requests`
|
|
180
|
+
// and `organizations` — and both merged, which stopped `@endora-commerce/contracts`
|
|
181
|
+
// compiling at all. The surviving pair keeps the `name === 'CustomFieldValidation
|
|
182
|
+
// Error'` test rather than re-parsing every entry: it is the check that still
|
|
183
|
+
// works once each module is its own npm package (F4), which is the reason the
|
|
184
|
+
// guard exists, and it costs nothing on an error path.
|
|
185
|
+
//# sourceMappingURL=custom-fields.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"custom-fields.js","sourceRoot":"","sources":["../src/custom-fields.ts"],"names":[],"mappings":"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"}
|