ultracart_rest_api_v2_typescript 4.1.152 → 4.1.153

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.
@@ -1015,6 +1015,12 @@ src/models/SfvbFilesResponse.ts
1015
1015
  src/models/SfvbLibraryEntry.ts
1016
1016
  src/models/SfvbLibraryFacet.ts
1017
1017
  src/models/SfvbLibraryResponse.ts
1018
+ src/models/SfvbPageAttribute.ts
1019
+ src/models/SfvbPageAttributeUpdate.ts
1020
+ src/models/SfvbPageAttributeUpdateRequest.ts
1021
+ src/models/SfvbPageMultimedia.ts
1022
+ src/models/SfvbPageMultimediaRequest.ts
1023
+ src/models/SfvbPageResponse.ts
1018
1024
  src/models/SfvbPreviewSessionRequest.ts
1019
1025
  src/models/SfvbPreviewSessionResponse.ts
1020
1026
  src/models/SfvbPreviewUrlResponse.ts
package/README.md CHANGED
@@ -1,12 +1,12 @@
1
1
  # UltraCart Typescript SDK
2
- ## ultracart_rest_api_v2_typescript@4.1.152
2
+ ## ultracart_rest_api_v2_typescript@4.1.153
3
3
 
4
4
  Every API method call has a sample for every language SDK. See https://github.com/UltraCart/sdk_samples
5
5
 
6
6
  Installation
7
7
 
8
8
  ```
9
- npm install ultracart_rest_api_v2_typescript@4.1.152 --save
9
+ npm install ultracart_rest_api_v2_typescript@4.1.153 --save
10
10
  ```
11
11
 
