@flexbe/sdk 0.2.39 → 0.2.40
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/dist/browser/client/pages.js +2 -0
- package/dist/browser/index.js +0 -2
- package/dist/browser/types/index.js +4 -0
- package/dist/browser/types/pages.js +14 -0
- package/dist/cjs/client/pages.js +2 -0
- package/dist/cjs/index.js +0 -2
- package/dist/cjs/types/index.js +18 -0
- package/dist/cjs/types/pages.js +15 -1
- package/dist/esm/client/pages.js +2 -0
- package/dist/esm/index.js +0 -2
- package/dist/esm/types/index.js +4 -0
- package/dist/esm/types/pages.js +14 -0
- package/dist/types/client/pages.d.ts +2 -0
- package/dist/types/index.d.ts +0 -2
- package/dist/types/types/animations.d.ts +61 -0
- package/dist/types/types/index.d.ts +4 -0
- package/dist/types/types/pages.d.ts +101 -58
- package/package.json +2 -2
- package/dist/browser/client/auth.js +0 -74
- package/dist/cjs/client/auth.js +0 -63
- package/dist/client/flexbe-client.d.ts +0 -13
- package/dist/client/flexbe-client.js +0 -62
- package/dist/esm/client/auth.js +0 -59
- package/dist/index.d.ts +0 -2
- package/dist/index.js +0 -18
- package/dist/src/client/flexbe-client.d.ts +0 -20
- package/dist/src/client/flexbe-client.js +0 -86
- package/dist/src/client/pages-client.d.ts +0 -14
- package/dist/src/client/pages-client.js +0 -23
- package/dist/src/index.d.ts +0 -4
- package/dist/src/index.js +0 -20
- package/dist/src/types/index.d.ts +0 -23
- package/dist/src/types/pages.d.ts +0 -41
- package/dist/src/types/pages.js +0 -19
- package/dist/test/client/flexbe-client.test.js +0 -38
- package/dist/test/client/pages-client.test.js +0 -82
- package/dist/types/client/auth.d.ts +0 -11
- package/dist/types/index.js +0 -2
- /package/dist/{test/client/flexbe-client.test.d.ts → browser/types/animations.js} +0 -0
- /package/dist/{src/types/index.js → cjs/types/animations.js} +0 -0
- /package/dist/{test/client/pages-client.test.d.ts → esm/types/animations.js} +0 -0
|
@@ -240,6 +240,7 @@ export class Pages {
|
|
|
240
240
|
});
|
|
241
241
|
}
|
|
242
242
|
/**
|
|
243
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
243
244
|
* Get page content
|
|
244
245
|
* @param pageId - ID of the page to get content for
|
|
245
246
|
* @returns The page content
|
|
@@ -256,6 +257,7 @@ export class Pages {
|
|
|
256
257
|
});
|
|
257
258
|
}
|
|
258
259
|
/**
|
|
260
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
259
261
|
* Update page content
|
|
260
262
|
* @param pageId - ID of the page to update content for
|
|
261
263
|
* @param content - The new page content (excluding versionId and versionTime)
|
package/dist/browser/index.js
CHANGED
|
@@ -15,3 +15,17 @@ export var PageStatus;
|
|
|
15
15
|
PageStatus["REMOVED"] = "removed";
|
|
16
16
|
PageStatus["DELETED"] = "deleted";
|
|
17
17
|
})(PageStatus || (PageStatus = {}));
|
|
18
|
+
export var PageEntityType;
|
|
19
|
+
(function (PageEntityType) {
|
|
20
|
+
PageEntityType["Block"] = "block";
|
|
21
|
+
PageEntityType["Modal"] = "modal";
|
|
22
|
+
PageEntityType["Element"] = "element";
|
|
23
|
+
PageEntityType["Widget"] = "widget";
|
|
24
|
+
PageEntityType["Layout"] = "layout";
|
|
25
|
+
})(PageEntityType || (PageEntityType = {}));
|
|
26
|
+
export var PageEntityHidden;
|
|
27
|
+
(function (PageEntityHidden) {
|
|
28
|
+
PageEntityHidden["All"] = "all";
|
|
29
|
+
PageEntityHidden["Mobile"] = "mobile";
|
|
30
|
+
PageEntityHidden["Desktop"] = "desktop";
|
|
31
|
+
})(PageEntityHidden || (PageEntityHidden = {}));
|
package/dist/cjs/client/pages.js
CHANGED
|
@@ -215,6 +215,7 @@ class Pages {
|
|
|
215
215
|
return response.data;
|
|
216
216
|
}
|
|
217
217
|
/**
|
|
218
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
218
219
|
* Get page content
|
|
219
220
|
* @param pageId - ID of the page to get content for
|
|
220
221
|
* @returns The page content
|
|
@@ -229,6 +230,7 @@ class Pages {
|
|
|
229
230
|
return response.data;
|
|
230
231
|
}
|
|
231
232
|
/**
|
|
233
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
232
234
|
* Update page content
|
|
233
235
|
* @param pageId - ID of the page to update content for
|
|
234
236
|
* @param content - The new page content (excluding versionId and versionTime)
|
package/dist/cjs/index.js
CHANGED
|
@@ -17,5 +17,3 @@ Object.defineProperty(exports, "__esModule", { value: true });
|
|
|
17
17
|
__exportStar(require("./client/client"), exports);
|
|
18
18
|
__exportStar(require("./client/pages"), exports);
|
|
19
19
|
__exportStar(require("./types"), exports);
|
|
20
|
-
__exportStar(require("./types/pages"), exports);
|
|
21
|
-
__exportStar(require("./types/stat"), exports);
|
package/dist/cjs/types/index.js
CHANGED
|
@@ -1,6 +1,24 @@
|
|
|
1
1
|
"use strict";
|
|
2
|
+
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
+
if (k2 === undefined) k2 = k;
|
|
4
|
+
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
+
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
+
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
+
}
|
|
8
|
+
Object.defineProperty(o, k2, desc);
|
|
9
|
+
}) : (function(o, m, k, k2) {
|
|
10
|
+
if (k2 === undefined) k2 = k;
|
|
11
|
+
o[k2] = m[k];
|
|
12
|
+
}));
|
|
13
|
+
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
+
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
+
};
|
|
2
16
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
17
|
exports.TimeoutException = exports.ServerException = exports.UnauthorizedException = exports.BadRequestException = exports.ForbiddenException = exports.NotFoundException = exports.FlexbeAuthType = void 0;
|
|
18
|
+
__exportStar(require("./meta"), exports);
|
|
19
|
+
__exportStar(require("./animations"), exports);
|
|
20
|
+
__exportStar(require("./pages"), exports);
|
|
21
|
+
__exportStar(require("./stat"), exports);
|
|
4
22
|
var FlexbeAuthType;
|
|
5
23
|
(function (FlexbeAuthType) {
|
|
6
24
|
FlexbeAuthType["API_KEY"] = "apiKey";
|
package/dist/cjs/types/pages.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageStatus = exports.PageType = void 0;
|
|
3
|
+
exports.PageEntityHidden = exports.PageEntityType = exports.PageStatus = exports.PageType = void 0;
|
|
4
4
|
var PageType;
|
|
5
5
|
(function (PageType) {
|
|
6
6
|
PageType["PAGE"] = "page";
|
|
@@ -18,3 +18,17 @@ var PageStatus;
|
|
|
18
18
|
PageStatus["REMOVED"] = "removed";
|
|
19
19
|
PageStatus["DELETED"] = "deleted";
|
|
20
20
|
})(PageStatus || (exports.PageStatus = PageStatus = {}));
|
|
21
|
+
var PageEntityType;
|
|
22
|
+
(function (PageEntityType) {
|
|
23
|
+
PageEntityType["Block"] = "block";
|
|
24
|
+
PageEntityType["Modal"] = "modal";
|
|
25
|
+
PageEntityType["Element"] = "element";
|
|
26
|
+
PageEntityType["Widget"] = "widget";
|
|
27
|
+
PageEntityType["Layout"] = "layout";
|
|
28
|
+
})(PageEntityType || (exports.PageEntityType = PageEntityType = {}));
|
|
29
|
+
var PageEntityHidden;
|
|
30
|
+
(function (PageEntityHidden) {
|
|
31
|
+
PageEntityHidden["All"] = "all";
|
|
32
|
+
PageEntityHidden["Mobile"] = "mobile";
|
|
33
|
+
PageEntityHidden["Desktop"] = "desktop";
|
|
34
|
+
})(PageEntityHidden || (exports.PageEntityHidden = PageEntityHidden = {}));
|
package/dist/esm/client/pages.js
CHANGED
|
@@ -212,6 +212,7 @@ export class Pages {
|
|
|
212
212
|
return response.data;
|
|
213
213
|
}
|
|
214
214
|
/**
|
|
215
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
215
216
|
* Get page content
|
|
216
217
|
* @param pageId - ID of the page to get content for
|
|
217
218
|
* @returns The page content
|
|
@@ -226,6 +227,7 @@ export class Pages {
|
|
|
226
227
|
return response.data;
|
|
227
228
|
}
|
|
228
229
|
/**
|
|
230
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
229
231
|
* Update page content
|
|
230
232
|
* @param pageId - ID of the page to update content for
|
|
231
233
|
* @param content - The new page content (excluding versionId and versionTime)
|
package/dist/esm/index.js
CHANGED
package/dist/esm/types/index.js
CHANGED
package/dist/esm/types/pages.js
CHANGED
|
@@ -15,3 +15,17 @@ export var PageStatus;
|
|
|
15
15
|
PageStatus["REMOVED"] = "removed";
|
|
16
16
|
PageStatus["DELETED"] = "deleted";
|
|
17
17
|
})(PageStatus || (PageStatus = {}));
|
|
18
|
+
export var PageEntityType;
|
|
19
|
+
(function (PageEntityType) {
|
|
20
|
+
PageEntityType["Block"] = "block";
|
|
21
|
+
PageEntityType["Modal"] = "modal";
|
|
22
|
+
PageEntityType["Element"] = "element";
|
|
23
|
+
PageEntityType["Widget"] = "widget";
|
|
24
|
+
PageEntityType["Layout"] = "layout";
|
|
25
|
+
})(PageEntityType || (PageEntityType = {}));
|
|
26
|
+
export var PageEntityHidden;
|
|
27
|
+
(function (PageEntityHidden) {
|
|
28
|
+
PageEntityHidden["All"] = "all";
|
|
29
|
+
PageEntityHidden["Mobile"] = "mobile";
|
|
30
|
+
PageEntityHidden["Desktop"] = "desktop";
|
|
31
|
+
})(PageEntityHidden || (PageEntityHidden = {}));
|
|
@@ -170,6 +170,7 @@ export declare class Pages {
|
|
|
170
170
|
*/
|
|
171
171
|
bulkDeletePages(ids: number[]): Promise<BulkDeleteResponse>;
|
|
172
172
|
/**
|
|
173
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
173
174
|
* Get page content
|
|
174
175
|
* @param pageId - ID of the page to get content for
|
|
175
176
|
* @returns The page content
|
|
@@ -181,6 +182,7 @@ export declare class Pages {
|
|
|
181
182
|
*/
|
|
182
183
|
getPageContent(pageId: number): Promise<PageContent>;
|
|
183
184
|
/**
|
|
185
|
+
* @deprecated This method is deprecated and will be removed in a future release. Use the new page version API instead.
|
|
184
186
|
* Update page content
|
|
185
187
|
* @param pageId - ID of the page to update content for
|
|
186
188
|
* @param content - The new page content (excluding versionId and versionTime)
|
package/dist/types/index.d.ts
CHANGED
|
@@ -0,0 +1,61 @@
|
|
|
1
|
+
export type PageEntityAnimationAdaptiveMode = 'inherited' | 'redefined' | 'disabled';
|
|
2
|
+
export type PageEntityAnimationRetriggerBehavior = 'reverse' | 'restart' | 'pause' | 'reset' | 'none';
|
|
3
|
+
export type PageEntityAnimationPlayMode = 'normal' | 'bounce';
|
|
4
|
+
export type PageEntityAnimationReverseSeekBehavior = 'seek' | 'stop';
|
|
5
|
+
export type PageEntityAnimationSeekAxis = 'x' | 'y';
|
|
6
|
+
export type PageEntityAnimationTriggerEvent = 'start' | 'complete' | 'loopstart' | 'loopcomplete' | 'pause' | 'unpause';
|
|
7
|
+
export type PageEntityAnimationInteractionType = 'none' | 'screen' | 'scroll' | 'click' | 'hover' | 'hold' | 'trigger' | 'custom';
|
|
8
|
+
export type PageEntityAnimationIntersectionLine = 'top' | 'center' | 'bottom';
|
|
9
|
+
export type PageEntityAnimationIntersectionLineOffsetUnit = 'px' | '%';
|
|
10
|
+
export interface PageEntityAnimationStep {
|
|
11
|
+
id: string;
|
|
12
|
+
name: string;
|
|
13
|
+
distance: number;
|
|
14
|
+
animationParams: {
|
|
15
|
+
clipPath?: string;
|
|
16
|
+
clipPathEnabled?: boolean;
|
|
17
|
+
skewEnabled?: boolean;
|
|
18
|
+
seekEasing?: string;
|
|
19
|
+
opacity?: string | number;
|
|
20
|
+
duration?: number;
|
|
21
|
+
rotate?: number;
|
|
22
|
+
easing?: string;
|
|
23
|
+
translateX?: string;
|
|
24
|
+
translateY?: string;
|
|
25
|
+
scaleX?: number;
|
|
26
|
+
scaleY?: number;
|
|
27
|
+
skewX?: string;
|
|
28
|
+
skewY?: string;
|
|
29
|
+
};
|
|
30
|
+
}
|
|
31
|
+
export interface PageEntityAnimationInteractionSettings {
|
|
32
|
+
intersectionLine?: PageEntityAnimationIntersectionLine;
|
|
33
|
+
intersectionLineOffset?: string;
|
|
34
|
+
retriggerBehavior?: PageEntityAnimationRetriggerBehavior;
|
|
35
|
+
loop?: number;
|
|
36
|
+
playMode?: PageEntityAnimationPlayMode;
|
|
37
|
+
seekMode?: string;
|
|
38
|
+
seekAxis?: PageEntityAnimationSeekAxis;
|
|
39
|
+
seekSmoothing?: number;
|
|
40
|
+
triggerElements?: string[];
|
|
41
|
+
triggerAnimationItem?: string;
|
|
42
|
+
triggerEvent?: PageEntityAnimationTriggerEvent;
|
|
43
|
+
fixed?: boolean;
|
|
44
|
+
}
|
|
45
|
+
export interface PageEntityAnimationDeviceConfig {
|
|
46
|
+
enabled: boolean;
|
|
47
|
+
inherit: boolean | string;
|
|
48
|
+
animationType?: string;
|
|
49
|
+
interactionType?: PageEntityAnimationInteractionType;
|
|
50
|
+
interactionSettings?: PageEntityAnimationInteractionSettings;
|
|
51
|
+
steps: PageEntityAnimationStep[];
|
|
52
|
+
}
|
|
53
|
+
export interface PageEntityAnimationResponsive {
|
|
54
|
+
desktop?: PageEntityAnimationDeviceConfig;
|
|
55
|
+
mobile?: Partial<PageEntityAnimationDeviceConfig>;
|
|
56
|
+
}
|
|
57
|
+
export interface PageEntityAnimation {
|
|
58
|
+
id?: string | number;
|
|
59
|
+
responsive: PageEntityAnimationResponsive;
|
|
60
|
+
[key: string]: any;
|
|
61
|
+
}
|
|
@@ -1,3 +1,4 @@
|
|
|
1
|
+
import type { PageEntityAnimation } from './animations';
|
|
1
2
|
import type { FlexbeBulkError, Pagination } from './index';
|
|
2
3
|
export interface GridConfig {
|
|
3
4
|
color?: string;
|
|
@@ -232,35 +233,81 @@ export interface StylesDataRaw {
|
|
|
232
233
|
siteTextStyles: TextStyleItem[];
|
|
233
234
|
pageTextStyles?: TextStyleItem[];
|
|
234
235
|
}
|
|
235
|
-
export
|
|
236
|
-
|
|
237
|
-
|
|
236
|
+
export declare enum PageEntityType {
|
|
237
|
+
Block = "block",
|
|
238
|
+
Modal = "modal",
|
|
239
|
+
Element = "element",
|
|
240
|
+
Widget = "widget",
|
|
241
|
+
Layout = "layout"
|
|
242
|
+
}
|
|
243
|
+
export declare enum PageEntityHidden {
|
|
244
|
+
All = "all",
|
|
245
|
+
Mobile = "mobile",
|
|
246
|
+
Desktop = "desktop"
|
|
247
|
+
}
|
|
248
|
+
export type PageEntityEvent = {
|
|
249
|
+
event: string;
|
|
250
|
+
action: string;
|
|
251
|
+
action_code: string;
|
|
252
|
+
onlyFirst: boolean;
|
|
253
|
+
state: 'all' | 'in' | 'out';
|
|
254
|
+
[key: string]: any;
|
|
255
|
+
};
|
|
256
|
+
export type PageEntityData<T = Record<string, unknown>> = T;
|
|
257
|
+
export type PageEntityMultiVars<T> = Record<string, {
|
|
258
|
+
data: PageEntityData<T>;
|
|
259
|
+
}>;
|
|
260
|
+
export interface PageEntity<T = Record<string, unknown>> {
|
|
238
261
|
id: string;
|
|
239
|
-
is:
|
|
262
|
+
is: PageEntityType;
|
|
240
263
|
template_id: string;
|
|
264
|
+
mod_id?: string;
|
|
265
|
+
source_id?: string;
|
|
266
|
+
update_time: number;
|
|
267
|
+
data: T;
|
|
268
|
+
p_id?: number;
|
|
269
|
+
untouched?: boolean;
|
|
270
|
+
hidden?: 'none' | 'mobile' | 'desktop';
|
|
271
|
+
className?: string;
|
|
272
|
+
modals?: PageModal[];
|
|
273
|
+
animation?: PageEntityAnimation;
|
|
274
|
+
events?: PageEntityEvent[];
|
|
275
|
+
multidata?: {
|
|
276
|
+
enabled: boolean;
|
|
277
|
+
vars: PageEntityMultiVars<T>;
|
|
278
|
+
};
|
|
279
|
+
}
|
|
280
|
+
export interface PageBlock<T = Record<string, unknown>> extends PageEntity<T> {
|
|
281
|
+
is: PageEntityType.Block;
|
|
241
282
|
refPageId?: number;
|
|
242
|
-
p_id: number;
|
|
243
283
|
aboveTheFold?: boolean;
|
|
284
|
+
children?: Array<PageBlock | PageElement>;
|
|
285
|
+
multisection?: {
|
|
286
|
+
enabled: boolean;
|
|
287
|
+
main_var: string;
|
|
288
|
+
vars: PageEntityMultiVars<T>;
|
|
289
|
+
};
|
|
290
|
+
geolanding?: {
|
|
291
|
+
enabled: boolean;
|
|
292
|
+
vars: Record<string, {
|
|
293
|
+
city: string;
|
|
294
|
+
data: PageEntityData<T>;
|
|
295
|
+
}>;
|
|
296
|
+
};
|
|
244
297
|
}
|
|
245
|
-
export interface
|
|
246
|
-
|
|
247
|
-
|
|
248
|
-
id: string;
|
|
249
|
-
is: string;
|
|
250
|
-
template_id: string;
|
|
251
|
-
mod_id?: string;
|
|
252
|
-
p_id: number;
|
|
253
|
-
aboveTheFold?: boolean;
|
|
254
|
-
hidden?: string;
|
|
298
|
+
export interface PageWidget<T = Record<string, unknown>> extends PageEntity<T> {
|
|
299
|
+
is: PageEntityType.Widget;
|
|
300
|
+
children?: PageElement[];
|
|
255
301
|
}
|
|
256
|
-
export interface
|
|
257
|
-
|
|
258
|
-
|
|
259
|
-
|
|
260
|
-
|
|
261
|
-
|
|
262
|
-
|
|
263
|
-
|
|
302
|
+
export interface PageModal<T = Record<string, unknown>> extends PageEntity<T> {
|
|
303
|
+
is: PageEntityType.Modal;
|
|
304
|
+
screenshot: ImageObj | null;
|
|
305
|
+
children?: PageElement[];
|
|
306
|
+
}
|
|
307
|
+
export interface PageElement<T = Record<string, unknown>> extends PageEntity<T> {
|
|
308
|
+
is: PageEntityType.Element;
|
|
309
|
+
aboveTheFold?: boolean;
|
|
310
|
+
children?: PageElement[];
|
|
264
311
|
}
|
|
265
312
|
export interface PageABTest {
|
|
266
313
|
id: number;
|
|
@@ -268,36 +315,6 @@ export interface PageABTest {
|
|
|
268
315
|
b: string;
|
|
269
316
|
isActive: boolean;
|
|
270
317
|
}
|
|
271
|
-
export interface PageModal {
|
|
272
|
-
update_time: number;
|
|
273
|
-
data: Record<string, unknown>;
|
|
274
|
-
id: string;
|
|
275
|
-
is: string;
|
|
276
|
-
template_id: string;
|
|
277
|
-
mod_id: string;
|
|
278
|
-
p_id: number;
|
|
279
|
-
screenshot: ImageObj | null;
|
|
280
|
-
}
|
|
281
|
-
export interface PageContent {
|
|
282
|
-
versionId: number;
|
|
283
|
-
versionTime: number;
|
|
284
|
-
blocks: PageBlock[];
|
|
285
|
-
modals: PageModal[];
|
|
286
|
-
elements: PageElement[];
|
|
287
|
-
widgets: PageWidget[];
|
|
288
|
-
codes: string[];
|
|
289
|
-
settings: {
|
|
290
|
-
background?: PageBackground;
|
|
291
|
-
textStyles?: TextStyleItem[];
|
|
292
|
-
responsive?: string | boolean;
|
|
293
|
-
} | null;
|
|
294
|
-
abtests: PageABTest[];
|
|
295
|
-
assets: {
|
|
296
|
-
images: number[];
|
|
297
|
-
files: string[];
|
|
298
|
-
};
|
|
299
|
-
}
|
|
300
|
-
export type UpdatePageContentParams = Omit<PageContent, 'versionId' | 'versionTime'>;
|
|
301
318
|
export interface PageHistoryItem {
|
|
302
319
|
id: number;
|
|
303
320
|
createdAt: string;
|
|
@@ -322,13 +339,39 @@ export interface PageDataStructure {
|
|
|
322
339
|
blocks: PageBlock[];
|
|
323
340
|
modals: PageModal[];
|
|
324
341
|
widgets: PageWidget[];
|
|
325
|
-
|
|
326
|
-
|
|
327
|
-
|
|
328
|
-
|
|
329
|
-
responsive
|
|
342
|
+
abtests?: PageABTest[];
|
|
343
|
+
codes?: string[];
|
|
344
|
+
textStyles?: TextStyleItem[];
|
|
345
|
+
background?: PageBackground;
|
|
346
|
+
responsive?: 'auto' | boolean;
|
|
330
347
|
}
|
|
331
348
|
export interface PageVersionDataResponse extends PageVersionItem {
|
|
332
349
|
data: PageDataStructure;
|
|
333
350
|
}
|
|
351
|
+
/**
|
|
352
|
+
* @deprecated This type is deprecated and will be removed in a future release. Use PageDataStructure or related types instead.
|
|
353
|
+
*/
|
|
354
|
+
export interface PageContent {
|
|
355
|
+
versionId: number;
|
|
356
|
+
versionTime: number;
|
|
357
|
+
blocks: PageBlock[];
|
|
358
|
+
modals: PageModal[];
|
|
359
|
+
elements: PageElement[];
|
|
360
|
+
widgets: PageWidget[];
|
|
361
|
+
codes: string[];
|
|
362
|
+
settings: {
|
|
363
|
+
background?: PageBackground;
|
|
364
|
+
textStyles?: TextStyleItem[];
|
|
365
|
+
responsive?: string | boolean;
|
|
366
|
+
} | null;
|
|
367
|
+
abtests: PageABTest[];
|
|
368
|
+
assets: {
|
|
369
|
+
images: number[];
|
|
370
|
+
files: string[];
|
|
371
|
+
};
|
|
372
|
+
}
|
|
373
|
+
/**
|
|
374
|
+
* @deprecated This type is deprecated and will be removed in a future release. Use PageDataStructure or related types instead.
|
|
375
|
+
*/
|
|
376
|
+
export type UpdatePageContentParams = Omit<PageContent, 'versionId' | 'versionTime'>;
|
|
334
377
|
export {};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@flexbe/sdk",
|
|
3
|
-
"version": "0.2.
|
|
3
|
+
"version": "0.2.40",
|
|
4
4
|
"description": "TypeScript SDK for Flexbe API",
|
|
5
5
|
"main": "dist/cjs/index.js",
|
|
6
6
|
"module": "dist/esm/index.js",
|
|
@@ -23,7 +23,7 @@
|
|
|
23
23
|
"lint": "eslint src --ext .ts",
|
|
24
24
|
"format": "prettier --write \"src/**/*.ts\"",
|
|
25
25
|
"prepare": "npm run build",
|
|
26
|
-
"
|
|
26
|
+
"prepublishOnly_": "npm test && npm run lint"
|
|
27
27
|
},
|
|
28
28
|
"keywords": [
|
|
29
29
|
"flexbe",
|
|
@@ -1,74 +0,0 @@
|
|
|
1
|
-
var __awaiter = (this && this.__awaiter) || function (thisArg, _arguments, P, generator) {
|
|
2
|
-
function adopt(value) { return value instanceof P ? value : new P(function (resolve) { resolve(value); }); }
|
|
3
|
-
return new (P || (P = Promise))(function (resolve, reject) {
|
|
4
|
-
function fulfilled(value) { try { step(generator.next(value)); } catch (e) { reject(e); } }
|
|
5
|
-
function rejected(value) { try { step(generator["throw"](value)); } catch (e) { reject(e); } }
|
|
6
|
-
function step(result) { result.done ? resolve(result.value) : adopt(result.value).then(fulfilled, rejected); }
|
|
7
|
-
step((generator = generator.apply(thisArg, _arguments || [])).next());
|
|
8
|
-
});
|
|
9
|
-
};
|
|
10
|
-
import { FlexbeAuthType } from '../types';
|
|
11
|
-
import { TokenManager } from './token-manager';
|
|
12
|
-
export class FlexbeAuth {
|
|
13
|
-
constructor(config) {
|
|
14
|
-
this.initialized = false;
|
|
15
|
-
this.initializationPromise = null;
|
|
16
|
-
this.config = config;
|
|
17
|
-
this.tokenManager = TokenManager.getInstance();
|
|
18
|
-
if (this.config.authType === FlexbeAuthType.BEARER) {
|
|
19
|
-
// Start initialization but don't wait for it
|
|
20
|
-
this.initializationPromise = this.initialize();
|
|
21
|
-
}
|
|
22
|
-
else {
|
|
23
|
-
this.initialized = true;
|
|
24
|
-
}
|
|
25
|
-
}
|
|
26
|
-
initialize() {
|
|
27
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
28
|
-
try {
|
|
29
|
-
const token = yield this.tokenManager.getToken();
|
|
30
|
-
this.initialized = !!token;
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
console.error('Failed to initialize auth:', error);
|
|
34
|
-
this.initialized = false;
|
|
35
|
-
}
|
|
36
|
-
finally {
|
|
37
|
-
this.initializationPromise = null;
|
|
38
|
-
}
|
|
39
|
-
});
|
|
40
|
-
}
|
|
41
|
-
ensureInitialized() {
|
|
42
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
43
|
-
if (this.config.authType !== FlexbeAuthType.BEARER || this.initialized) {
|
|
44
|
-
return;
|
|
45
|
-
}
|
|
46
|
-
// If initialization is in progress, wait for it
|
|
47
|
-
if (this.initializationPromise) {
|
|
48
|
-
yield this.initializationPromise;
|
|
49
|
-
return;
|
|
50
|
-
}
|
|
51
|
-
// If not initialized and no initialization in progress, start one
|
|
52
|
-
yield this.initialize();
|
|
53
|
-
});
|
|
54
|
-
}
|
|
55
|
-
getAuthHeaders() {
|
|
56
|
-
return __awaiter(this, void 0, void 0, function* () {
|
|
57
|
-
yield this.ensureInitialized();
|
|
58
|
-
const headers = {
|
|
59
|
-
'Content-Type': 'application/json',
|
|
60
|
-
};
|
|
61
|
-
if (this.config.authType === FlexbeAuthType.API_KEY) {
|
|
62
|
-
headers['x-api-key'] = this.config.apiKey;
|
|
63
|
-
}
|
|
64
|
-
else if (this.config.authType === FlexbeAuthType.BEARER) {
|
|
65
|
-
const token = yield this.tokenManager.getToken();
|
|
66
|
-
if (!token) {
|
|
67
|
-
throw new Error('No valid bearer token available');
|
|
68
|
-
}
|
|
69
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
70
|
-
}
|
|
71
|
-
return headers;
|
|
72
|
-
});
|
|
73
|
-
}
|
|
74
|
-
}
|
package/dist/cjs/client/auth.js
DELETED
|
@@ -1,63 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.FlexbeAuth = void 0;
|
|
4
|
-
const types_1 = require("../types");
|
|
5
|
-
const token_manager_1 = require("./token-manager");
|
|
6
|
-
class FlexbeAuth {
|
|
7
|
-
constructor(config) {
|
|
8
|
-
this.initialized = false;
|
|
9
|
-
this.initializationPromise = null;
|
|
10
|
-
this.config = config;
|
|
11
|
-
this.tokenManager = token_manager_1.TokenManager.getInstance();
|
|
12
|
-
if (this.config.authType === types_1.FlexbeAuthType.BEARER) {
|
|
13
|
-
// Start initialization but don't wait for it
|
|
14
|
-
this.initializationPromise = this.initialize();
|
|
15
|
-
}
|
|
16
|
-
else {
|
|
17
|
-
this.initialized = true;
|
|
18
|
-
}
|
|
19
|
-
}
|
|
20
|
-
async initialize() {
|
|
21
|
-
try {
|
|
22
|
-
const token = await this.tokenManager.getToken();
|
|
23
|
-
this.initialized = !!token;
|
|
24
|
-
}
|
|
25
|
-
catch (error) {
|
|
26
|
-
console.error('Failed to initialize auth:', error);
|
|
27
|
-
this.initialized = false;
|
|
28
|
-
}
|
|
29
|
-
finally {
|
|
30
|
-
this.initializationPromise = null;
|
|
31
|
-
}
|
|
32
|
-
}
|
|
33
|
-
async ensureInitialized() {
|
|
34
|
-
if (this.config.authType !== types_1.FlexbeAuthType.BEARER || this.initialized) {
|
|
35
|
-
return;
|
|
36
|
-
}
|
|
37
|
-
// If initialization is in progress, wait for it
|
|
38
|
-
if (this.initializationPromise) {
|
|
39
|
-
await this.initializationPromise;
|
|
40
|
-
return;
|
|
41
|
-
}
|
|
42
|
-
// If not initialized and no initialization in progress, start one
|
|
43
|
-
await this.initialize();
|
|
44
|
-
}
|
|
45
|
-
async getAuthHeaders() {
|
|
46
|
-
await this.ensureInitialized();
|
|
47
|
-
const headers = {
|
|
48
|
-
'Content-Type': 'application/json',
|
|
49
|
-
};
|
|
50
|
-
if (this.config.authType === types_1.FlexbeAuthType.API_KEY) {
|
|
51
|
-
headers['x-api-key'] = this.config.apiKey;
|
|
52
|
-
}
|
|
53
|
-
else if (this.config.authType === types_1.FlexbeAuthType.BEARER) {
|
|
54
|
-
const token = await this.tokenManager.getToken();
|
|
55
|
-
if (!token) {
|
|
56
|
-
throw new Error('No valid bearer token available');
|
|
57
|
-
}
|
|
58
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
59
|
-
}
|
|
60
|
-
return headers;
|
|
61
|
-
}
|
|
62
|
-
}
|
|
63
|
-
exports.FlexbeAuth = FlexbeAuth;
|
|
@@ -1,13 +0,0 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from 'axios';
|
|
2
|
-
import { FlexbeConfig, FlexbeResponse } from '../types';
|
|
3
|
-
export declare class FlexbeClient {
|
|
4
|
-
private readonly client;
|
|
5
|
-
private readonly config;
|
|
6
|
-
constructor(config: FlexbeConfig);
|
|
7
|
-
private setupInterceptors;
|
|
8
|
-
protected request<T>(config: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
9
|
-
protected get<T>(url: string, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
10
|
-
protected post<T>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
11
|
-
protected put<T>(url: string, data?: unknown, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
12
|
-
protected delete<T>(url: string, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
13
|
-
}
|
|
@@ -1,62 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FlexbeClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
class FlexbeClient {
|
|
9
|
-
constructor(config) {
|
|
10
|
-
this.config = {
|
|
11
|
-
baseUrl: config.baseUrl || 'https://api.flexbe.com',
|
|
12
|
-
timeout: config.timeout || 30000,
|
|
13
|
-
...config,
|
|
14
|
-
};
|
|
15
|
-
this.client = axios_1.default.create({
|
|
16
|
-
baseURL: this.config.baseUrl,
|
|
17
|
-
timeout: this.config.timeout,
|
|
18
|
-
headers: {
|
|
19
|
-
'Authorization': `Bearer ${this.config.apiKey}`,
|
|
20
|
-
'Content-Type': 'application/json',
|
|
21
|
-
},
|
|
22
|
-
});
|
|
23
|
-
this.setupInterceptors();
|
|
24
|
-
}
|
|
25
|
-
setupInterceptors() {
|
|
26
|
-
this.client.interceptors.response.use((response) => response, (error) => {
|
|
27
|
-
const flexbeError = {
|
|
28
|
-
message: error.response?.data?.message || error.message,
|
|
29
|
-
code: error.response?.data?.code,
|
|
30
|
-
status: error.response?.status,
|
|
31
|
-
details: error.response?.data?.details,
|
|
32
|
-
};
|
|
33
|
-
return Promise.reject(flexbeError);
|
|
34
|
-
});
|
|
35
|
-
}
|
|
36
|
-
async request(config) {
|
|
37
|
-
try {
|
|
38
|
-
const response = await this.client.request(config);
|
|
39
|
-
return {
|
|
40
|
-
data: response.data,
|
|
41
|
-
status: response.status,
|
|
42
|
-
statusText: response.statusText,
|
|
43
|
-
};
|
|
44
|
-
}
|
|
45
|
-
catch (error) {
|
|
46
|
-
throw error;
|
|
47
|
-
}
|
|
48
|
-
}
|
|
49
|
-
get(url, config) {
|
|
50
|
-
return this.request({ ...config, method: 'GET', url });
|
|
51
|
-
}
|
|
52
|
-
post(url, data, config) {
|
|
53
|
-
return this.request({ ...config, method: 'POST', url, data });
|
|
54
|
-
}
|
|
55
|
-
put(url, data, config) {
|
|
56
|
-
return this.request({ ...config, method: 'PUT', url, data });
|
|
57
|
-
}
|
|
58
|
-
delete(url, config) {
|
|
59
|
-
return this.request({ ...config, method: 'DELETE', url });
|
|
60
|
-
}
|
|
61
|
-
}
|
|
62
|
-
exports.FlexbeClient = FlexbeClient;
|
package/dist/esm/client/auth.js
DELETED
|
@@ -1,59 +0,0 @@
|
|
|
1
|
-
import { FlexbeAuthType } from '../types';
|
|
2
|
-
import { TokenManager } from './token-manager';
|
|
3
|
-
export class FlexbeAuth {
|
|
4
|
-
constructor(config) {
|
|
5
|
-
this.initialized = false;
|
|
6
|
-
this.initializationPromise = null;
|
|
7
|
-
this.config = config;
|
|
8
|
-
this.tokenManager = TokenManager.getInstance();
|
|
9
|
-
if (this.config.authType === FlexbeAuthType.BEARER) {
|
|
10
|
-
// Start initialization but don't wait for it
|
|
11
|
-
this.initializationPromise = this.initialize();
|
|
12
|
-
}
|
|
13
|
-
else {
|
|
14
|
-
this.initialized = true;
|
|
15
|
-
}
|
|
16
|
-
}
|
|
17
|
-
async initialize() {
|
|
18
|
-
try {
|
|
19
|
-
const token = await this.tokenManager.getToken();
|
|
20
|
-
this.initialized = !!token;
|
|
21
|
-
}
|
|
22
|
-
catch (error) {
|
|
23
|
-
console.error('Failed to initialize auth:', error);
|
|
24
|
-
this.initialized = false;
|
|
25
|
-
}
|
|
26
|
-
finally {
|
|
27
|
-
this.initializationPromise = null;
|
|
28
|
-
}
|
|
29
|
-
}
|
|
30
|
-
async ensureInitialized() {
|
|
31
|
-
if (this.config.authType !== FlexbeAuthType.BEARER || this.initialized) {
|
|
32
|
-
return;
|
|
33
|
-
}
|
|
34
|
-
// If initialization is in progress, wait for it
|
|
35
|
-
if (this.initializationPromise) {
|
|
36
|
-
await this.initializationPromise;
|
|
37
|
-
return;
|
|
38
|
-
}
|
|
39
|
-
// If not initialized and no initialization in progress, start one
|
|
40
|
-
await this.initialize();
|
|
41
|
-
}
|
|
42
|
-
async getAuthHeaders() {
|
|
43
|
-
await this.ensureInitialized();
|
|
44
|
-
const headers = {
|
|
45
|
-
'Content-Type': 'application/json',
|
|
46
|
-
};
|
|
47
|
-
if (this.config.authType === FlexbeAuthType.API_KEY) {
|
|
48
|
-
headers['x-api-key'] = this.config.apiKey;
|
|
49
|
-
}
|
|
50
|
-
else if (this.config.authType === FlexbeAuthType.BEARER) {
|
|
51
|
-
const token = await this.tokenManager.getToken();
|
|
52
|
-
if (!token) {
|
|
53
|
-
throw new Error('No valid bearer token available');
|
|
54
|
-
}
|
|
55
|
-
headers['Authorization'] = `Bearer ${token}`;
|
|
56
|
-
}
|
|
57
|
-
return headers;
|
|
58
|
-
}
|
|
59
|
-
}
|
package/dist/index.d.ts
DELETED
package/dist/index.js
DELETED
|
@@ -1,18 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./types"), exports);
|
|
18
|
-
__exportStar(require("./client/flexbe-client"), exports);
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import { AxiosRequestConfig } from 'axios';
|
|
2
|
-
import { FlexbeConfig, FlexbeResponse } from '../types';
|
|
3
|
-
import { PagesClient } from './pages-client';
|
|
4
|
-
export declare class FlexbeClient {
|
|
5
|
-
private readonly client;
|
|
6
|
-
private readonly config;
|
|
7
|
-
readonly pages: PagesClient;
|
|
8
|
-
constructor(config?: Partial<FlexbeConfig>);
|
|
9
|
-
private setupInterceptors;
|
|
10
|
-
private request;
|
|
11
|
-
private get;
|
|
12
|
-
private post;
|
|
13
|
-
private put;
|
|
14
|
-
private delete;
|
|
15
|
-
private getSiteUrl;
|
|
16
|
-
sitesGet<T>(path: string, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
17
|
-
sitesPost<T>(path: string, data?: unknown, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
18
|
-
sitesPut<T>(path: string, data?: unknown, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
19
|
-
sitesDelete<T>(path: string, config?: AxiosRequestConfig): Promise<FlexbeResponse<T>>;
|
|
20
|
-
}
|
|
@@ -1,86 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
3
|
-
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
4
|
-
};
|
|
5
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
-
exports.FlexbeClient = void 0;
|
|
7
|
-
const axios_1 = __importDefault(require("axios"));
|
|
8
|
-
const pages_client_1 = require("./pages-client");
|
|
9
|
-
class FlexbeClient {
|
|
10
|
-
constructor(config) {
|
|
11
|
-
this.config = {
|
|
12
|
-
baseUrl: config?.baseUrl || process.env.FLEXBE_API_URL || 'https://api.flexbe.com',
|
|
13
|
-
timeout: config?.timeout || 30000,
|
|
14
|
-
apiKey: config?.apiKey || process.env.FLEXBE_API_KEY || '',
|
|
15
|
-
siteId: config?.siteId || process.env.FLEXBE_SITE_ID,
|
|
16
|
-
};
|
|
17
|
-
if (!this.config.apiKey) {
|
|
18
|
-
throw new Error('API key is required. Please provide it either through config or FLEXBE_API_KEY environment variable.');
|
|
19
|
-
}
|
|
20
|
-
this.client = axios_1.default.create({
|
|
21
|
-
baseURL: this.config.baseUrl,
|
|
22
|
-
timeout: this.config.timeout,
|
|
23
|
-
headers: {
|
|
24
|
-
'Authorization': `Bearer ${this.config.apiKey}`,
|
|
25
|
-
'Content-Type': 'application/json',
|
|
26
|
-
},
|
|
27
|
-
});
|
|
28
|
-
this.setupInterceptors();
|
|
29
|
-
this.pages = new pages_client_1.PagesClient(this);
|
|
30
|
-
}
|
|
31
|
-
setupInterceptors() {
|
|
32
|
-
this.client.interceptors.response.use((response) => response, (error) => {
|
|
33
|
-
const flexbeError = {
|
|
34
|
-
message: error.response?.data?.message || error.message,
|
|
35
|
-
code: error.response?.data?.code,
|
|
36
|
-
status: error.response?.status,
|
|
37
|
-
details: error.response?.data?.details,
|
|
38
|
-
};
|
|
39
|
-
return Promise.reject(flexbeError);
|
|
40
|
-
});
|
|
41
|
-
}
|
|
42
|
-
async request(config) {
|
|
43
|
-
try {
|
|
44
|
-
const response = await this.client.request(config);
|
|
45
|
-
return {
|
|
46
|
-
data: response.data,
|
|
47
|
-
status: response.status,
|
|
48
|
-
statusText: response.statusText,
|
|
49
|
-
};
|
|
50
|
-
}
|
|
51
|
-
catch (error) {
|
|
52
|
-
throw error;
|
|
53
|
-
}
|
|
54
|
-
}
|
|
55
|
-
get(url, config) {
|
|
56
|
-
return this.request({ ...config, method: 'GET', url });
|
|
57
|
-
}
|
|
58
|
-
post(url, data, config) {
|
|
59
|
-
return this.request({ ...config, method: 'POST', url, data });
|
|
60
|
-
}
|
|
61
|
-
put(url, data, config) {
|
|
62
|
-
return this.request({ ...config, method: 'PUT', url, data });
|
|
63
|
-
}
|
|
64
|
-
delete(url, config) {
|
|
65
|
-
return this.request({ ...config, method: 'DELETE', url });
|
|
66
|
-
}
|
|
67
|
-
getSiteUrl(path) {
|
|
68
|
-
if (!this.config.siteId) {
|
|
69
|
-
return path;
|
|
70
|
-
}
|
|
71
|
-
return `/sites/${this.config.siteId}${path}`;
|
|
72
|
-
}
|
|
73
|
-
sitesGet(path, config) {
|
|
74
|
-
return this.get(this.getSiteUrl(path), config);
|
|
75
|
-
}
|
|
76
|
-
sitesPost(path, data, config) {
|
|
77
|
-
return this.post(this.getSiteUrl(path), data, config);
|
|
78
|
-
}
|
|
79
|
-
sitesPut(path, data, config) {
|
|
80
|
-
return this.put(this.getSiteUrl(path), data, config);
|
|
81
|
-
}
|
|
82
|
-
sitesDelete(path, config) {
|
|
83
|
-
return this.delete(this.getSiteUrl(path), config);
|
|
84
|
-
}
|
|
85
|
-
}
|
|
86
|
-
exports.FlexbeClient = FlexbeClient;
|
|
@@ -1,14 +0,0 @@
|
|
|
1
|
-
import { Page, GetPagesParams, PageListResponse } from '../types/pages';
|
|
2
|
-
import { FlexbeClient } from './flexbe-client';
|
|
3
|
-
export declare class PagesClient {
|
|
4
|
-
private readonly client;
|
|
5
|
-
constructor(client: FlexbeClient);
|
|
6
|
-
/**
|
|
7
|
-
* Get list of pages for a site
|
|
8
|
-
*/
|
|
9
|
-
getPages(params?: GetPagesParams): Promise<PageListResponse>;
|
|
10
|
-
/**
|
|
11
|
-
* Get a single page by ID
|
|
12
|
-
*/
|
|
13
|
-
getPage(pageId: number): Promise<Page>;
|
|
14
|
-
}
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PagesClient = void 0;
|
|
4
|
-
class PagesClient {
|
|
5
|
-
constructor(client) {
|
|
6
|
-
this.client = client;
|
|
7
|
-
}
|
|
8
|
-
/**
|
|
9
|
-
* Get list of pages for a site
|
|
10
|
-
*/
|
|
11
|
-
async getPages(params) {
|
|
12
|
-
const response = await this.client.sitesGet('/pages', { params });
|
|
13
|
-
return response.data;
|
|
14
|
-
}
|
|
15
|
-
/**
|
|
16
|
-
* Get a single page by ID
|
|
17
|
-
*/
|
|
18
|
-
async getPage(pageId) {
|
|
19
|
-
const response = await this.client.sitesGet(`/pages/${pageId}`);
|
|
20
|
-
return response.data;
|
|
21
|
-
}
|
|
22
|
-
}
|
|
23
|
-
exports.PagesClient = PagesClient;
|
package/dist/src/index.d.ts
DELETED
package/dist/src/index.js
DELETED
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
|
|
3
|
-
if (k2 === undefined) k2 = k;
|
|
4
|
-
var desc = Object.getOwnPropertyDescriptor(m, k);
|
|
5
|
-
if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
|
|
6
|
-
desc = { enumerable: true, get: function() { return m[k]; } };
|
|
7
|
-
}
|
|
8
|
-
Object.defineProperty(o, k2, desc);
|
|
9
|
-
}) : (function(o, m, k, k2) {
|
|
10
|
-
if (k2 === undefined) k2 = k;
|
|
11
|
-
o[k2] = m[k];
|
|
12
|
-
}));
|
|
13
|
-
var __exportStar = (this && this.__exportStar) || function(m, exports) {
|
|
14
|
-
for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
|
|
15
|
-
};
|
|
16
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
17
|
-
__exportStar(require("./client/flexbe-client"), exports);
|
|
18
|
-
__exportStar(require("./client/pages-client"), exports);
|
|
19
|
-
__exportStar(require("./types"), exports);
|
|
20
|
-
__exportStar(require("./types/pages"), exports);
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
export interface FlexbeConfig {
|
|
2
|
-
apiKey?: string;
|
|
3
|
-
baseUrl?: string;
|
|
4
|
-
timeout?: number;
|
|
5
|
-
siteId?: string;
|
|
6
|
-
}
|
|
7
|
-
export interface FlexbeResponse<T> {
|
|
8
|
-
data: T;
|
|
9
|
-
status: number;
|
|
10
|
-
statusText: string;
|
|
11
|
-
}
|
|
12
|
-
export interface FlexbeErrorResponse {
|
|
13
|
-
message: string;
|
|
14
|
-
code?: string;
|
|
15
|
-
details?: unknown;
|
|
16
|
-
}
|
|
17
|
-
export interface FlexbeError {
|
|
18
|
-
message: string;
|
|
19
|
-
code?: string;
|
|
20
|
-
status?: number;
|
|
21
|
-
details?: unknown;
|
|
22
|
-
}
|
|
23
|
-
export type FlexbeAuthType = 'apiKey' | 'bearer' | 'oauth2';
|
|
@@ -1,41 +0,0 @@
|
|
|
1
|
-
export declare enum PageType {
|
|
2
|
-
PAGE = "page",
|
|
3
|
-
FILE = "file",
|
|
4
|
-
GLOBAL = "global",
|
|
5
|
-
AI = "ai",
|
|
6
|
-
CMS = "cms",
|
|
7
|
-
ECOMMERCE_PRODUCT = "ecommerce_product",
|
|
8
|
-
ECOMMERCE_CATEGORY = "ecommerce_category"
|
|
9
|
-
}
|
|
10
|
-
export declare enum PageStatus {
|
|
11
|
-
PUBLISHED = "published",
|
|
12
|
-
DRAFTED = "drafted",
|
|
13
|
-
DELETED = "deleted"
|
|
14
|
-
}
|
|
15
|
-
export interface Page {
|
|
16
|
-
id: number;
|
|
17
|
-
siteId: number;
|
|
18
|
-
type: PageType;
|
|
19
|
-
uri: string;
|
|
20
|
-
title: string | null;
|
|
21
|
-
status: PageStatus;
|
|
22
|
-
updatedAt?: Date;
|
|
23
|
-
imgId: number | null;
|
|
24
|
-
sortIndex: number;
|
|
25
|
-
}
|
|
26
|
-
export interface GetPagesParams {
|
|
27
|
-
offset?: number;
|
|
28
|
-
limit?: number;
|
|
29
|
-
type?: PageType;
|
|
30
|
-
status?: PageStatus;
|
|
31
|
-
search?: string;
|
|
32
|
-
}
|
|
33
|
-
export interface Pagination {
|
|
34
|
-
limit: number;
|
|
35
|
-
offset: number;
|
|
36
|
-
total: number;
|
|
37
|
-
}
|
|
38
|
-
export interface PageListResponse {
|
|
39
|
-
pages: Page[];
|
|
40
|
-
pagination: Pagination;
|
|
41
|
-
}
|
package/dist/src/types/pages.js
DELETED
|
@@ -1,19 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.PageStatus = exports.PageType = void 0;
|
|
4
|
-
var PageType;
|
|
5
|
-
(function (PageType) {
|
|
6
|
-
PageType["PAGE"] = "page";
|
|
7
|
-
PageType["FILE"] = "file";
|
|
8
|
-
PageType["GLOBAL"] = "global";
|
|
9
|
-
PageType["AI"] = "ai";
|
|
10
|
-
PageType["CMS"] = "cms";
|
|
11
|
-
PageType["ECOMMERCE_PRODUCT"] = "ecommerce_product";
|
|
12
|
-
PageType["ECOMMERCE_CATEGORY"] = "ecommerce_category";
|
|
13
|
-
})(PageType || (exports.PageType = PageType = {}));
|
|
14
|
-
var PageStatus;
|
|
15
|
-
(function (PageStatus) {
|
|
16
|
-
PageStatus["PUBLISHED"] = "published";
|
|
17
|
-
PageStatus["DRAFTED"] = "drafted";
|
|
18
|
-
PageStatus["DELETED"] = "deleted";
|
|
19
|
-
})(PageStatus || (exports.PageStatus = PageStatus = {}));
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const flexbe_client_1 = require("../../src/client/flexbe-client");
|
|
4
|
-
describe('FlexbeClient', () => {
|
|
5
|
-
let client;
|
|
6
|
-
const testConfig = {
|
|
7
|
-
apiKey: process.env.FLEXBE_API_KEY || 'test-api-key',
|
|
8
|
-
baseUrl: process.env.FLEXBE_API_URL || 'https://api.flexbe.com',
|
|
9
|
-
};
|
|
10
|
-
beforeEach(() => {
|
|
11
|
-
client = new flexbe_client_1.FlexbeClient(testConfig);
|
|
12
|
-
});
|
|
13
|
-
it('should initialize with correct configuration', () => {
|
|
14
|
-
expect(client).toBeDefined();
|
|
15
|
-
const axiosInstance = client.client;
|
|
16
|
-
expect(axiosInstance.defaults.baseURL).toBe(testConfig.baseUrl);
|
|
17
|
-
expect(axiosInstance.defaults.headers.Authorization).toBe(`Bearer ${testConfig.apiKey}`);
|
|
18
|
-
});
|
|
19
|
-
it('should handle successful GET request', async () => {
|
|
20
|
-
// Access protected method for testing
|
|
21
|
-
const response = await client.get('/');
|
|
22
|
-
expect(response).toBeDefined();
|
|
23
|
-
expect(response.status).toBe(200);
|
|
24
|
-
expect(response.data).toBeDefined();
|
|
25
|
-
});
|
|
26
|
-
it('should handle error response', async () => {
|
|
27
|
-
try {
|
|
28
|
-
// Access protected method for testing
|
|
29
|
-
await client.get('/non-existent-endpoint');
|
|
30
|
-
fail('Should have thrown an error');
|
|
31
|
-
}
|
|
32
|
-
catch (error) {
|
|
33
|
-
const flexbeError = error;
|
|
34
|
-
expect(flexbeError.message).toBeDefined();
|
|
35
|
-
expect(flexbeError.status).toBeDefined();
|
|
36
|
-
}
|
|
37
|
-
});
|
|
38
|
-
});
|
|
@@ -1,82 +0,0 @@
|
|
|
1
|
-
"use strict";
|
|
2
|
-
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
const flexbe_client_1 = require("../../src/client/flexbe-client");
|
|
4
|
-
const pages_1 = require("../../src/types/pages");
|
|
5
|
-
describe('PagesClient', () => {
|
|
6
|
-
let client;
|
|
7
|
-
const testConfig = {
|
|
8
|
-
apiKey: process.env.FLEXBE_API_KEY || 'test-api-key',
|
|
9
|
-
baseUrl: process.env.FLEXBE_API_URL || 'https://api.flexbe.com',
|
|
10
|
-
siteId: process.env.FLEXBE_SITE_ID || '0',
|
|
11
|
-
};
|
|
12
|
-
beforeEach(() => {
|
|
13
|
-
client = new flexbe_client_1.FlexbeClient(testConfig);
|
|
14
|
-
});
|
|
15
|
-
it('should initialize with correct configuration', () => {
|
|
16
|
-
expect(client.pages).toBeDefined();
|
|
17
|
-
const axiosInstance = client.client;
|
|
18
|
-
expect(axiosInstance.defaults.baseURL).toBe(testConfig.baseUrl);
|
|
19
|
-
expect(axiosInstance.defaults.headers.Authorization).toBe(`Bearer ${testConfig.apiKey}`);
|
|
20
|
-
});
|
|
21
|
-
it('should get list of pages with default parameters', async () => {
|
|
22
|
-
const response = await client.pages.getPages();
|
|
23
|
-
expect(response).toBeDefined();
|
|
24
|
-
expect(response.pages).toBeDefined();
|
|
25
|
-
expect(response.pagination).toBeDefined();
|
|
26
|
-
expect(response.pagination.limit).toBe(10);
|
|
27
|
-
expect(response.pagination.offset).toBe(0);
|
|
28
|
-
expect(response.pagination.total).toBeDefined();
|
|
29
|
-
});
|
|
30
|
-
it('should get list of pages with custom parameters', async () => {
|
|
31
|
-
const params = {
|
|
32
|
-
offset: 0,
|
|
33
|
-
limit: 20,
|
|
34
|
-
type: pages_1.PageType.PAGE,
|
|
35
|
-
status: pages_1.PageStatus.PUBLISHED,
|
|
36
|
-
search: ''
|
|
37
|
-
};
|
|
38
|
-
const response = await client.pages.getPages(params);
|
|
39
|
-
expect(response).toBeDefined();
|
|
40
|
-
expect(response.pages).toBeDefined();
|
|
41
|
-
expect(response.pagination).toBeDefined();
|
|
42
|
-
expect(response.pagination.limit).toBe(params.limit);
|
|
43
|
-
expect(response.pagination.offset).toBe(params.offset);
|
|
44
|
-
expect(response.pagination.total).toBeDefined();
|
|
45
|
-
});
|
|
46
|
-
it('should get a single page by ID', async () => {
|
|
47
|
-
const pageId = 2272741;
|
|
48
|
-
const response = await client.pages.getPage(pageId);
|
|
49
|
-
expect(response).toBeDefined();
|
|
50
|
-
expect(response.id).toBe(pageId);
|
|
51
|
-
expect(response.siteId).toBe(Number(testConfig.siteId));
|
|
52
|
-
expect(response.type).toBeDefined();
|
|
53
|
-
expect(response.uri).toBeDefined();
|
|
54
|
-
expect(response.status).toBeDefined();
|
|
55
|
-
expect(response.sortIndex).toBeDefined();
|
|
56
|
-
});
|
|
57
|
-
it('should handle error when getting non-existent page', async () => {
|
|
58
|
-
try {
|
|
59
|
-
await client.pages.getPage(999999);
|
|
60
|
-
fail('Should have thrown an error');
|
|
61
|
-
}
|
|
62
|
-
catch (error) {
|
|
63
|
-
const flexbeError = error;
|
|
64
|
-
expect(flexbeError.message).toBeDefined();
|
|
65
|
-
expect(flexbeError.status).toBeDefined();
|
|
66
|
-
}
|
|
67
|
-
});
|
|
68
|
-
it('should handle error when getting pages with invalid parameters', async () => {
|
|
69
|
-
try {
|
|
70
|
-
await client.pages.getPages({
|
|
71
|
-
offset: -1,
|
|
72
|
-
limit: 0
|
|
73
|
-
});
|
|
74
|
-
fail('Should have thrown an error');
|
|
75
|
-
}
|
|
76
|
-
catch (error) {
|
|
77
|
-
const flexbeError = error;
|
|
78
|
-
expect(flexbeError.message).toBeDefined();
|
|
79
|
-
expect(flexbeError.status).toBeDefined();
|
|
80
|
-
}
|
|
81
|
-
});
|
|
82
|
-
});
|
|
@@ -1,11 +0,0 @@
|
|
|
1
|
-
import { FlexbeConfig } from '../types';
|
|
2
|
-
export declare class FlexbeAuth {
|
|
3
|
-
private readonly config;
|
|
4
|
-
private readonly tokenManager;
|
|
5
|
-
private initialized;
|
|
6
|
-
private initializationPromise;
|
|
7
|
-
constructor(config: FlexbeConfig);
|
|
8
|
-
private initialize;
|
|
9
|
-
ensureInitialized(): Promise<void>;
|
|
10
|
-
getAuthHeaders(): Promise<Record<string, string>>;
|
|
11
|
-
}
|
package/dist/types/index.js
DELETED
|
File without changes
|
|
File without changes
|
|
File without changes
|