@forgecart/sdk 1.2.7 → 1.202606151453.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/README.md +2 -2
- package/dist/admin-types.generated.d.ts +460 -29
- package/dist/admin.d.ts +2 -0
- package/dist/admin.generated.d.ts +67 -27
- package/dist/admin.generated.js +88 -4
- package/dist/admin.js +35 -31
- package/dist/client.generated.d.ts +36 -1
- package/dist/client.generated.js +149 -5
- package/dist/documents.generated.d.ts +27 -5
- package/dist/documents.generated.js +492 -39
- package/dist/index.d.ts +1 -0
- package/dist/shop-types.generated.d.ts +190 -13
- package/dist/shop.d.ts +1 -0
- package/dist/shop.generated.d.ts +13 -4
- package/dist/shop.generated.js +19 -1
- package/dist/shop.js +17 -15
- package/package.json +8 -4
- package/src/admin-types.generated.d.ts +10013 -0
- package/src/admin-types.generated.ts +979 -92
- package/src/admin.generated.d.ts +806 -0
- package/src/admin.generated.ts +117 -29
- package/src/admin.ts +2 -0
- package/src/client.generated.d.ts +249 -0
- package/src/client.generated.ts +173 -4
- package/src/documents.generated.d.ts +473 -0
- package/src/documents.generated.ts +505 -30
- package/src/error-utils.d.ts +25 -0
- package/src/hook-event-map.generated.d.ts +243 -0
- package/src/index.d.ts +22 -0
- package/src/index.ts +1 -0
- package/src/sdk-hook-subscription.generated.d.ts +29 -0
- package/src/sdk-plugin.generated.d.ts +38 -0
- package/src/sdk-types.generated.d.ts +56 -0
- package/src/shop-types.generated.d.ts +4786 -0
- package/src/shop-types.generated.ts +259 -13
- package/src/shop.generated.d.ts +213 -0
- package/src/shop.generated.ts +22 -5
- package/src/shop.ts +1 -0
- package/src/upload.d.ts +14 -0
package/dist/admin.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.
|
|
4
|
-
exports.ZoneCategory = exports.TransactionCategory = exports.TaxCategory = exports.SubscriptionCategory = exports.StockCategory = exports.ShippingCategory = void 0;
|
|
3
|
+
exports.ScheduledJobCategory = exports.RoleCategory = exports.PromotionCategory = exports.ProductCategory = exports.ProductVariantCategory = exports.ProductOptionCategory = exports.OptionCategory = exports.OptionGroupCategory = exports.PluginCategory = exports.ManageableCategory = exports.PaymentCategory = exports.OrderCategory = exports.OrderModificationCategory = exports.NoteCategory = exports.ModificationCategory = exports.DraftCategory = exports.CouponCategory = exports.OnboardingCategory = exports.MissionCategory = exports.MarketingIdentityCategory = exports.MarketingEventCategory = exports.MarketingAttributionCategory = exports.MarketCategory = exports.HookCategory = exports.HookDispatchCategory = exports.FulfillmentCategory = exports.FulfillmentRequestCategory = exports.FacetCategory = exports.DeploymentCategory = exports.CustomerCategory = exports.CustomerGroupCategory = exports.GroupCategory = exports.AddressCategory = exports.CountryCategory = exports.CollectionCategory = exports.ChatCategory = exports.ChannelCategory = exports.SettingsCategory = exports.AuthCategory = exports.AudienceSegmentCategory = exports.AudienceMembershipCategory = exports.AssetCategory = exports.AnalyticsGatewayCategory = exports.AdministratorCategory = exports.AcfCategory = exports.AcfSchemaCategory = exports.PublishCategory = exports.FieldDefinitionCategory = exports.EntryCategory = exports.AdminNamespace = void 0;
|
|
4
|
+
exports.ZoneCategory = exports.TransactionCategory = exports.TaxCategory = exports.SubscriptionCategory = exports.StockCategory = exports.ShippingCategory = exports.SellerCategory = exports.SearchCategory = void 0;
|
|
5
5
|
var admin_generated_1 = require("./admin.generated");
|
|
6
6
|
Object.defineProperty(exports, "AdminNamespace", { enumerable: true, get: function () { return admin_generated_1.AdminNamespace; } });
|
|
7
7
|
var admin_generated_2 = require("./admin.generated");
|
|
@@ -57,60 +57,64 @@ Object.defineProperty(exports, "HookDispatchCategory", { enumerable: true, get:
|
|
|
57
57
|
var admin_generated_27 = require("./admin.generated");
|
|
58
58
|
Object.defineProperty(exports, "HookCategory", { enumerable: true, get: function () { return admin_generated_27.HookCategory; } });
|
|
59
59
|
var admin_generated_28 = require("./admin.generated");
|
|
60
|
-
Object.defineProperty(exports, "
|
|
60
|
+
Object.defineProperty(exports, "MarketCategory", { enumerable: true, get: function () { return admin_generated_28.MarketCategory; } });
|
|
61
61
|
var admin_generated_29 = require("./admin.generated");
|
|
62
|
-
Object.defineProperty(exports, "
|
|
62
|
+
Object.defineProperty(exports, "MarketingAttributionCategory", { enumerable: true, get: function () { return admin_generated_29.MarketingAttributionCategory; } });
|
|
63
63
|
var admin_generated_30 = require("./admin.generated");
|
|
64
|
-
Object.defineProperty(exports, "
|
|
64
|
+
Object.defineProperty(exports, "MarketingEventCategory", { enumerable: true, get: function () { return admin_generated_30.MarketingEventCategory; } });
|
|
65
65
|
var admin_generated_31 = require("./admin.generated");
|
|
66
|
-
Object.defineProperty(exports, "
|
|
66
|
+
Object.defineProperty(exports, "MarketingIdentityCategory", { enumerable: true, get: function () { return admin_generated_31.MarketingIdentityCategory; } });
|
|
67
67
|
var admin_generated_32 = require("./admin.generated");
|
|
68
|
-
Object.defineProperty(exports, "
|
|
68
|
+
Object.defineProperty(exports, "MissionCategory", { enumerable: true, get: function () { return admin_generated_32.MissionCategory; } });
|
|
69
69
|
var admin_generated_33 = require("./admin.generated");
|
|
70
|
-
Object.defineProperty(exports, "
|
|
70
|
+
Object.defineProperty(exports, "OnboardingCategory", { enumerable: true, get: function () { return admin_generated_33.OnboardingCategory; } });
|
|
71
71
|
var admin_generated_34 = require("./admin.generated");
|
|
72
|
-
Object.defineProperty(exports, "
|
|
72
|
+
Object.defineProperty(exports, "CouponCategory", { enumerable: true, get: function () { return admin_generated_34.CouponCategory; } });
|
|
73
73
|
var admin_generated_35 = require("./admin.generated");
|
|
74
|
-
Object.defineProperty(exports, "
|
|
74
|
+
Object.defineProperty(exports, "DraftCategory", { enumerable: true, get: function () { return admin_generated_35.DraftCategory; } });
|
|
75
75
|
var admin_generated_36 = require("./admin.generated");
|
|
76
|
-
Object.defineProperty(exports, "
|
|
76
|
+
Object.defineProperty(exports, "ModificationCategory", { enumerable: true, get: function () { return admin_generated_36.ModificationCategory; } });
|
|
77
77
|
var admin_generated_37 = require("./admin.generated");
|
|
78
|
-
Object.defineProperty(exports, "
|
|
78
|
+
Object.defineProperty(exports, "NoteCategory", { enumerable: true, get: function () { return admin_generated_37.NoteCategory; } });
|
|
79
79
|
var admin_generated_38 = require("./admin.generated");
|
|
80
|
-
Object.defineProperty(exports, "
|
|
80
|
+
Object.defineProperty(exports, "OrderModificationCategory", { enumerable: true, get: function () { return admin_generated_38.OrderModificationCategory; } });
|
|
81
81
|
var admin_generated_39 = require("./admin.generated");
|
|
82
|
-
Object.defineProperty(exports, "
|
|
82
|
+
Object.defineProperty(exports, "OrderCategory", { enumerable: true, get: function () { return admin_generated_39.OrderCategory; } });
|
|
83
83
|
var admin_generated_40 = require("./admin.generated");
|
|
84
|
-
Object.defineProperty(exports, "
|
|
84
|
+
Object.defineProperty(exports, "PaymentCategory", { enumerable: true, get: function () { return admin_generated_40.PaymentCategory; } });
|
|
85
85
|
var admin_generated_41 = require("./admin.generated");
|
|
86
|
-
Object.defineProperty(exports, "
|
|
86
|
+
Object.defineProperty(exports, "ManageableCategory", { enumerable: true, get: function () { return admin_generated_41.ManageableCategory; } });
|
|
87
87
|
var admin_generated_42 = require("./admin.generated");
|
|
88
|
-
Object.defineProperty(exports, "
|
|
88
|
+
Object.defineProperty(exports, "PluginCategory", { enumerable: true, get: function () { return admin_generated_42.PluginCategory; } });
|
|
89
89
|
var admin_generated_43 = require("./admin.generated");
|
|
90
|
-
Object.defineProperty(exports, "
|
|
90
|
+
Object.defineProperty(exports, "OptionGroupCategory", { enumerable: true, get: function () { return admin_generated_43.OptionGroupCategory; } });
|
|
91
91
|
var admin_generated_44 = require("./admin.generated");
|
|
92
|
-
Object.defineProperty(exports, "
|
|
92
|
+
Object.defineProperty(exports, "OptionCategory", { enumerable: true, get: function () { return admin_generated_44.OptionCategory; } });
|
|
93
93
|
var admin_generated_45 = require("./admin.generated");
|
|
94
|
-
Object.defineProperty(exports, "
|
|
94
|
+
Object.defineProperty(exports, "ProductOptionCategory", { enumerable: true, get: function () { return admin_generated_45.ProductOptionCategory; } });
|
|
95
95
|
var admin_generated_46 = require("./admin.generated");
|
|
96
|
-
Object.defineProperty(exports, "
|
|
96
|
+
Object.defineProperty(exports, "ProductVariantCategory", { enumerable: true, get: function () { return admin_generated_46.ProductVariantCategory; } });
|
|
97
97
|
var admin_generated_47 = require("./admin.generated");
|
|
98
|
-
Object.defineProperty(exports, "
|
|
98
|
+
Object.defineProperty(exports, "ProductCategory", { enumerable: true, get: function () { return admin_generated_47.ProductCategory; } });
|
|
99
99
|
var admin_generated_48 = require("./admin.generated");
|
|
100
|
-
Object.defineProperty(exports, "
|
|
100
|
+
Object.defineProperty(exports, "PromotionCategory", { enumerable: true, get: function () { return admin_generated_48.PromotionCategory; } });
|
|
101
101
|
var admin_generated_49 = require("./admin.generated");
|
|
102
|
-
Object.defineProperty(exports, "
|
|
102
|
+
Object.defineProperty(exports, "RoleCategory", { enumerable: true, get: function () { return admin_generated_49.RoleCategory; } });
|
|
103
103
|
var admin_generated_50 = require("./admin.generated");
|
|
104
|
-
Object.defineProperty(exports, "
|
|
104
|
+
Object.defineProperty(exports, "ScheduledJobCategory", { enumerable: true, get: function () { return admin_generated_50.ScheduledJobCategory; } });
|
|
105
105
|
var admin_generated_51 = require("./admin.generated");
|
|
106
|
-
Object.defineProperty(exports, "
|
|
106
|
+
Object.defineProperty(exports, "SearchCategory", { enumerable: true, get: function () { return admin_generated_51.SearchCategory; } });
|
|
107
107
|
var admin_generated_52 = require("./admin.generated");
|
|
108
|
-
Object.defineProperty(exports, "
|
|
108
|
+
Object.defineProperty(exports, "SellerCategory", { enumerable: true, get: function () { return admin_generated_52.SellerCategory; } });
|
|
109
109
|
var admin_generated_53 = require("./admin.generated");
|
|
110
|
-
Object.defineProperty(exports, "
|
|
110
|
+
Object.defineProperty(exports, "ShippingCategory", { enumerable: true, get: function () { return admin_generated_53.ShippingCategory; } });
|
|
111
111
|
var admin_generated_54 = require("./admin.generated");
|
|
112
|
-
Object.defineProperty(exports, "
|
|
112
|
+
Object.defineProperty(exports, "StockCategory", { enumerable: true, get: function () { return admin_generated_54.StockCategory; } });
|
|
113
113
|
var admin_generated_55 = require("./admin.generated");
|
|
114
|
-
Object.defineProperty(exports, "
|
|
114
|
+
Object.defineProperty(exports, "SubscriptionCategory", { enumerable: true, get: function () { return admin_generated_55.SubscriptionCategory; } });
|
|
115
115
|
var admin_generated_56 = require("./admin.generated");
|
|
116
|
-
Object.defineProperty(exports, "
|
|
116
|
+
Object.defineProperty(exports, "TaxCategory", { enumerable: true, get: function () { return admin_generated_56.TaxCategory; } });
|
|
117
|
+
var admin_generated_57 = require("./admin.generated");
|
|
118
|
+
Object.defineProperty(exports, "TransactionCategory", { enumerable: true, get: function () { return admin_generated_57.TransactionCategory; } });
|
|
119
|
+
var admin_generated_58 = require("./admin.generated");
|
|
120
|
+
Object.defineProperty(exports, "ZoneCategory", { enumerable: true, get: function () { return admin_generated_58.ZoneCategory; } });
|
|
@@ -17,12 +17,16 @@ export interface ForgeCartAdminClientConfig {
|
|
|
17
17
|
adminSecret?: string;
|
|
18
18
|
uploadEndpoint?: string;
|
|
19
19
|
headers?: Record<string, string>;
|
|
20
|
+
currencyCode?: string;
|
|
21
|
+
languageCode?: string;
|
|
20
22
|
}
|
|
21
23
|
export interface ForgeCartShopClientConfig {
|
|
22
24
|
endpoint: string;
|
|
23
25
|
channelToken: string;
|
|
24
26
|
uploadEndpoint?: string;
|
|
25
27
|
headers?: Record<string, string>;
|
|
28
|
+
currencyCode?: string;
|
|
29
|
+
languageCode?: string;
|
|
26
30
|
}
|
|
27
31
|
export interface ForgeCartClientConfig {
|
|
28
32
|
endpoint: string;
|
|
@@ -30,6 +34,8 @@ export interface ForgeCartClientConfig {
|
|
|
30
34
|
adminSecret?: string;
|
|
31
35
|
uploadEndpoint?: string;
|
|
32
36
|
headers?: Record<string, string>;
|
|
37
|
+
currencyCode?: string;
|
|
38
|
+
languageCode?: string;
|
|
33
39
|
}
|
|
34
40
|
export declare class SDKLogger {
|
|
35
41
|
private readonly prefix;
|
|
@@ -88,13 +94,25 @@ export declare class BaseGraphQLClient {
|
|
|
88
94
|
private wsClientStale;
|
|
89
95
|
private authToken;
|
|
90
96
|
private transactionToken;
|
|
97
|
+
private currencyCode;
|
|
98
|
+
private languageCode;
|
|
91
99
|
private errorHandler;
|
|
92
|
-
|
|
100
|
+
private readonly persistSession;
|
|
101
|
+
private readonly tokenStorageKey;
|
|
102
|
+
constructor(endpoint: string, baseHeaders: Record<string, string>, uploadEndpoint?: string | undefined, options?: {
|
|
103
|
+
persistSession?: boolean;
|
|
104
|
+
currencyCode?: string;
|
|
105
|
+
languageCode?: string;
|
|
106
|
+
});
|
|
93
107
|
private getWsClient;
|
|
94
108
|
private getHeaders;
|
|
95
109
|
setAuthToken(token: string): void;
|
|
96
110
|
getAuthToken(): string | null;
|
|
97
111
|
clearAuthToken(): void;
|
|
112
|
+
setCurrencyCode(currencyCode: string): void;
|
|
113
|
+
clearCurrencyCode(): void;
|
|
114
|
+
setLanguageCode(languageCode: string): void;
|
|
115
|
+
clearLanguageCode(): void;
|
|
98
116
|
setTransactionToken(token: string): void;
|
|
99
117
|
clearTransactionToken(): void;
|
|
100
118
|
setErrorHandler(handler: ErrorHandler): void;
|
|
@@ -106,6 +124,8 @@ export declare class BaseGraphQLClient {
|
|
|
106
124
|
private getPerOperationExtensions;
|
|
107
125
|
private captureSessionToken;
|
|
108
126
|
private captureSessionTokenFromUpload;
|
|
127
|
+
private readPersistedToken;
|
|
128
|
+
private persistToken;
|
|
109
129
|
private containsFiles;
|
|
110
130
|
private resolveUploadEndpoint;
|
|
111
131
|
private disposeWsClient;
|
|
@@ -130,6 +150,10 @@ export declare class ForgeCartAdminClient {
|
|
|
130
150
|
setAuthToken(token: string): void;
|
|
131
151
|
getAuthToken(): string | null;
|
|
132
152
|
clearAuthToken(): void;
|
|
153
|
+
setCurrencyCode(currencyCode: string): void;
|
|
154
|
+
clearCurrencyCode(): void;
|
|
155
|
+
setLanguageCode(languageCode: string): void;
|
|
156
|
+
clearLanguageCode(): void;
|
|
133
157
|
setTransactionToken(token: string): void;
|
|
134
158
|
clearTransactionToken(): void;
|
|
135
159
|
setErrorHandler(handler: ErrorHandler): void;
|
|
@@ -171,9 +195,11 @@ export declare class ForgeCartAdminClient {
|
|
|
171
195
|
get fulfillment(): Admin.FulfillmentCategory;
|
|
172
196
|
get hookDispatch(): Admin.HookDispatchCategory;
|
|
173
197
|
get hook(): Admin.HookCategory;
|
|
198
|
+
get market(): Admin.MarketCategory;
|
|
174
199
|
get marketingAttribution(): Admin.MarketingAttributionCategory;
|
|
175
200
|
get marketingEvent(): Admin.MarketingEventCategory;
|
|
176
201
|
get marketingIdentity(): Admin.MarketingIdentityCategory;
|
|
202
|
+
get mission(): Admin.MissionCategory;
|
|
177
203
|
get onboarding(): Admin.OnboardingCategory;
|
|
178
204
|
get coupon(): Admin.CouponCategory;
|
|
179
205
|
get draft(): Admin.DraftCategory;
|
|
@@ -208,6 +234,10 @@ export declare class ForgeCartShopClient {
|
|
|
208
234
|
setAuthToken(token: string): void;
|
|
209
235
|
getAuthToken(): string | null;
|
|
210
236
|
clearAuthToken(): void;
|
|
237
|
+
setCurrencyCode(currencyCode: string): void;
|
|
238
|
+
clearCurrencyCode(): void;
|
|
239
|
+
setLanguageCode(languageCode: string): void;
|
|
240
|
+
clearLanguageCode(): void;
|
|
211
241
|
setTransactionToken(token: string): void;
|
|
212
242
|
clearTransactionToken(): void;
|
|
213
243
|
setErrorHandler(handler: ErrorHandler): void;
|
|
@@ -221,6 +251,7 @@ export declare class ForgeCartShopClient {
|
|
|
221
251
|
get acf(): Shop.AcfCategory;
|
|
222
252
|
get auth(): Shop.AuthCategory;
|
|
223
253
|
get cart(): Shop.CartCategory;
|
|
254
|
+
get channel(): Shop.ChannelCategory;
|
|
224
255
|
get checkout(): Shop.CheckoutCategory;
|
|
225
256
|
get collection(): Shop.CollectionCategory;
|
|
226
257
|
get customer(): Shop.CustomerCategory;
|
|
@@ -242,6 +273,10 @@ export declare class ForgeCartClient {
|
|
|
242
273
|
constructor(config: ForgeCartClientConfig);
|
|
243
274
|
setAuthToken(token: string): void;
|
|
244
275
|
clearAuthToken(): void;
|
|
276
|
+
setCurrencyCode(currencyCode: string): void;
|
|
277
|
+
clearCurrencyCode(): void;
|
|
278
|
+
setLanguageCode(languageCode: string): void;
|
|
279
|
+
clearLanguageCode(): void;
|
|
245
280
|
setTransactionToken(token: string): void;
|
|
246
281
|
clearTransactionToken(): void;
|
|
247
282
|
get admin(): ForgeCartAdminClient;
|
package/dist/client.generated.js
CHANGED
|
@@ -60,11 +60,29 @@ class BaseGraphQLClient {
|
|
|
60
60
|
wsClientStale = false;
|
|
61
61
|
authToken = null;
|
|
62
62
|
transactionToken = null;
|
|
63
|
+
currencyCode = null;
|
|
64
|
+
languageCode = null;
|
|
63
65
|
errorHandler = null;
|
|
64
|
-
|
|
66
|
+
persistSession;
|
|
67
|
+
tokenStorageKey;
|
|
68
|
+
constructor(endpoint, baseHeaders, uploadEndpoint, options) {
|
|
65
69
|
this.baseHeaders = baseHeaders;
|
|
66
70
|
this.uploadEndpoint = uploadEndpoint;
|
|
67
71
|
this.endpoint = endpoint.replace(/^http:/, "ws:").replace(/^https:/, "wss:");
|
|
72
|
+
// Cross-tab session continuity: each new tab or reload builds a fresh
|
|
73
|
+
// client instance, so without a shared store every one would mint a new
|
|
74
|
+
// anonymous session server-side — and be counted as a new active user.
|
|
75
|
+
// Persist the captured token in localStorage (shared across same-origin
|
|
76
|
+
// tabs), keyed per endpoint + channel so separate stores never collide.
|
|
77
|
+
// Opt out with `{ persistSession: false }` when the host app owns token
|
|
78
|
+
// storage (e.g. the admin dashboard).
|
|
79
|
+
this.persistSession = options?.persistSession ?? true;
|
|
80
|
+
this.currencyCode = options?.currencyCode ?? null;
|
|
81
|
+
this.languageCode = options?.languageCode ?? null;
|
|
82
|
+
this.tokenStorageKey = `forgecart:auth:${this.endpoint}:${this.baseHeaders["forgecart-token"] ?? ""}`;
|
|
83
|
+
if (this.persistSession) {
|
|
84
|
+
this.authToken = this.readPersistedToken();
|
|
85
|
+
}
|
|
68
86
|
}
|
|
69
87
|
getWsClient() {
|
|
70
88
|
if (this.wsClient && this.wsClientStale) {
|
|
@@ -93,12 +111,19 @@ class BaseGraphQLClient {
|
|
|
93
111
|
if (this.transactionToken) {
|
|
94
112
|
headers["forgecart-transaction-token"] = this.transactionToken;
|
|
95
113
|
}
|
|
114
|
+
if (this.currencyCode) {
|
|
115
|
+
headers["forgecart-currency"] = this.currencyCode;
|
|
116
|
+
}
|
|
117
|
+
if (this.languageCode) {
|
|
118
|
+
headers["forgecart-language"] = this.languageCode;
|
|
119
|
+
}
|
|
96
120
|
return headers;
|
|
97
121
|
}
|
|
98
122
|
setAuthToken(token) {
|
|
99
123
|
if (this.authToken === token)
|
|
100
124
|
return;
|
|
101
125
|
this.authToken = token;
|
|
126
|
+
this.persistToken(token);
|
|
102
127
|
this.disposeWsClient();
|
|
103
128
|
this.logger.info("Auth token set");
|
|
104
129
|
}
|
|
@@ -107,9 +132,41 @@ class BaseGraphQLClient {
|
|
|
107
132
|
}
|
|
108
133
|
clearAuthToken() {
|
|
109
134
|
this.authToken = null;
|
|
135
|
+
this.persistToken(null);
|
|
110
136
|
this.disposeWsClient();
|
|
111
137
|
this.logger.info("Auth token cleared");
|
|
112
138
|
}
|
|
139
|
+
// Currency/language preferences ride the WebSocket connection params,
|
|
140
|
+
// so changing one disposes the connection — the next request reconnects
|
|
141
|
+
// with the new forgecart-currency / forgecart-language headers.
|
|
142
|
+
setCurrencyCode(currencyCode) {
|
|
143
|
+
if (this.currencyCode === currencyCode)
|
|
144
|
+
return;
|
|
145
|
+
this.currencyCode = currencyCode;
|
|
146
|
+
this.disposeWsClient();
|
|
147
|
+
this.logger.info("Currency code set");
|
|
148
|
+
}
|
|
149
|
+
clearCurrencyCode() {
|
|
150
|
+
if (this.currencyCode === null)
|
|
151
|
+
return;
|
|
152
|
+
this.currencyCode = null;
|
|
153
|
+
this.disposeWsClient();
|
|
154
|
+
this.logger.info("Currency code cleared");
|
|
155
|
+
}
|
|
156
|
+
setLanguageCode(languageCode) {
|
|
157
|
+
if (this.languageCode === languageCode)
|
|
158
|
+
return;
|
|
159
|
+
this.languageCode = languageCode;
|
|
160
|
+
this.disposeWsClient();
|
|
161
|
+
this.logger.info("Language code set");
|
|
162
|
+
}
|
|
163
|
+
clearLanguageCode() {
|
|
164
|
+
if (this.languageCode === null)
|
|
165
|
+
return;
|
|
166
|
+
this.languageCode = null;
|
|
167
|
+
this.disposeWsClient();
|
|
168
|
+
this.logger.info("Language code cleared");
|
|
169
|
+
}
|
|
113
170
|
setTransactionToken(token) {
|
|
114
171
|
this.transactionToken = token;
|
|
115
172
|
this.logger.info("Transaction token set");
|
|
@@ -204,6 +261,7 @@ class BaseGraphQLClient {
|
|
|
204
261
|
const token = result.extensions["forgecart-auth-token"];
|
|
205
262
|
if (token && !this.authToken) {
|
|
206
263
|
this.authToken = token;
|
|
264
|
+
this.persistToken(token);
|
|
207
265
|
this.wsClientStale = true;
|
|
208
266
|
this.logger.info("Session token captured from extensions");
|
|
209
267
|
}
|
|
@@ -214,10 +272,39 @@ class BaseGraphQLClient {
|
|
|
214
272
|
const token = result.extensions["forgecart-auth-token"];
|
|
215
273
|
if (token && !this.authToken) {
|
|
216
274
|
this.authToken = token;
|
|
275
|
+
this.persistToken(token);
|
|
217
276
|
this.wsClientStale = true;
|
|
218
277
|
this.logger.info("Session token captured from upload response");
|
|
219
278
|
}
|
|
220
279
|
}
|
|
280
|
+
readPersistedToken() {
|
|
281
|
+
if (typeof localStorage === "undefined")
|
|
282
|
+
return null;
|
|
283
|
+
try {
|
|
284
|
+
return localStorage.getItem(this.tokenStorageKey);
|
|
285
|
+
}
|
|
286
|
+
catch {
|
|
287
|
+
// Storage can throw (Safari private mode, disabled cookies, quota).
|
|
288
|
+
// Falling back to an in-memory session keeps the SDK functional.
|
|
289
|
+
return null;
|
|
290
|
+
}
|
|
291
|
+
}
|
|
292
|
+
persistToken(token) {
|
|
293
|
+
if (!this.persistSession || typeof localStorage === "undefined")
|
|
294
|
+
return;
|
|
295
|
+
try {
|
|
296
|
+
if (token === null) {
|
|
297
|
+
localStorage.removeItem(this.tokenStorageKey);
|
|
298
|
+
}
|
|
299
|
+
else {
|
|
300
|
+
localStorage.setItem(this.tokenStorageKey, token);
|
|
301
|
+
}
|
|
302
|
+
}
|
|
303
|
+
catch {
|
|
304
|
+
// Persistence is best-effort; a storage failure must never break a
|
|
305
|
+
// request. The in-memory token still serves the current page.
|
|
306
|
+
}
|
|
307
|
+
}
|
|
221
308
|
containsFiles(obj) {
|
|
222
309
|
if (obj === null || obj === undefined)
|
|
223
310
|
return false;
|
|
@@ -251,6 +338,8 @@ class BaseGraphQLClient {
|
|
|
251
338
|
const forked = new BaseGraphQLClient(this.endpoint, this.baseHeaders, this.uploadEndpoint);
|
|
252
339
|
forked.authToken = this.authToken;
|
|
253
340
|
forked.transactionToken = transactionToken;
|
|
341
|
+
forked.currencyCode = this.currencyCode;
|
|
342
|
+
forked.languageCode = this.languageCode;
|
|
254
343
|
forked.wsClient = this.wsClient;
|
|
255
344
|
forked.ownsWsClient = false;
|
|
256
345
|
return forked;
|
|
@@ -295,7 +384,10 @@ class ForgeCartAdminClient {
|
|
|
295
384
|
if (config.adminSecret) {
|
|
296
385
|
headers['forgecart-secret'] = config.adminSecret;
|
|
297
386
|
}
|
|
298
|
-
this.client = new BaseGraphQLClient(config.endpoint, headers, config.uploadEndpoint
|
|
387
|
+
this.client = new BaseGraphQLClient(config.endpoint, headers, config.uploadEndpoint, {
|
|
388
|
+
currencyCode: config.currencyCode,
|
|
389
|
+
languageCode: config.languageCode,
|
|
390
|
+
});
|
|
299
391
|
this._namespace = new admin_generated_1.AdminNamespace(this.client);
|
|
300
392
|
}
|
|
301
393
|
setAuthToken(token) {
|
|
@@ -307,6 +399,18 @@ class ForgeCartAdminClient {
|
|
|
307
399
|
clearAuthToken() {
|
|
308
400
|
this.client.clearAuthToken();
|
|
309
401
|
}
|
|
402
|
+
setCurrencyCode(currencyCode) {
|
|
403
|
+
this.client.setCurrencyCode(currencyCode);
|
|
404
|
+
}
|
|
405
|
+
clearCurrencyCode() {
|
|
406
|
+
this.client.clearCurrencyCode();
|
|
407
|
+
}
|
|
408
|
+
setLanguageCode(languageCode) {
|
|
409
|
+
this.client.setLanguageCode(languageCode);
|
|
410
|
+
}
|
|
411
|
+
clearLanguageCode() {
|
|
412
|
+
this.client.clearLanguageCode();
|
|
413
|
+
}
|
|
310
414
|
setTransactionToken(token) {
|
|
311
415
|
this.client.setTransactionToken(token);
|
|
312
416
|
}
|
|
@@ -460,6 +564,9 @@ class ForgeCartAdminClient {
|
|
|
460
564
|
get hook() {
|
|
461
565
|
return this._namespace.hook;
|
|
462
566
|
}
|
|
567
|
+
get market() {
|
|
568
|
+
return this._namespace.market;
|
|
569
|
+
}
|
|
463
570
|
get marketingAttribution() {
|
|
464
571
|
return this._namespace.marketingAttribution;
|
|
465
572
|
}
|
|
@@ -469,6 +576,9 @@ class ForgeCartAdminClient {
|
|
|
469
576
|
get marketingIdentity() {
|
|
470
577
|
return this._namespace.marketingIdentity;
|
|
471
578
|
}
|
|
579
|
+
get mission() {
|
|
580
|
+
return this._namespace.mission;
|
|
581
|
+
}
|
|
472
582
|
get onboarding() {
|
|
473
583
|
return this._namespace.onboarding;
|
|
474
584
|
}
|
|
@@ -554,7 +664,10 @@ class ForgeCartShopClient {
|
|
|
554
664
|
_namespace;
|
|
555
665
|
constructor(config) {
|
|
556
666
|
const headers = { 'forgecart-token': config.channelToken, ...config.headers };
|
|
557
|
-
this.client = new BaseGraphQLClient(config.endpoint, headers, config.uploadEndpoint
|
|
667
|
+
this.client = new BaseGraphQLClient(config.endpoint, headers, config.uploadEndpoint, {
|
|
668
|
+
currencyCode: config.currencyCode,
|
|
669
|
+
languageCode: config.languageCode,
|
|
670
|
+
});
|
|
558
671
|
this._namespace = new shop_generated_1.ShopNamespace(this.client);
|
|
559
672
|
}
|
|
560
673
|
setAuthToken(token) {
|
|
@@ -566,6 +679,18 @@ class ForgeCartShopClient {
|
|
|
566
679
|
clearAuthToken() {
|
|
567
680
|
this.client.clearAuthToken();
|
|
568
681
|
}
|
|
682
|
+
setCurrencyCode(currencyCode) {
|
|
683
|
+
this.client.setCurrencyCode(currencyCode);
|
|
684
|
+
}
|
|
685
|
+
clearCurrencyCode() {
|
|
686
|
+
this.client.clearCurrencyCode();
|
|
687
|
+
}
|
|
688
|
+
setLanguageCode(languageCode) {
|
|
689
|
+
this.client.setLanguageCode(languageCode);
|
|
690
|
+
}
|
|
691
|
+
clearLanguageCode() {
|
|
692
|
+
this.client.clearLanguageCode();
|
|
693
|
+
}
|
|
569
694
|
setTransactionToken(token) {
|
|
570
695
|
this.client.setTransactionToken(token);
|
|
571
696
|
}
|
|
@@ -610,6 +735,9 @@ class ForgeCartShopClient {
|
|
|
610
735
|
get cart() {
|
|
611
736
|
return this._namespace.cart;
|
|
612
737
|
}
|
|
738
|
+
get channel() {
|
|
739
|
+
return this._namespace.channel;
|
|
740
|
+
}
|
|
613
741
|
get checkout() {
|
|
614
742
|
return this._namespace.checkout;
|
|
615
743
|
}
|
|
@@ -658,8 +786,8 @@ class ForgeCartClient {
|
|
|
658
786
|
_admin;
|
|
659
787
|
_shop;
|
|
660
788
|
constructor(config) {
|
|
661
|
-
this._admin = new ForgeCartAdminClient({ endpoint: config.endpoint + '/admin-api', channelToken: config.channelToken, adminSecret: config.adminSecret, uploadEndpoint: config.uploadEndpoint ? config.uploadEndpoint + '/admin-api' : undefined, headers: config.headers });
|
|
662
|
-
this._shop = new ForgeCartShopClient({ endpoint: config.endpoint + '/shop-api', channelToken: config.channelToken, uploadEndpoint: config.uploadEndpoint ? config.uploadEndpoint + '/shop-api' : undefined, headers: config.headers });
|
|
789
|
+
this._admin = new ForgeCartAdminClient({ endpoint: config.endpoint + '/admin-api', channelToken: config.channelToken, adminSecret: config.adminSecret, uploadEndpoint: config.uploadEndpoint ? config.uploadEndpoint + '/admin-api' : undefined, headers: config.headers, currencyCode: config.currencyCode, languageCode: config.languageCode });
|
|
790
|
+
this._shop = new ForgeCartShopClient({ endpoint: config.endpoint + '/shop-api', channelToken: config.channelToken, uploadEndpoint: config.uploadEndpoint ? config.uploadEndpoint + '/shop-api' : undefined, headers: config.headers, currencyCode: config.currencyCode, languageCode: config.languageCode });
|
|
663
791
|
this._admin.setShopPeer(this._shop);
|
|
664
792
|
}
|
|
665
793
|
setAuthToken(token) {
|
|
@@ -670,6 +798,22 @@ class ForgeCartClient {
|
|
|
670
798
|
this._admin.clearAuthToken();
|
|
671
799
|
this._shop.clearAuthToken();
|
|
672
800
|
}
|
|
801
|
+
setCurrencyCode(currencyCode) {
|
|
802
|
+
this._admin.setCurrencyCode(currencyCode);
|
|
803
|
+
this._shop.setCurrencyCode(currencyCode);
|
|
804
|
+
}
|
|
805
|
+
clearCurrencyCode() {
|
|
806
|
+
this._admin.clearCurrencyCode();
|
|
807
|
+
this._shop.clearCurrencyCode();
|
|
808
|
+
}
|
|
809
|
+
setLanguageCode(languageCode) {
|
|
810
|
+
this._admin.setLanguageCode(languageCode);
|
|
811
|
+
this._shop.setLanguageCode(languageCode);
|
|
812
|
+
}
|
|
813
|
+
clearLanguageCode() {
|
|
814
|
+
this._admin.clearLanguageCode();
|
|
815
|
+
this._shop.clearLanguageCode();
|
|
816
|
+
}
|
|
673
817
|
setTransactionToken(token) {
|
|
674
818
|
this._admin.setTransactionToken(token);
|
|
675
819
|
this._shop.setTransactionToken(token);
|