@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
package/dist/common.js
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
/**
|
|
3
|
+
* Shared primitive schemas reused across every module contract.
|
|
4
|
+
* Lives in @endora-commerce/contracts so backend + both frontends share one source of truth.
|
|
5
|
+
*/
|
|
6
|
+
export const isoDateTimeSchema = z
|
|
7
|
+
.string()
|
|
8
|
+
.datetime({ offset: true })
|
|
9
|
+
.describe('ISO-8601 datetime with offset, e.g. 2026-04-23T10:15:30.000Z');
|
|
10
|
+
export const uuidSchema = z.string().uuid();
|
|
11
|
+
/**
|
|
12
|
+
* Monetary amount — decimal string or number in the minor-unit-plus-currency form.
|
|
13
|
+
* We keep amount as a `number` on the wire; backend persists as numeric(14,2).
|
|
14
|
+
* Currency is an ISO 4217 code.
|
|
15
|
+
*/
|
|
16
|
+
export const moneySchema = z.object({
|
|
17
|
+
amount: z.number().finite(),
|
|
18
|
+
currency: z.string().length(3).describe('ISO 4217 currency code, e.g. PLN, EUR, USD'),
|
|
19
|
+
});
|
|
20
|
+
/**
|
|
21
|
+
* Multilingual string — keys are BCP-47 language tags. Missing tags fall back to the
|
|
22
|
+
* Sales Channel's default language (FR-105).
|
|
23
|
+
*/
|
|
24
|
+
export const multilingualStringSchema = z.record(z.string().min(2), z.string());
|
|
25
|
+
/**
|
|
26
|
+
* Snapshot address embedded in Orders, Invoices, Deliveries — captured at order time so
|
|
27
|
+
* later edits to the source Address row do not rewrite history.
|
|
28
|
+
*/
|
|
29
|
+
export const addressSnapshotSchema = z.object({
|
|
30
|
+
recipientName: z.string().max(160),
|
|
31
|
+
street: z.string().max(255),
|
|
32
|
+
city: z.string().max(120),
|
|
33
|
+
postalCode: z.string().max(20),
|
|
34
|
+
country: z.string().length(2).describe('ISO-3166-1 alpha-2 country code'),
|
|
35
|
+
phone: z.string().max(32).optional(),
|
|
36
|
+
/**
|
|
37
|
+
* Optional company name captured on a billing snapshot. Defaults from the
|
|
38
|
+
* Organization at order placement; the buyer may override it at checkout.
|
|
39
|
+
*/
|
|
40
|
+
companyName: z.string().max(255).optional(),
|
|
41
|
+
/**
|
|
42
|
+
* Optional tax identifier (Polish NIP by default) captured on a billing
|
|
43
|
+
* snapshot. Defaults from the Organization at placement; overridable at
|
|
44
|
+
* checkout.
|
|
45
|
+
*/
|
|
46
|
+
taxId: z.string().max(32).optional(),
|
|
47
|
+
});
|
|
48
|
+
/**
|
|
49
|
+
* Default order lifecycle statuses (feature 038). The lifecycle is now
|
|
50
|
+
* admin-configurable; this enum is the seeded default set and the fallback the
|
|
51
|
+
* `EnumOrderStatusRegistry` validates payment/shipping `statusOn*` references
|
|
52
|
+
* against. Runtime-added statuses are validated against the configurable graph,
|
|
53
|
+
* not this enum.
|
|
54
|
+
*/
|
|
55
|
+
export const orderStatusSchema = z.enum([
|
|
56
|
+
'new',
|
|
57
|
+
'pending',
|
|
58
|
+
'paid',
|
|
59
|
+
'processing',
|
|
60
|
+
'shipment_ready',
|
|
61
|
+
'shipment_sent',
|
|
62
|
+
'completed',
|
|
63
|
+
'on_hold',
|
|
64
|
+
'cancelled',
|
|
65
|
+
]);
|
|
66
|
+
/** Payment lifecycle statuses (FR-014). `failed` added by feature 034 (payment-method adapter framework). */
|
|
67
|
+
export const paymentStatusSchema = z.enum(['awaiting_payment', 'paid', 'failed', 'deferred', 'refunded']);
|
|
68
|
+
/** Roles within a Customer Organization (FR-042). */
|
|
69
|
+
export const organizationRoleSchema = z.enum(['organization_admin', 'regular_user']);
|
|
70
|
+
/** Supported Sales Channel visibility modes (R-18 + FR-106). */
|
|
71
|
+
export const productVisibilitySchema = z.enum(['public', 'logged_in_only', 'organization_restricted']);
|
|
72
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../src/common.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB;;;GAGG;AAEH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC;KAC/B,MAAM,EAAE;KACR,QAAQ,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC;KAC1B,QAAQ,CAAC,8DAA8D,CAAC,CAAC;AAI5E,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,CAAC,MAAM,EAAE,CAAC,IAAI,EAAE,CAAC;AAG5C;;;;GAIG;AACH,MAAM,CAAC,MAAM,WAAW,GAAG,CAAC,CAAC,MAAM,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,EAAE;IAC3B,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,4CAA4C,CAAC;CACtF,CAAC,CAAC;AAGH;;;GAGG;AACH,MAAM,CAAC,MAAM,wBAAwB,GAAG,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC;AAGhF;;;GAGG;AACH,MAAM,CAAC,MAAM,qBAAqB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC5C,aAAa,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAClC,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IAC3B,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC;IACzB,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC;IAC9B,OAAO,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,QAAQ,CAAC,iCAAiC,CAAC;IACzE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;IACpC;;;OAGG;IACH,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,CAAC,QAAQ,EAAE;IAC3C;;;;OAIG;IACH,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,CAAC,EAAE,CAAC,CAAC,QAAQ,EAAE;CACrC,CAAC,CAAC;AAGH;;;;;;GAMG;AACH,MAAM,CAAC,MAAM,iBAAiB,GAAG,CAAC,CAAC,IAAI,CAAC;IACtC,KAAK;IACL,SAAS;IACT,MAAM;IACN,YAAY;IACZ,gBAAgB;IAChB,eAAe;IACf,WAAW;IACX,SAAS;IACT,WAAW;CACZ,CAAC,CAAC;AAGH,6GAA6G;AAC7G,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,kBAAkB,EAAE,MAAM,EAAE,QAAQ,EAAE,UAAU,EAAE,UAAU,CAAC,CAAC,CAAC;AAG1G,qDAAqD;AACrD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,oBAAoB,EAAE,cAAc,CAAC,CAAC,CAAC;AAGrF,gEAAgE;AAChE,MAAM,CAAC,MAAM,uBAAuB,GAAG,CAAC,CAAC,IAAI,CAAC,CAAC,QAAQ,EAAE,gBAAgB,EAAE,yBAAyB,CAAC,CAAC,CAAC"}
|
|
@@ -0,0 +1,487 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export declare const COMPARE_DISPLAY_MODES: readonly ["all", "common", "differences"];
|
|
3
|
+
export declare const COMPARE_MAX_PRODUCTS_LOWER_BOUND = 1;
|
|
4
|
+
export declare const COMPARE_MAX_PRODUCTS_UPPER_BOUND = 16;
|
|
5
|
+
export declare const comparisonDisplayModeSchema: z.ZodEnum<{
|
|
6
|
+
all: "all";
|
|
7
|
+
common: "common";
|
|
8
|
+
differences: "differences";
|
|
9
|
+
}>;
|
|
10
|
+
export type ComparisonDisplayMode = z.infer<typeof comparisonDisplayModeSchema>;
|
|
11
|
+
/**
|
|
12
|
+
* Server-computed classification per attribute row, per research.md R-6:
|
|
13
|
+
* - `'common'` — every product carries the same value (set-equal for
|
|
14
|
+
* multi-value, ===-equal for scalars).
|
|
15
|
+
* - `'different'` — at least one product disagrees, OR at least one
|
|
16
|
+
* product has no value at all.
|
|
17
|
+
*/
|
|
18
|
+
export declare const comparisonRowClassSchema: z.ZodEnum<{
|
|
19
|
+
common: "common";
|
|
20
|
+
different: "different";
|
|
21
|
+
}>;
|
|
22
|
+
export type ComparisonRowClass = z.infer<typeof comparisonRowClassSchema>;
|
|
23
|
+
export declare const comparisonProductSummarySchema: z.ZodObject<{
|
|
24
|
+
id: z.ZodString;
|
|
25
|
+
sku: z.ZodString;
|
|
26
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
27
|
+
slug: z.ZodString;
|
|
28
|
+
type: z.ZodEnum<{
|
|
29
|
+
simple: "simple";
|
|
30
|
+
configurable: "configurable";
|
|
31
|
+
grouped: "grouped";
|
|
32
|
+
bundle: "bundle";
|
|
33
|
+
virtual: "virtual";
|
|
34
|
+
}>;
|
|
35
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
36
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
37
|
+
amount: z.ZodNumber;
|
|
38
|
+
currency: z.ZodString;
|
|
39
|
+
}, z.core.$strip>>;
|
|
40
|
+
available: z.ZodBoolean;
|
|
41
|
+
addedAt: z.ZodString;
|
|
42
|
+
}, z.core.$strip>;
|
|
43
|
+
export type ComparisonProductSummary = z.infer<typeof comparisonProductSummarySchema>;
|
|
44
|
+
export declare const comparisonAttributeRowSchema: z.ZodObject<{
|
|
45
|
+
key: z.ZodString;
|
|
46
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
47
|
+
valueType: z.ZodEnum<{
|
|
48
|
+
string: "string";
|
|
49
|
+
number: "number";
|
|
50
|
+
boolean: "boolean";
|
|
51
|
+
date: "date";
|
|
52
|
+
enum: "enum";
|
|
53
|
+
select: "select";
|
|
54
|
+
price: "price";
|
|
55
|
+
multiselect: "multiselect";
|
|
56
|
+
}>;
|
|
57
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
58
|
+
rowClass: z.ZodEnum<{
|
|
59
|
+
common: "common";
|
|
60
|
+
different: "different";
|
|
61
|
+
}>;
|
|
62
|
+
}, z.core.$strip>;
|
|
63
|
+
export type ComparisonAttributeRow = z.infer<typeof comparisonAttributeRowSchema>;
|
|
64
|
+
/**
|
|
65
|
+
* Whose prices the columns carry.
|
|
66
|
+
*
|
|
67
|
+
* The viewer's identity decides the figures, always: `organization` means they
|
|
68
|
+
* were resolved against the reader's own price lists, `channel` that they are
|
|
69
|
+
* the sales channel's public ones. A share token decides *which products* are
|
|
70
|
+
* in a comparison and never *which prices* are shown, so sender and recipient
|
|
71
|
+
* legitimately see different numbers on one link — and a reader who cannot tell
|
|
72
|
+
* which they are looking at cannot act on either.
|
|
73
|
+
*/
|
|
74
|
+
export declare const comparisonPricedForSchema: z.ZodEnum<{
|
|
75
|
+
channel: "channel";
|
|
76
|
+
organization: "organization";
|
|
77
|
+
}>;
|
|
78
|
+
export type ComparisonPricedFor = z.infer<typeof comparisonPricedForSchema>;
|
|
79
|
+
export declare const comparisonOwnerViewSchema: z.ZodObject<{
|
|
80
|
+
id: z.ZodString;
|
|
81
|
+
shareToken: z.ZodString;
|
|
82
|
+
displayMode: z.ZodEnum<{
|
|
83
|
+
all: "all";
|
|
84
|
+
common: "common";
|
|
85
|
+
differences: "differences";
|
|
86
|
+
}>;
|
|
87
|
+
maxProducts: z.ZodNumber;
|
|
88
|
+
products: z.ZodArray<z.ZodObject<{
|
|
89
|
+
id: z.ZodString;
|
|
90
|
+
sku: z.ZodString;
|
|
91
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
92
|
+
slug: z.ZodString;
|
|
93
|
+
type: z.ZodEnum<{
|
|
94
|
+
simple: "simple";
|
|
95
|
+
configurable: "configurable";
|
|
96
|
+
grouped: "grouped";
|
|
97
|
+
bundle: "bundle";
|
|
98
|
+
virtual: "virtual";
|
|
99
|
+
}>;
|
|
100
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
101
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
102
|
+
amount: z.ZodNumber;
|
|
103
|
+
currency: z.ZodString;
|
|
104
|
+
}, z.core.$strip>>;
|
|
105
|
+
available: z.ZodBoolean;
|
|
106
|
+
addedAt: z.ZodString;
|
|
107
|
+
}, z.core.$strip>>;
|
|
108
|
+
comparableAttributes: z.ZodArray<z.ZodObject<{
|
|
109
|
+
key: z.ZodString;
|
|
110
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
111
|
+
valueType: z.ZodEnum<{
|
|
112
|
+
string: "string";
|
|
113
|
+
number: "number";
|
|
114
|
+
boolean: "boolean";
|
|
115
|
+
date: "date";
|
|
116
|
+
enum: "enum";
|
|
117
|
+
select: "select";
|
|
118
|
+
price: "price";
|
|
119
|
+
multiselect: "multiselect";
|
|
120
|
+
}>;
|
|
121
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
122
|
+
rowClass: z.ZodEnum<{
|
|
123
|
+
common: "common";
|
|
124
|
+
different: "different";
|
|
125
|
+
}>;
|
|
126
|
+
}, z.core.$strip>>;
|
|
127
|
+
pricedFor: z.ZodEnum<{
|
|
128
|
+
channel: "channel";
|
|
129
|
+
organization: "organization";
|
|
130
|
+
}>;
|
|
131
|
+
hiddenProductCount: z.ZodNumber;
|
|
132
|
+
createdAt: z.ZodString;
|
|
133
|
+
updatedAt: z.ZodString;
|
|
134
|
+
}, z.core.$strip>;
|
|
135
|
+
export type ComparisonOwnerView = z.infer<typeof comparisonOwnerViewSchema>;
|
|
136
|
+
export declare const comparisonOwnerResponseSchema: z.ZodObject<{
|
|
137
|
+
data: z.ZodObject<{
|
|
138
|
+
id: z.ZodString;
|
|
139
|
+
shareToken: z.ZodString;
|
|
140
|
+
displayMode: z.ZodEnum<{
|
|
141
|
+
all: "all";
|
|
142
|
+
common: "common";
|
|
143
|
+
differences: "differences";
|
|
144
|
+
}>;
|
|
145
|
+
maxProducts: z.ZodNumber;
|
|
146
|
+
products: z.ZodArray<z.ZodObject<{
|
|
147
|
+
id: z.ZodString;
|
|
148
|
+
sku: z.ZodString;
|
|
149
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
150
|
+
slug: z.ZodString;
|
|
151
|
+
type: z.ZodEnum<{
|
|
152
|
+
simple: "simple";
|
|
153
|
+
configurable: "configurable";
|
|
154
|
+
grouped: "grouped";
|
|
155
|
+
bundle: "bundle";
|
|
156
|
+
virtual: "virtual";
|
|
157
|
+
}>;
|
|
158
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
159
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
160
|
+
amount: z.ZodNumber;
|
|
161
|
+
currency: z.ZodString;
|
|
162
|
+
}, z.core.$strip>>;
|
|
163
|
+
available: z.ZodBoolean;
|
|
164
|
+
addedAt: z.ZodString;
|
|
165
|
+
}, z.core.$strip>>;
|
|
166
|
+
comparableAttributes: z.ZodArray<z.ZodObject<{
|
|
167
|
+
key: z.ZodString;
|
|
168
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
169
|
+
valueType: z.ZodEnum<{
|
|
170
|
+
string: "string";
|
|
171
|
+
number: "number";
|
|
172
|
+
boolean: "boolean";
|
|
173
|
+
date: "date";
|
|
174
|
+
enum: "enum";
|
|
175
|
+
select: "select";
|
|
176
|
+
price: "price";
|
|
177
|
+
multiselect: "multiselect";
|
|
178
|
+
}>;
|
|
179
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
180
|
+
rowClass: z.ZodEnum<{
|
|
181
|
+
common: "common";
|
|
182
|
+
different: "different";
|
|
183
|
+
}>;
|
|
184
|
+
}, z.core.$strip>>;
|
|
185
|
+
pricedFor: z.ZodEnum<{
|
|
186
|
+
channel: "channel";
|
|
187
|
+
organization: "organization";
|
|
188
|
+
}>;
|
|
189
|
+
hiddenProductCount: z.ZodNumber;
|
|
190
|
+
createdAt: z.ZodString;
|
|
191
|
+
updatedAt: z.ZodString;
|
|
192
|
+
}, z.core.$strip>;
|
|
193
|
+
}, z.core.$strip>;
|
|
194
|
+
export type ComparisonOwnerResponse = z.infer<typeof comparisonOwnerResponseSchema>;
|
|
195
|
+
export declare const comparisonAddProductInputSchema: z.ZodObject<{
|
|
196
|
+
productId: z.ZodString;
|
|
197
|
+
}, z.core.$strip>;
|
|
198
|
+
export type ComparisonAddProductInput = z.infer<typeof comparisonAddProductInputSchema>;
|
|
199
|
+
export declare const comparisonSetDisplayModeInputSchema: z.ZodObject<{
|
|
200
|
+
displayMode: z.ZodEnum<{
|
|
201
|
+
all: "all";
|
|
202
|
+
common: "common";
|
|
203
|
+
differences: "differences";
|
|
204
|
+
}>;
|
|
205
|
+
}, z.core.$strip>;
|
|
206
|
+
export type ComparisonSetDisplayModeInput = z.infer<typeof comparisonSetDisplayModeInputSchema>;
|
|
207
|
+
/**
|
|
208
|
+
* Recipient-side projection. Same column shape as the owner view minus
|
|
209
|
+
* `maxProducts` (the recipient cannot mutate the comparison, so the cap
|
|
210
|
+
* is irrelevant) plus `meta.viewerIsOwner` so the storefront knows
|
|
211
|
+
* whether to render owner-only affordances (Add to cart, Remove,
|
|
212
|
+
* Delete, Copy share link).
|
|
213
|
+
*/
|
|
214
|
+
export declare const comparisonSharedViewSchema: z.ZodObject<{
|
|
215
|
+
id: z.ZodString;
|
|
216
|
+
shareToken: z.ZodString;
|
|
217
|
+
displayMode: z.ZodEnum<{
|
|
218
|
+
all: "all";
|
|
219
|
+
common: "common";
|
|
220
|
+
differences: "differences";
|
|
221
|
+
}>;
|
|
222
|
+
products: z.ZodArray<z.ZodObject<{
|
|
223
|
+
id: z.ZodString;
|
|
224
|
+
sku: z.ZodString;
|
|
225
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
226
|
+
slug: z.ZodString;
|
|
227
|
+
type: z.ZodEnum<{
|
|
228
|
+
simple: "simple";
|
|
229
|
+
configurable: "configurable";
|
|
230
|
+
grouped: "grouped";
|
|
231
|
+
bundle: "bundle";
|
|
232
|
+
virtual: "virtual";
|
|
233
|
+
}>;
|
|
234
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
235
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
236
|
+
amount: z.ZodNumber;
|
|
237
|
+
currency: z.ZodString;
|
|
238
|
+
}, z.core.$strip>>;
|
|
239
|
+
available: z.ZodBoolean;
|
|
240
|
+
addedAt: z.ZodString;
|
|
241
|
+
}, z.core.$strip>>;
|
|
242
|
+
comparableAttributes: z.ZodArray<z.ZodObject<{
|
|
243
|
+
key: z.ZodString;
|
|
244
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
245
|
+
valueType: z.ZodEnum<{
|
|
246
|
+
string: "string";
|
|
247
|
+
number: "number";
|
|
248
|
+
boolean: "boolean";
|
|
249
|
+
date: "date";
|
|
250
|
+
enum: "enum";
|
|
251
|
+
select: "select";
|
|
252
|
+
price: "price";
|
|
253
|
+
multiselect: "multiselect";
|
|
254
|
+
}>;
|
|
255
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
256
|
+
rowClass: z.ZodEnum<{
|
|
257
|
+
common: "common";
|
|
258
|
+
different: "different";
|
|
259
|
+
}>;
|
|
260
|
+
}, z.core.$strip>>;
|
|
261
|
+
pricedFor: z.ZodEnum<{
|
|
262
|
+
channel: "channel";
|
|
263
|
+
organization: "organization";
|
|
264
|
+
}>;
|
|
265
|
+
hiddenProductCount: z.ZodNumber;
|
|
266
|
+
createdAt: z.ZodString;
|
|
267
|
+
updatedAt: z.ZodString;
|
|
268
|
+
}, z.core.$strip>;
|
|
269
|
+
export type ComparisonSharedView = z.infer<typeof comparisonSharedViewSchema>;
|
|
270
|
+
export declare const comparisonSharedResponseSchema: z.ZodObject<{
|
|
271
|
+
data: z.ZodObject<{
|
|
272
|
+
id: z.ZodString;
|
|
273
|
+
shareToken: z.ZodString;
|
|
274
|
+
displayMode: z.ZodEnum<{
|
|
275
|
+
all: "all";
|
|
276
|
+
common: "common";
|
|
277
|
+
differences: "differences";
|
|
278
|
+
}>;
|
|
279
|
+
products: z.ZodArray<z.ZodObject<{
|
|
280
|
+
id: z.ZodString;
|
|
281
|
+
sku: z.ZodString;
|
|
282
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
283
|
+
slug: z.ZodString;
|
|
284
|
+
type: z.ZodEnum<{
|
|
285
|
+
simple: "simple";
|
|
286
|
+
configurable: "configurable";
|
|
287
|
+
grouped: "grouped";
|
|
288
|
+
bundle: "bundle";
|
|
289
|
+
virtual: "virtual";
|
|
290
|
+
}>;
|
|
291
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
292
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
293
|
+
amount: z.ZodNumber;
|
|
294
|
+
currency: z.ZodString;
|
|
295
|
+
}, z.core.$strip>>;
|
|
296
|
+
available: z.ZodBoolean;
|
|
297
|
+
addedAt: z.ZodString;
|
|
298
|
+
}, z.core.$strip>>;
|
|
299
|
+
comparableAttributes: z.ZodArray<z.ZodObject<{
|
|
300
|
+
key: z.ZodString;
|
|
301
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
302
|
+
valueType: z.ZodEnum<{
|
|
303
|
+
string: "string";
|
|
304
|
+
number: "number";
|
|
305
|
+
boolean: "boolean";
|
|
306
|
+
date: "date";
|
|
307
|
+
enum: "enum";
|
|
308
|
+
select: "select";
|
|
309
|
+
price: "price";
|
|
310
|
+
multiselect: "multiselect";
|
|
311
|
+
}>;
|
|
312
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
313
|
+
rowClass: z.ZodEnum<{
|
|
314
|
+
common: "common";
|
|
315
|
+
different: "different";
|
|
316
|
+
}>;
|
|
317
|
+
}, z.core.$strip>>;
|
|
318
|
+
pricedFor: z.ZodEnum<{
|
|
319
|
+
channel: "channel";
|
|
320
|
+
organization: "organization";
|
|
321
|
+
}>;
|
|
322
|
+
hiddenProductCount: z.ZodNumber;
|
|
323
|
+
createdAt: z.ZodString;
|
|
324
|
+
updatedAt: z.ZodString;
|
|
325
|
+
}, z.core.$strip>;
|
|
326
|
+
meta: z.ZodObject<{
|
|
327
|
+
viewerIsOwner: z.ZodBoolean;
|
|
328
|
+
}, z.core.$strip>;
|
|
329
|
+
}, z.core.$strip>;
|
|
330
|
+
export type ComparisonSharedResponse = z.infer<typeof comparisonSharedResponseSchema>;
|
|
331
|
+
export declare const comparisonAdminOwnerSchema: z.ZodObject<{
|
|
332
|
+
kind: z.ZodEnum<{
|
|
333
|
+
anonymous: "anonymous";
|
|
334
|
+
customer: "customer";
|
|
335
|
+
}>;
|
|
336
|
+
customerAccountId: z.ZodNullable<z.ZodString>;
|
|
337
|
+
email: z.ZodNullable<z.ZodString>;
|
|
338
|
+
anonymousToken: z.ZodNullable<z.ZodString>;
|
|
339
|
+
}, z.core.$strip>;
|
|
340
|
+
export type ComparisonAdminOwner = z.infer<typeof comparisonAdminOwnerSchema>;
|
|
341
|
+
export declare const comparisonAdminSalesChannelSchema: z.ZodObject<{
|
|
342
|
+
id: z.ZodString;
|
|
343
|
+
code: z.ZodString;
|
|
344
|
+
}, z.core.$strip>;
|
|
345
|
+
export declare const comparisonAdminListItemSchema: z.ZodObject<{
|
|
346
|
+
id: z.ZodString;
|
|
347
|
+
shareToken: z.ZodString;
|
|
348
|
+
owner: z.ZodObject<{
|
|
349
|
+
kind: z.ZodEnum<{
|
|
350
|
+
anonymous: "anonymous";
|
|
351
|
+
customer: "customer";
|
|
352
|
+
}>;
|
|
353
|
+
customerAccountId: z.ZodNullable<z.ZodString>;
|
|
354
|
+
email: z.ZodNullable<z.ZodString>;
|
|
355
|
+
anonymousToken: z.ZodNullable<z.ZodString>;
|
|
356
|
+
}, z.core.$strip>;
|
|
357
|
+
salesChannel: z.ZodObject<{
|
|
358
|
+
id: z.ZodString;
|
|
359
|
+
code: z.ZodString;
|
|
360
|
+
}, z.core.$strip>;
|
|
361
|
+
displayMode: z.ZodEnum<{
|
|
362
|
+
all: "all";
|
|
363
|
+
common: "common";
|
|
364
|
+
differences: "differences";
|
|
365
|
+
}>;
|
|
366
|
+
productCount: z.ZodNumber;
|
|
367
|
+
createdAt: z.ZodString;
|
|
368
|
+
updatedAt: z.ZodString;
|
|
369
|
+
}, z.core.$strip>;
|
|
370
|
+
export type ComparisonAdminListItem = z.infer<typeof comparisonAdminListItemSchema>;
|
|
371
|
+
export declare const comparisonAdminListQuerySchema: z.ZodObject<{
|
|
372
|
+
salesChannelId: z.ZodOptional<z.ZodString>;
|
|
373
|
+
customerAccountId: z.ZodOptional<z.ZodString>;
|
|
374
|
+
ownerType: z.ZodOptional<z.ZodEnum<{
|
|
375
|
+
anonymous: "anonymous";
|
|
376
|
+
customer: "customer";
|
|
377
|
+
}>>;
|
|
378
|
+
createdAfter: z.ZodOptional<z.ZodString>;
|
|
379
|
+
createdBefore: z.ZodOptional<z.ZodString>;
|
|
380
|
+
cursor: z.ZodOptional<z.ZodString>;
|
|
381
|
+
limit: z.ZodOptional<z.ZodNumber>;
|
|
382
|
+
}, z.core.$strip>;
|
|
383
|
+
export type ComparisonAdminListQuery = z.infer<typeof comparisonAdminListQuerySchema>;
|
|
384
|
+
export declare const comparisonAdminListResponseSchema: z.ZodObject<{
|
|
385
|
+
data: z.ZodArray<z.ZodObject<{
|
|
386
|
+
id: z.ZodString;
|
|
387
|
+
shareToken: z.ZodString;
|
|
388
|
+
owner: z.ZodObject<{
|
|
389
|
+
kind: z.ZodEnum<{
|
|
390
|
+
anonymous: "anonymous";
|
|
391
|
+
customer: "customer";
|
|
392
|
+
}>;
|
|
393
|
+
customerAccountId: z.ZodNullable<z.ZodString>;
|
|
394
|
+
email: z.ZodNullable<z.ZodString>;
|
|
395
|
+
anonymousToken: z.ZodNullable<z.ZodString>;
|
|
396
|
+
}, z.core.$strip>;
|
|
397
|
+
salesChannel: z.ZodObject<{
|
|
398
|
+
id: z.ZodString;
|
|
399
|
+
code: z.ZodString;
|
|
400
|
+
}, z.core.$strip>;
|
|
401
|
+
displayMode: z.ZodEnum<{
|
|
402
|
+
all: "all";
|
|
403
|
+
common: "common";
|
|
404
|
+
differences: "differences";
|
|
405
|
+
}>;
|
|
406
|
+
productCount: z.ZodNumber;
|
|
407
|
+
createdAt: z.ZodString;
|
|
408
|
+
updatedAt: z.ZodString;
|
|
409
|
+
}, z.core.$strip>>;
|
|
410
|
+
meta: z.ZodObject<{
|
|
411
|
+
limit: z.ZodNumber;
|
|
412
|
+
nextCursor: z.ZodNullable<z.ZodString>;
|
|
413
|
+
}, z.core.$strip>;
|
|
414
|
+
}, z.core.$strip>;
|
|
415
|
+
export type ComparisonAdminListResponse = z.infer<typeof comparisonAdminListResponseSchema>;
|
|
416
|
+
/**
|
|
417
|
+
* Admin detail — same shape the storefront owner sees, plus the admin
|
|
418
|
+
* metadata block (owner identity, sales channel, raw shareToken). The
|
|
419
|
+
* detail endpoint renders prices in the comparison's RECORDED channel
|
|
420
|
+
* (the creator's), not the admin's preferred channel — so a support
|
|
421
|
+
* investigation matches what the customer reported.
|
|
422
|
+
*/
|
|
423
|
+
export declare const comparisonAdminDetailSchema: z.ZodObject<{
|
|
424
|
+
id: z.ZodString;
|
|
425
|
+
shareToken: z.ZodString;
|
|
426
|
+
owner: z.ZodObject<{
|
|
427
|
+
kind: z.ZodEnum<{
|
|
428
|
+
anonymous: "anonymous";
|
|
429
|
+
customer: "customer";
|
|
430
|
+
}>;
|
|
431
|
+
customerAccountId: z.ZodNullable<z.ZodString>;
|
|
432
|
+
email: z.ZodNullable<z.ZodString>;
|
|
433
|
+
anonymousToken: z.ZodNullable<z.ZodString>;
|
|
434
|
+
}, z.core.$strip>;
|
|
435
|
+
salesChannel: z.ZodObject<{
|
|
436
|
+
id: z.ZodString;
|
|
437
|
+
code: z.ZodString;
|
|
438
|
+
}, z.core.$strip>;
|
|
439
|
+
displayMode: z.ZodEnum<{
|
|
440
|
+
all: "all";
|
|
441
|
+
common: "common";
|
|
442
|
+
differences: "differences";
|
|
443
|
+
}>;
|
|
444
|
+
products: z.ZodArray<z.ZodObject<{
|
|
445
|
+
id: z.ZodString;
|
|
446
|
+
sku: z.ZodString;
|
|
447
|
+
name: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
448
|
+
slug: z.ZodString;
|
|
449
|
+
type: z.ZodEnum<{
|
|
450
|
+
simple: "simple";
|
|
451
|
+
configurable: "configurable";
|
|
452
|
+
grouped: "grouped";
|
|
453
|
+
bundle: "bundle";
|
|
454
|
+
virtual: "virtual";
|
|
455
|
+
}>;
|
|
456
|
+
primaryAssetUrl: z.ZodNullable<z.ZodString>;
|
|
457
|
+
price: z.ZodNullable<z.ZodObject<{
|
|
458
|
+
amount: z.ZodNumber;
|
|
459
|
+
currency: z.ZodString;
|
|
460
|
+
}, z.core.$strip>>;
|
|
461
|
+
available: z.ZodBoolean;
|
|
462
|
+
addedAt: z.ZodString;
|
|
463
|
+
}, z.core.$strip>>;
|
|
464
|
+
comparableAttributes: z.ZodArray<z.ZodObject<{
|
|
465
|
+
key: z.ZodString;
|
|
466
|
+
label: z.ZodRecord<z.ZodString, z.ZodString>;
|
|
467
|
+
valueType: z.ZodEnum<{
|
|
468
|
+
string: "string";
|
|
469
|
+
number: "number";
|
|
470
|
+
boolean: "boolean";
|
|
471
|
+
date: "date";
|
|
472
|
+
enum: "enum";
|
|
473
|
+
select: "select";
|
|
474
|
+
price: "price";
|
|
475
|
+
multiselect: "multiselect";
|
|
476
|
+
}>;
|
|
477
|
+
values: z.ZodArray<z.ZodNullable<z.ZodString>>;
|
|
478
|
+
rowClass: z.ZodEnum<{
|
|
479
|
+
common: "common";
|
|
480
|
+
different: "different";
|
|
481
|
+
}>;
|
|
482
|
+
}, z.core.$strip>>;
|
|
483
|
+
createdAt: z.ZodString;
|
|
484
|
+
updatedAt: z.ZodString;
|
|
485
|
+
}, z.core.$strip>;
|
|
486
|
+
export type ComparisonAdminDetail = z.infer<typeof comparisonAdminDetailSchema>;
|
|
487
|
+
//# sourceMappingURL=comparisons.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"comparisons.d.ts","sourceRoot":"","sources":["../src/comparisons.ts"],"names":[],"mappings":"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"}
|