platform-types 1.10.683 → 1.10.684
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.
|
@@ -1,6 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.isStorefrontEditorLiteralKey = exports.STOREFRONT_EDITOR_LITERAL_DEFAULTS = exports.resolveStorefrontLiveSettings = exports.isStorefrontLiveSettingKey = exports.STOREFRONT_LIVE_SETTING_KEYS = exports.STOREFRONT_DESIGN_REGISTRY = exports.resolveStorefrontDesignSettings = exports.resolveStorefrontDesignSettingsLayers = exports.STOREFRONT_DESIGN_LITERAL_MAX_CODE_POINTS = exports.validateStorefrontDesignSetting = exports.validateStorefrontSettingValue = exports.isStorefrontDesignSettingKey = exports.STOREFRONT_DESIGN_SETTINGS = void 0;
|
|
3
|
+
exports.isStorefrontEditorLiteralKey = exports.STOREFRONT_EDITOR_LITERAL_DEFAULTS = exports.resolveStorefrontLiveSettings = exports.isStorefrontLiveSettingKey = exports.STOREFRONT_LIVE_SETTING_KEYS = exports.STOREFRONT_DESIGN_REGISTRY = exports.resolveStorefrontDesignSettings = exports.resolveStorefrontDesignSettingsLayers = exports.STOREFRONT_DESIGN_LITERAL_MAX_CODE_POINTS = exports.validateStorefrontDesignSetting = exports.validateStorefrontSettingValue = exports.isStorefrontDesignSettingKey = exports.STOREFRONT_DESIGN_SETTINGS = exports.STOREFRONT_DEFAULTS_VERSION = void 0;
|
|
4
|
+
exports.STOREFRONT_DEFAULTS_VERSION = '1';
|
|
4
5
|
const DESIGN_METADATA = {
|
|
5
6
|
scope: 'storefront',
|
|
6
7
|
allowedLayers: ['GLOBAL', 'WEB', 'WEB#store'],
|
package/dist/store.d.ts
CHANGED
|
@@ -484,9 +484,8 @@ declare global {
|
|
|
484
484
|
* Response-time join, not a persisted Store attribute — and TWO different
|
|
485
485
|
* shapes depending on the endpoint: `GET /tenants` (SUPERVISOR) attaches the
|
|
486
486
|
* compact `StoreRowSubscriptionSummary`; the tenant's own `GET /store`
|
|
487
|
-
* embeds a near-`SubscriptionSyncPayload
|
|
488
|
-
*
|
|
489
|
-
* embed). Discriminate structurally (`'entitlements' in subscription`).
|
|
487
|
+
* embeds a near-`SubscriptionSyncPayload`, including `currency` and
|
|
488
|
+
* `freeUntil`. Discriminate structurally (`'entitlements' in subscription`).
|
|
490
489
|
*/
|
|
491
490
|
subscription?: StoreRowSubscriptionSummary | SubscriptionSyncPayload;
|
|
492
491
|
config: {
|
|
@@ -892,6 +891,13 @@ declare global {
|
|
|
892
891
|
* value refetches `GET /store` to see those.
|
|
893
892
|
*/
|
|
894
893
|
publicStorefront?: PublicStorefront | null;
|
|
894
|
+
/**
|
|
895
|
+
* True once the shop has a published storefront design; legacy presentation fields are then
|
|
896
|
+
* owned by the design editor. Read-time, never stored: sent on app `GET /store` (both views)
|
|
897
|
+
* and `GET /tenants?storeId=`, never on the `GET /tenants` list, echoes or frames. Absent means
|
|
898
|
+
* "not read here", never "not adopted": keep the value from the last of those two reads.
|
|
899
|
+
*/
|
|
900
|
+
storefrontAdopted?: boolean;
|
|
895
901
|
/**
|
|
896
902
|
* Server-built public contact on web GET /store and customer STORE frames.
|
|
897
903
|
* Absent means an older API; an empty object means no validated public
|
|
@@ -901,6 +907,15 @@ declare global {
|
|
|
901
907
|
publicContact?: StorefrontPublicContact;
|
|
902
908
|
/** Read-only legacy editor seed, available only to the entitled tenant ADMIN. */
|
|
903
909
|
storefrontEditorBaseline?: StorefrontEditorBaseline;
|
|
910
|
+
/** Public aggregate from the immutable publication and live platform layers. */
|
|
911
|
+
storefrontDesign?: PublicStorefrontDesignResult;
|
|
912
|
+
/**
|
|
913
|
+
* Customer STORE frame hint: re-read the public aggregate; carries no private identity. Set by
|
|
914
|
+
* an adopted shop's frame when the write reached `ecommerce` or `config`, by the frame a fresh
|
|
915
|
+
* publish sends, and by any frame whose publication contact could not be read (that frame
|
|
916
|
+
* carries no contact keys at all).
|
|
917
|
+
*/
|
|
918
|
+
storefrontDesignInvalidated?: true;
|
|
904
919
|
photoURL: string;
|
|
905
920
|
/** @deprecated Request-only upload control, never persisted or returned — use `StoreUpdateInput.photoData`. */
|
|
906
921
|
photoData?: string;
|
|
@@ -1000,6 +1015,16 @@ declare global {
|
|
|
1000
1015
|
*/
|
|
1001
1016
|
requireEmailVerification?: boolean;
|
|
1002
1017
|
}
|
|
1018
|
+
/**
|
|
1019
|
+
* `data` of a `stores` frame on a CUSTOMER socket — `dynamoUpdate`'s customer fan-out of a
|
|
1020
|
+
* STORE write and the frame a fresh storefront publish sends. The public STORE allow-list,
|
|
1021
|
+
* each value narrowed as web `GET /store` narrows it, plus the contact pair and `storeId`.
|
|
1022
|
+
* Partial by design: a client merges it over its cached store and refetches `GET /store`, so
|
|
1023
|
+
* an absent key means "unchanged", never "cleared".
|
|
1024
|
+
*/
|
|
1025
|
+
type StoreCustomerFrameData = {
|
|
1026
|
+
storeId: string;
|
|
1027
|
+
} & Partial<Pick<Store, 'name' | 'photoURL' | 'brands' | 'deliveryMethods' | 'cuit' | 'config' | 'currencies' | 'address' | 'categories' | 'paymentMethods' | 'ecommerce' | 'email' | 'phone' | 'publicContact' | 'storefrontDesignInvalidated'>>;
|
|
1003
1028
|
interface StoreIntegrations {
|
|
1004
1029
|
afip?: Afip;
|
|
1005
1030
|
mercadopago?: Mercadopago;
|
|
@@ -67,14 +67,20 @@ declare global {
|
|
|
67
67
|
type StorefrontDesignProductSource = {
|
|
68
68
|
kind: 'offers' | 'new';
|
|
69
69
|
} | {
|
|
70
|
-
kind: 'category' | 'brand'
|
|
70
|
+
kind: 'category' | 'brand';
|
|
71
|
+
id: string;
|
|
72
|
+
} | {
|
|
73
|
+
kind: 'collection';
|
|
71
74
|
id: string;
|
|
72
75
|
};
|
|
73
76
|
type StorefrontDesignLinkTarget = {
|
|
74
77
|
kind: 'builtin';
|
|
75
78
|
id: (typeof STOREFRONT_BUILTIN_DESTINATIONS)[number];
|
|
76
79
|
} | {
|
|
77
|
-
kind: 'page' | 'category' | 'brand'
|
|
80
|
+
kind: 'page' | 'category' | 'brand';
|
|
81
|
+
id: string;
|
|
82
|
+
} | {
|
|
83
|
+
kind: 'collection';
|
|
78
84
|
id: string;
|
|
79
85
|
} | {
|
|
80
86
|
kind: 'external';
|
|
@@ -255,6 +261,37 @@ declare global {
|
|
|
255
261
|
type StorefrontDesignPublic = Omit<StorefrontDesignV1, 'contact'> & {
|
|
256
262
|
contact: StorefrontPublicContact;
|
|
257
263
|
};
|
|
264
|
+
/**
|
|
265
|
+
* Image placements gain `url`/`mobileUrl`: the variant-LESS base
|
|
266
|
+
* `/sf-media/{stage}/{storeId}/{publicationId}/{assetId}`, a path on the images host. Append
|
|
267
|
+
* `/${StorefrontAssetVariant}` (one of `STOREFRONT_ASSET_VARIANTS`) to request it; the base
|
|
268
|
+
* alone is not servable. Never route it through `/fit-in/`: the media path is refused there.
|
|
269
|
+
*/
|
|
270
|
+
type PublicStorefrontDesignValue<T> = T extends StorefrontDesignImagePlacement ? T & {
|
|
271
|
+
url: string;
|
|
272
|
+
mobileUrl?: string;
|
|
273
|
+
} : T extends {
|
|
274
|
+
kind: 'collection';
|
|
275
|
+
id: string;
|
|
276
|
+
} ? T & {
|
|
277
|
+
slug: string;
|
|
278
|
+
} : T extends readonly (infer V)[] ? PublicStorefrontDesignValue<V>[] : T extends object ? {
|
|
279
|
+
[K in keyof T]: PublicStorefrontDesignValue<T[K]>;
|
|
280
|
+
} : T;
|
|
281
|
+
type PublicStorefrontDesign = PublicStorefrontDesignValue<Omit<StorefrontDesignPublic, 'literalOverrides'>>;
|
|
282
|
+
type PublicStorefrontDesignResult = {
|
|
283
|
+
mode: 'legacy';
|
|
284
|
+
} | {
|
|
285
|
+
mode: 'published';
|
|
286
|
+
publicationId: string;
|
|
287
|
+
document: PublicStorefrontDesign;
|
|
288
|
+
literalLayers: {
|
|
289
|
+
scope: LiteralScope;
|
|
290
|
+
literals: Record<string, string>;
|
|
291
|
+
}[];
|
|
292
|
+
effectiveSettings: StorefrontDesignSettings;
|
|
293
|
+
defaultsVersion: string;
|
|
294
|
+
};
|
|
258
295
|
interface StorefrontDesignV1 {
|
|
259
296
|
schemaVersion: 1;
|
|
260
297
|
templateId: 'standard';
|
|
@@ -275,13 +312,16 @@ declare global {
|
|
|
275
312
|
path: string;
|
|
276
313
|
code: StorefrontDesignFieldErrorCode;
|
|
277
314
|
}
|
|
278
|
-
type StorefrontDesignErrorCode = 'STOREFRONT_DESIGN_INVALID' | 'STOREFRONT_SCHEMA_UNSUPPORTED' | 'STOREFRONT_REVISION_CONFLICT' | 'STOREFRONT_DRAFT_NOT_INITIALIZED' | 'STOREFRONT_REQUEST_EXPIRED' | 'STOREFRONT_PUBLICATION_NOT_FOUND'
|
|
315
|
+
type StorefrontDesignErrorCode = 'STOREFRONT_DESIGN_INVALID' | 'STOREFRONT_SCHEMA_UNSUPPORTED' | 'STOREFRONT_REVISION_CONFLICT' | 'STOREFRONT_DRAFT_NOT_INITIALIZED' | 'STOREFRONT_REQUEST_EXPIRED' | 'STOREFRONT_PUBLICATION_NOT_FOUND'
|
|
316
|
+
/** Web `GET /store` and `GET /literals` `503`: the stored publication cannot be served; retry later. */
|
|
317
|
+
| 'STOREFRONT_PUBLICATION_UNAVAILABLE' | 'STOREFRONT_OPERATION_NOT_FOUND' | 'STOREFRONT_DRAFT_UNAVAILABLE' | 'IDEMPOTENCY_CONFLICT' | 'STOREFRONT_EDITOR_REQUIRED' | 'STOREFRONT_ASSET_NOT_READY' | 'STOREFRONT_PREVIEW_EXPIRED' | 'STOREFRONT_PREVIEW_REVOKED' | 'STOREFRONT_PREVIEW_FORBIDDEN';
|
|
279
318
|
interface StorefrontDesignMappingConflict {
|
|
280
319
|
path: string;
|
|
281
320
|
code: 'LEGACY_MULTIPLE_PRODUCT_FEEDS' | 'LEGACY_UNMAPPED_CONTENT';
|
|
282
321
|
sources?: StorefrontDesignProductSource[];
|
|
283
322
|
}
|
|
284
323
|
interface StorefrontEditorBaseline {
|
|
324
|
+
legacyRevision?: number;
|
|
285
325
|
document: StorefrontDesignV1;
|
|
286
326
|
mappingConflicts: StorefrontDesignMappingConflict[];
|
|
287
327
|
legacySourceRevision: string;
|