12
12
  ```typescript
@@ -85,6 +85,7 @@ Not every change is committed to every SDK.
85
85
 
86
86
  | Version | Date | Comments |
87
87
  | --: | :-: | --- |
88
+ | 4.1.153 | 09/14/2026 | sfvb internal testing |
88
89
  | 4.1.152 | 09/09/2026 | sfvb - internal testing |
89
90
  | 4.1.151 | 09/04/2026 | conversations - added ai agent capabilities |
90
91
  | 4.1.150 | 09/04/2026 | conversations - add ai agent capabilities |
@@ -10,7 +10,7 @@
10
10
  * Do not edit the class manually.
11
11
  */
12
12
  import * as runtime from '../runtime';
13
- import { SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbLibraryEntry, SfvbLibraryResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbStorefrontsResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffersResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
13
+ import { SfvbCompileRequest, SfvbCompileResponse, SfvbContainerResponse, SfvbContainerRevertRequest, SfvbContainerVersion, SfvbContainerVersionsResponse, SfvbContainerWriteRequest, SfvbElementSchemaResponse, SfvbElementsResponse, SfvbFileContentResponse, SfvbFileRevertRequest, SfvbFileSearchRequest, SfvbFileSearchResponse, SfvbFileUploadRequest, SfvbFileUploadUrlResponse, SfvbFileVersionsResponse, SfvbFileWriteRequest, SfvbFileWriteResponse, SfvbFilesResponse, SfvbLibraryEntry, SfvbLibraryResponse, SfvbPageAttributeUpdateRequest, SfvbPageMultimediaRequest, SfvbPageResponse, SfvbPreviewSessionRequest, SfvbPreviewSessionResponse, SfvbPreviewUrlResponse, SfvbRenderRequest, SfvbRenderResponse, SfvbStorefrontsResponse, SfvbTheme, SfvbThemeAttributeUpdateRequest, SfvbThemeAttributesResponse, SfvbThemeDuplicateRequest, SfvbThemeJobResponse, SfvbThemesResponse, SfvbUpsellOffersResponse, SfvbValidateRequest, SfvbValidationResponse, SfvbVelocityValidateRequest, SfvbVersionResponse, SfvbWhoamiResponse, SfvbWidgetIdsResponse } from '../models';
14
14
  export interface CompileSfvbCjsonRequest {
15
15
  compileRequest: SfvbCompileRequest;
16
16
  }
@@ -22,6 +22,12 @@ export interface DeleteSfvbFileRequest {
22
22
  ifMatch: string;
23
23
  path?: string;
24
24
  }
25
+ export interface DeleteSfvbPageMultimediaRequest {
26
+ storefrontOid: number;
27
+ path: string;
28
+ code?: string;
29
+ _default?: boolean;
30
+ }
25
31
  export interface DeleteSfvbPreviewSessionRequest {
26
32
  storefrontOid: number;
27
33
  previewSessionId: string;
@@ -67,6 +73,10 @@ export interface GetSfvbLibraryEntryRequest {
67
73
  storefrontOid: number;
68
74
  libraryOid: number;
69
75
  }
76
+ export interface GetSfvbPageRequest {
77
+ storefrontOid: number;
78
+ path: string;
79
+ }
70
80
  export interface GetSfvbPreviewUrlRequest {
71
81
  storefrontOid: number;
72
82
  previewSessionId: string;
@@ -125,6 +135,16 @@ export interface PutSfvbFileContentRequest {
125
135
  fileWriteRequest: SfvbFileWriteRequest;
126
136
  path?: string;
127
137
  }
138
+ export interface PutSfvbPageAttributesRequest {
139
+ storefrontOid: number;
140
+ path: string;
141
+ pageAttributeUpdateRequest: SfvbPageAttributeUpdateRequest;
142
+ }
143
+ export interface PutSfvbPageMultimediaRequest {
144
+ storefrontOid: number;
145
+ path: string;
146
+ pageMultimediaRequest: SfvbPageMultimediaRequest;
147
+ }
128
148
  export interface PutSfvbPreviewSessionRequest {
129
149
  storefrontOid: number;
130
150
  previewSessionId: string;
@@ -233,6 +253,23 @@ export interface SfvbApiInterface {
233
253
  * Delete a storefront file
234
254
  */
235
255
  deleteSfvbFile(requestParameters: DeleteSfvbFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
256
+ /**
257
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
258
+ * @summary Detach an image from a page
259
+ * @param {number} storefrontOid
260
+ * @param {string} path Page path, for example /catalog/dispensers/
261
+ * @param {string} [code] Image code to detach
262
+ * @param {boolean} [_default] True to detach the default image
263
+ * @param {*} [options] Override http request option.
264
+ * @throws {RequiredError}
265
+ * @memberof SfvbApiInterface
266
+ */
267
+ deleteSfvbPageMultimediaRaw(requestParameters: DeleteSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
268
+ /**
269
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
270
+ * Detach an image from a page
271
+ */
272
+ deleteSfvbPageMultimedia(requestParameters: DeleteSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
236
273
  /**
237
274
  * Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
238
275
  * @summary Delete a preview session
@@ -386,6 +423,21 @@ export interface SfvbApiInterface {
386
423
  * Read one library entry including its CJSON
387
424
  */
388
425
  getSfvbLibraryEntry(requestParameters: GetSfvbLibraryEntryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbLibraryEntry>;
426
+ /**
427
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
428
+ * @summary Read a page\'s attributes and images
429
+ * @param {number} storefrontOid
430
+ * @param {string} path Page path, for example /catalog/dispensers/
431
+ * @param {*} [options] Override http request option.
432
+ * @throws {RequiredError}
433
+ * @memberof SfvbApiInterface
434
+ */
435
+ getSfvbPageRaw(requestParameters: GetSfvbPageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
436
+ /**
437
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
438
+ * Read a page\'s attributes and images
439
+ */
440
+ getSfvbPage(requestParameters: GetSfvbPageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
389
441
  /**
390
442
  * Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
391
443
  * @summary URL that renders a preview session
@@ -625,6 +677,38 @@ export interface SfvbApiInterface {
625
677
  * Write a storefront file
626
678
  */
627
679
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
680
+ /**
681
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
682
+ * @summary Change a page\'s attributes
683
+ * @param {number} storefrontOid
684
+ * @param {string} path Page path, for example /catalog/dispensers/
685
+ * @param {SfvbPageAttributeUpdateRequest} pageAttributeUpdateRequest Attributes to change
686
+ * @param {*} [options] Override http request option.
687
+ * @throws {RequiredError}
688
+ * @memberof SfvbApiInterface
689
+ */
690
+ putSfvbPageAttributesRaw(requestParameters: PutSfvbPageAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
691
+ /**
692
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
693
+ * Change a page\'s attributes
694
+ */
695
+ putSfvbPageAttributes(requestParameters: PutSfvbPageAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
696
+ /**
697
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
698
+ * @summary Attach an image to a page
699
+ * @param {number} storefrontOid
700
+ * @param {string} path Page path, for example /catalog/dispensers/
701
+ * @param {SfvbPageMultimediaRequest} pageMultimediaRequest Image to attach
702
+ * @param {*} [options] Override http request option.
703
+ * @throws {RequiredError}
704
+ * @memberof SfvbApiInterface
705
+ */
706
+ putSfvbPageMultimediaRaw(requestParameters: PutSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
707
+ /**
708
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
709
+ * Attach an image to a page
710
+ */
711
+ putSfvbPageMultimedia(requestParameters: PutSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
628
712
  /**
629
713
  * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
630
714
  * @summary Push containers into a preview session
@@ -838,6 +922,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
838
922
  * Delete a storefront file
839
923
  */
840
924
  deleteSfvbFile(requestParameters: DeleteSfvbFileRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<void>;
925
+ /**
926
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
927
+ * Detach an image from a page
928
+ */
929
+ deleteSfvbPageMultimediaRaw(requestParameters: DeleteSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
930
+ /**
931
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
932
+ * Detach an image from a page
933
+ */
934
+ deleteSfvbPageMultimedia(requestParameters: DeleteSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
841
935
  /**
842
936
  * Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
843
937
  * Delete a preview session
@@ -934,6 +1028,16 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
934
1028
  * Read one library entry including its CJSON
935
1029
  */
936
1030
  getSfvbLibraryEntry(requestParameters: GetSfvbLibraryEntryRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbLibraryEntry>;
1031
+ /**
1032
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
1033
+ * Read a page\'s attributes and images
1034
+ */
1035
+ getSfvbPageRaw(requestParameters: GetSfvbPageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
1036
+ /**
1037
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
1038
+ * Read a page\'s attributes and images
1039
+ */
1040
+ getSfvbPage(requestParameters: GetSfvbPageRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
937
1041
  /**
938
1042
  * Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
939
1043
  * URL that renders a preview session
@@ -1088,6 +1192,26 @@ export declare class SfvbApi extends runtime.BaseAPI implements SfvbApiInterface
1088
1192
  * Write a storefront file
1089
1193
  */
1090
1194
  putSfvbFileContent(requestParameters: PutSfvbFileContentRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbFileWriteResponse>;
1195
+ /**
1196
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
1197
+ * Change a page\'s attributes
1198
+ */
1199
+ putSfvbPageAttributesRaw(requestParameters: PutSfvbPageAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
1200
+ /**
1201
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
1202
+ * Change a page\'s attributes
1203
+ */
1204
+ putSfvbPageAttributes(requestParameters: PutSfvbPageAttributesRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
1205
+ /**
1206
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
1207
+ * Attach an image to a page
1208
+ */
1209
+ putSfvbPageMultimediaRaw(requestParameters: PutSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<runtime.ApiResponse<SfvbPageResponse>>;
1210
+ /**
1211
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
1212
+ * Attach an image to a page
1213
+ */
1214
+ putSfvbPageMultimedia(requestParameters: PutSfvbPageMultimediaRequest, initOverrides?: RequestInit | runtime.InitOverrideFunction): Promise<SfvbPageResponse>;
1091
1215
  /**
1092
1216
  * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1093
1217
  * Push containers into a preview session
@@ -261,6 +261,77 @@ var SfvbApi = /** @class */ (function (_super) {
261
261
  });
262
262
  });
263
263
  };
264
+ /**
265
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
266
+ * Detach an image from a page
267
+ */
268
+ SfvbApi.prototype.deleteSfvbPageMultimediaRaw = function (requestParameters, initOverrides) {
269
+ return __awaiter(this, void 0, void 0, function () {
270
+ var queryParameters, headerParameters, _a, _b, response;
271
+ return __generator(this, function (_c) {
272
+ switch (_c.label) {
273
+ case 0:
274
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
275
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling deleteSfvbPageMultimedia.');
276
+ }
277
+ if (requestParameters.path === null || requestParameters.path === undefined) {
278
+ throw new runtime.RequiredError('path', 'Required parameter requestParameters.path was null or undefined when calling deleteSfvbPageMultimedia.');
279
+ }
280
+ queryParameters = {};
281
+ if (requestParameters.path !== undefined) {
282
+ queryParameters['path'] = requestParameters.path;
283
+ }
284
+ if (requestParameters.code !== undefined) {
285
+ queryParameters['code'] = requestParameters.code;
286
+ }
287
+ if (requestParameters._default !== undefined) {
288
+ queryParameters['default'] = requestParameters._default;
289
+ }
290
+ headerParameters = {};
291
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
292
+ // oauth required
293
+ _a = headerParameters;
294
+ _b = "Authorization";
295
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
296
+ case 1:
297
+ // oauth required
298
+ _a[_b] = _c.sent();
299
+ _c.label = 2;
300
+ case 2:
301
+ if (this.configuration && this.configuration.apiKey) {
302
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
303
+ }
304
+ return [4 /*yield*/, this.request({
305
+ path: "/sfvb/storefronts/{storefront_oid}/pages/multimedia".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
306
+ method: 'DELETE',
307
+ headers: headerParameters,
308
+ query: queryParameters,
309
+ }, initOverrides)];
310
+ case 3:
311
+ response = _c.sent();
312
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbPageResponseFromJSON)(jsonValue); })];
313
+ }
314
+ });
315
+ });
316
+ };
317
+ /**
318
+ * Name exactly one of code or default. Removes the page\'s copy of the image; the source file in the page folder is left alone. Always needs sfvb_publish.
319
+ * Detach an image from a page
320
+ */
321
+ SfvbApi.prototype.deleteSfvbPageMultimedia = function (requestParameters, initOverrides) {
322
+ return __awaiter(this, void 0, void 0, function () {
323
+ var response;
324
+ return __generator(this, function (_a) {
325
+ switch (_a.label) {
326
+ case 0: return [4 /*yield*/, this.deleteSfvbPageMultimediaRaw(requestParameters, initOverrides)];
327
+ case 1:
328
+ response = _a.sent();
329
+ return [4 /*yield*/, response.value()];
330
+ case 2: return [2 /*return*/, _a.sent()];
331
+ }
332
+ });
333
+ });
334
+ };
264
335
  /**
265
336
  * Releases the session before its eight hour expiry. Without this the only way to free one is to wait, which is a poor answer for a tool that may open a dozen in an afternoon.
266
337
  * Delete a preview session
@@ -892,6 +963,71 @@ var SfvbApi = /** @class */ (function (_super) {
892
963
  });
893
964
  });
894
965
  };
966
+ /**
967
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
968
+ * Read a page\'s attributes and images
969
+ */
970
+ SfvbApi.prototype.getSfvbPageRaw = function (requestParameters, initOverrides) {
971
+ return __awaiter(this, void 0, void 0, function () {
972
+ var queryParameters, headerParameters, _a, _b, response;
973
+ return __generator(this, function (_c) {
974
+ switch (_c.label) {
975
+ case 0:
976
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
977
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling getSfvbPage.');
978
+ }
979
+ if (requestParameters.path === null || requestParameters.path === undefined) {
980
+ throw new runtime.RequiredError('path', 'Required parameter requestParameters.path was null or undefined when calling getSfvbPage.');
981
+ }
982
+ queryParameters = {};
983
+ if (requestParameters.path !== undefined) {
984
+ queryParameters['path'] = requestParameters.path;
985
+ }
986
+ headerParameters = {};
987
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
988
+ // oauth required
989
+ _a = headerParameters;
990
+ _b = "Authorization";
991
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
992
+ case 1:
993
+ // oauth required
994
+ _a[_b] = _c.sent();
995
+ _c.label = 2;
996
+ case 2:
997
+ if (this.configuration && this.configuration.apiKey) {
998
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
999
+ }
1000
+ return [4 /*yield*/, this.request({
1001
+ path: "/sfvb/storefronts/{storefront_oid}/pages".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
1002
+ method: 'GET',
1003
+ headers: headerParameters,
1004
+ query: queryParameters,
1005
+ }, initOverrides)];
1006
+ case 3:
1007
+ response = _c.sent();
1008
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbPageResponseFromJSON)(jsonValue); })];
1009
+ }
1010
+ });
1011
+ });
1012
+ };
1013
+ /**
1014
+ * What the pageattribute and pageimage elements render for this page. These are not in any file, which is why a page folder can be empty and its elements still render something. Attributes and image codes a template declares but nothing has set are included, so the response describes what the page can show rather than only what has been saved.
1015
+ * Read a page\'s attributes and images
1016
+ */
1017
+ SfvbApi.prototype.getSfvbPage = function (requestParameters, initOverrides) {
1018
+ return __awaiter(this, void 0, void 0, function () {
1019
+ var response;
1020
+ return __generator(this, function (_a) {
1021
+ switch (_a.label) {
1022
+ case 0: return [4 /*yield*/, this.getSfvbPageRaw(requestParameters, initOverrides)];
1023
+ case 1:
1024
+ response = _a.sent();
1025
+ return [4 /*yield*/, response.value()];
1026
+ case 2: return [2 /*return*/, _a.sent()];
1027
+ }
1028
+ });
1029
+ });
1030
+ };
895
1031
  /**
896
1032
  * Refuses a session that does not exist, so a URL you receive is for a session that was really there. expires_in_seconds is the time actually remaining, not the configured lifetime. Needs a token that resolves to a user, because a preview session belongs to the person who created it.
897
1033
  * URL that renders a preview session
@@ -1894,6 +2030,146 @@ var SfvbApi = /** @class */ (function (_super) {
1894
2030
  });
1895
2031
  });
1896
2032
  };
2033
+ /**
2034
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
2035
+ * Change a page\'s attributes
2036
+ */
2037
+ SfvbApi.prototype.putSfvbPageAttributesRaw = function (requestParameters, initOverrides) {
2038
+ return __awaiter(this, void 0, void 0, function () {
2039
+ var queryParameters, headerParameters, _a, _b, response;
2040
+ return __generator(this, function (_c) {
2041
+ switch (_c.label) {
2042
+ case 0:
2043
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
2044
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling putSfvbPageAttributes.');
2045
+ }
2046
+ if (requestParameters.path === null || requestParameters.path === undefined) {
2047
+ throw new runtime.RequiredError('path', 'Required parameter requestParameters.path was null or undefined when calling putSfvbPageAttributes.');
2048
+ }
2049
+ if (requestParameters.pageAttributeUpdateRequest === null || requestParameters.pageAttributeUpdateRequest === undefined) {
2050
+ throw new runtime.RequiredError('pageAttributeUpdateRequest', 'Required parameter requestParameters.pageAttributeUpdateRequest was null or undefined when calling putSfvbPageAttributes.');
2051
+ }
2052
+ queryParameters = {};
2053
+ if (requestParameters.path !== undefined) {
2054
+ queryParameters['path'] = requestParameters.path;
2055
+ }
2056
+ headerParameters = {};
2057
+ headerParameters['Content-Type'] = 'application/json';
2058
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
2059
+ // oauth required
2060
+ _a = headerParameters;
2061
+ _b = "Authorization";
2062
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
2063
+ case 1:
2064
+ // oauth required
2065
+ _a[_b] = _c.sent();
2066
+ _c.label = 2;
2067
+ case 2:
2068
+ if (this.configuration && this.configuration.apiKey) {
2069
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
2070
+ }
2071
+ return [4 /*yield*/, this.request({
2072
+ path: "/sfvb/storefronts/{storefront_oid}/pages/attributes".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
2073
+ method: 'PUT',
2074
+ headers: headerParameters,
2075
+ query: queryParameters,
2076
+ body: (0, models_1.SfvbPageAttributeUpdateRequestToJSON)(requestParameters.pageAttributeUpdateRequest),
2077
+ }, initOverrides)];
2078
+ case 3:
2079
+ response = _c.sent();
2080
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbPageResponseFromJSON)(jsonValue); })];
2081
+ }
2082
+ });
2083
+ });
2084
+ };
2085
+ /**
2086
+ * A partial update. Only the attributes you name are changed. Every entry is checked before any is written. List, slider, item set, page collection and video list attributes are refused - edit those in the page editor. Always needs sfvb_publish, because a page\'s attributes are shared by every theme and there is no dormant copy to change instead.
2087
+ * Change a page\'s attributes
2088
+ */
2089
+ SfvbApi.prototype.putSfvbPageAttributes = function (requestParameters, initOverrides) {
2090
+ return __awaiter(this, void 0, void 0, function () {
2091
+ var response;
2092
+ return __generator(this, function (_a) {
2093
+ switch (_a.label) {
2094
+ case 0: return [4 /*yield*/, this.putSfvbPageAttributesRaw(requestParameters, initOverrides)];
2095
+ case 1:
2096
+ response = _a.sent();
2097
+ return [4 /*yield*/, response.value()];
2098
+ case 2: return [2 /*return*/, _a.sent()];
2099
+ }
2100
+ });
2101
+ });
2102
+ };
2103
+ /**
2104
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
2105
+ * Attach an image to a page
2106
+ */
2107
+ SfvbApi.prototype.putSfvbPageMultimediaRaw = function (requestParameters, initOverrides) {
2108
+ return __awaiter(this, void 0, void 0, function () {
2109
+ var queryParameters, headerParameters, _a, _b, response;
2110
+ return __generator(this, function (_c) {
2111
+ switch (_c.label) {
2112
+ case 0:
2113
+ if (requestParameters.storefrontOid === null || requestParameters.storefrontOid === undefined) {
2114
+ throw new runtime.RequiredError('storefrontOid', 'Required parameter requestParameters.storefrontOid was null or undefined when calling putSfvbPageMultimedia.');
2115
+ }
2116
+ if (requestParameters.path === null || requestParameters.path === undefined) {
2117
+ throw new runtime.RequiredError('path', 'Required parameter requestParameters.path was null or undefined when calling putSfvbPageMultimedia.');
2118
+ }
2119
+ if (requestParameters.pageMultimediaRequest === null || requestParameters.pageMultimediaRequest === undefined) {
2120
+ throw new runtime.RequiredError('pageMultimediaRequest', 'Required parameter requestParameters.pageMultimediaRequest was null or undefined when calling putSfvbPageMultimedia.');
2121
+ }
2122
+ queryParameters = {};
2123
+ if (requestParameters.path !== undefined) {
2124
+ queryParameters['path'] = requestParameters.path;
2125
+ }
2126
+ headerParameters = {};
2127
+ headerParameters['Content-Type'] = 'application/json';
2128
+ if (!(this.configuration && this.configuration.accessToken)) return [3 /*break*/, 2];
2129
+ // oauth required
2130
+ _a = headerParameters;
2131
+ _b = "Authorization";
2132
+ return [4 /*yield*/, this.configuration.accessToken("ultraCartOauth", [])];
2133
+ case 1:
2134
+ // oauth required
2135
+ _a[_b] = _c.sent();
2136
+ _c.label = 2;
2137
+ case 2:
2138
+ if (this.configuration && this.configuration.apiKey) {
2139
+ headerParameters["x-ultracart-simple-key"] = this.configuration.apiKey("x-ultracart-simple-key"); // ultraCartSimpleApiKey authentication
2140
+ }
2141
+ return [4 /*yield*/, this.request({
2142
+ path: "/sfvb/storefronts/{storefront_oid}/pages/multimedia".replace("{".concat("storefront_oid", "}"), encodeURIComponent(String(requestParameters.storefrontOid))),
2143
+ method: 'PUT',
2144
+ headers: headerParameters,
2145
+ query: queryParameters,
2146
+ body: (0, models_1.SfvbPageMultimediaRequestToJSON)(requestParameters.pageMultimediaRequest),
2147
+ }, initOverrides)];
2148
+ case 3:
2149
+ response = _c.sent();
2150
+ return [2 /*return*/, new runtime.JSONApiResponse(response, function (jsonValue) { return (0, models_1.SfvbPageResponseFromJSON)(jsonValue); })];
2151
+ }
2152
+ });
2153
+ });
2154
+ };
2155
+ /**
2156
+ * Upload the image with files/upload to the page path followed by a filename first, then name that filename here as either the default image or an image code. The default image is what a pageimage element with no pageImageCode renders, and what a subgroup tile shows. Replaces whatever that slot held. Always needs sfvb_publish.
2157
+ * Attach an image to a page
2158
+ */
2159
+ SfvbApi.prototype.putSfvbPageMultimedia = function (requestParameters, initOverrides) {
2160
+ return __awaiter(this, void 0, void 0, function () {
2161
+ var response;
2162
+ return __generator(this, function (_a) {
2163
+ switch (_a.label) {
2164
+ case 0: return [4 /*yield*/, this.putSfvbPageMultimediaRaw(requestParameters, initOverrides)];
2165
+ case 1:
2166
+ response = _a.sent();
2167
+ return [4 /*yield*/, response.value()];
2168
+ case 2: return [2 /*return*/, _a.sent()];
2169
+ }
2170
+ });
2171
+ });
2172
+ };
1897
2173
  /**
1898
2174
  * Stores compiled containers against a session created by createSfvbPreviewSession. Replaces whatever the session held. The session must exist - this does not create one, so a deleted, expired or never issued id is a 404 rather than a new session. Nothing durable is written. Requires a token that resolves to a user, so use the device authorization flow.
1899
2175
  * Push containers into a preview session
@@ -0,0 +1,96 @@
1
+ /**
2
+ * UltraCart Rest API V2
3
+ * UltraCart REST API Version 2
4
+ *
5
+ * The version of the OpenAPI document: 2.0.0
6
+ * Contact: support@ultracart.com
7
+ *
8
+ * NOTE: This class is auto generated by OpenAPI Generator (https://openapi-generator.tech).
9
+ * https://openapi-generator.tech
10
+ * Do not edit the class manually.
11
+ */
12
+ /**
13
+ *
14
+ * @export
15
+ * @interface SfvbPageAttribute
16
+ */
17
+ export interface SfvbPageAttribute {
18
+ /**
19
+ * True when the active theme marks this attribute as on its way out. Prefer not to build on it.
20
+ * @type {boolean}
21
+ * @memberof SfvbPageAttribute
22
+ */
23
+ deprecated?: boolean;
24
+ /**
25
+ * Attribute name, as the template's uc page-attribute directive spells it. Compare case insensitively. This is the value pageAttributeName refers to.
26
+ * @type {string}
27
+ * @memberof SfvbPageAttribute
28
+ */
29
+ name?: string;
30
+ /**
31
+ * What kind of attribute this is, taken from the template that declares it rather than from the stored row. orphan means no template declares it. reserved covers the page SEO fields.
32
+ * @type {string}
33
+ * @memberof SfvbPageAttribute
34
+ */
35
+ type?: SfvbPageAttributeTypeEnum;
36
+ /**
37
+ * True when no template references this name. Writing such a name is allowed, but if you did not mean to create one this is a misspelling and nothing on the page will show it.
38
+ * @type {boolean}
39
+ * @memberof SfvbPageAttribute
40
+ */
41
+ undeclared?: boolean;
42
+ /**
43
+ * The other themes that declare this attribute, when the active theme does not.
44
+ * @type {string}
45
+ * @memberof SfvbPageAttribute
46
+ */
47
+ used_by?: string;
48
+ /**
49
+ * True when a template in the active theme declares this attribute.
50
+ * @type {boolean}
51
+ * @memberof SfvbPageAttribute
52
+ */
53
+ used_by_current_theme?: boolean;
54
+ /**
55
+ * The stored value. Empty when a template declares the attribute and nothing has set it.
56
+ * @type {string}
57
+ * @memberof SfvbPageAttribute
58
+ */
59
+ value?: string;
60
+ /**
61
+ * True when this API will change the value. List, slider, item set, page collection and video list values are structured documents carrying their own translation references and derived data, so they are shown here but must be edited in the page editor.
62
+ * @type {boolean}
63
+ * @memberof SfvbPageAttribute
64
+ */
65
+ writable?: boolean;
66
+ }
67
+ /**
68
+ * @export
69
+ */
70
+ export declare const SfvbPageAttributeTypeEnum: {
71
+ readonly String: "string";
72
+ readonly Color: "color";
73
+ readonly Rgba: "rgba";
74
+ readonly Boolean: "boolean";
75
+ readonly Integer: "integer";
76
+ readonly Html: "html";
77
+ readonly Orphan: "orphan";
78
+ readonly Multiline: "multiline";
79
+ readonly Reserved: "reserved";
80
+ readonly Itemset: "itemset";
81
+ readonly Slider: "slider";
82
+ readonly Simplelist: "simplelist";
83
+ readonly Definitionlist: "definitionlist";
84
+ readonly Pagecollection: "pagecollection";
85
+ readonly Font: "font";
86
+ readonly Videolist: "videolist";
87
+ readonly Mailinglist: "mailinglist";
88
+ };
89
+ export type SfvbPageAttributeTypeEnum = typeof SfvbPageAttributeTypeEnum[keyof typeof SfvbPageAttributeTypeEnum];
90
+ /**
91
+ * Check if a given object implements the SfvbPageAttribute interface.
92
+ */
93
+ export declare function instanceOfSfvbPageAttribute(value: object): boolean;
94
+ export declare function SfvbPageAttributeFromJSON(json: any): SfvbPageAttribute;
95
+ export declare function SfvbPageAttributeFromJSONTyped(json: any, ignoreDiscriminator: boolean): SfvbPageAttribute;
96
+ export declare function SfvbPageAttributeToJSON(value?: SfvbPageAttribute | null): any;