@agility/content-sync 1.1.9 → 1.2.0-beta.2
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/.babelrc +9 -6
- package/dist/agility-sync-sdk.node.js +9271 -9445
- package/dist/index.d.ts +20 -0
- package/dist/index.js +25 -0
- package/dist/methods/clearSync.d.ts +3 -0
- package/dist/methods/clearSync.js +21 -0
- package/dist/methods/runSync.d.ts +39 -0
- package/dist/methods/runSync.js +94 -0
- package/dist/methods/syncAssets.d.ts +18 -0
- package/dist/methods/syncAssets.js +34 -0
- package/dist/methods/syncContainers.d.ts +18 -0
- package/dist/methods/syncContainers.js +34 -0
- package/dist/methods/syncContent.d.ts +20 -0
- package/dist/methods/syncContent.js +83 -0
- package/dist/methods/syncContentModels.d.ts +10 -0
- package/dist/methods/syncContentModels.js +34 -0
- package/dist/methods/syncGalleries.d.ts +18 -0
- package/dist/methods/syncGalleries.js +34 -0
- package/dist/methods/syncPageModels.d.ts +18 -0
- package/dist/methods/syncPageModels.js +34 -0
- package/dist/methods/syncPages.d.ts +20 -0
- package/dist/methods/syncPages.js +82 -0
- package/dist/store-interface-console.d.ts +163 -0
- package/dist/store-interface-console.js +146 -0
- package/dist/store-interface-filesystem.d.ts +166 -0
- package/dist/store-interface-filesystem.js +362 -0
- package/dist/store-interface.d.ts +69 -0
- package/dist/store-interface.js +430 -0
- package/dist/sync-client.d.ts +29 -0
- package/dist/sync-client.js +126 -0
- package/dist/types/AgilityClient.d.ts +12 -0
- package/dist/types/AgilityClient.js +1 -0
- package/dist/types/Asset.d.ts +18 -0
- package/dist/types/Asset.js +1 -0
- package/dist/types/Container.d.ts +15 -0
- package/dist/types/Container.js +1 -0
- package/dist/types/ContentItem.d.ts +20 -0
- package/dist/types/ContentItem.js +1 -0
- package/dist/types/ContentModel.d.ts +23 -0
- package/dist/types/ContentModel.js +1 -0
- package/dist/types/Gallery.d.ts +15 -0
- package/dist/types/Gallery.js +1 -0
- package/dist/types/Page.d.ts +14 -0
- package/dist/types/Page.js +1 -0
- package/dist/types/PageModel.d.ts +36 -0
- package/dist/types/PageModel.js +1 -0
- package/dist/types/StoreInterface.d.ts +165 -0
- package/dist/types/StoreInterface.js +1 -0
- package/dist/types/SyncProgress.d.ts +11 -0
- package/dist/types/SyncProgress.js +1 -0
- package/dist/types.d.ts +11 -0
- package/dist/types.js +1 -0
- package/dist/util.d.ts +7 -0
- package/dist/util.js +23 -0
- package/package.json +7 -3
- package/src/methods/clearSync.js +1 -2
- package/src/methods/runSync.js +11 -13
- package/src/methods/syncContent.js +5 -5
- package/src/methods/syncPages.js +3 -3
- package/src/store-interface.js +405 -423
- package/src/sync-client.js +17 -10
- package/test/03-store.getContentItem.tests.js +6 -4
- package/test/04-store.getContentList.tests.js +10 -10
- package/test/99-clearSync.tests.js +3 -3
- package/test/_syncClients.config.js +3 -3
- package/webpack.config.js +11 -0
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
export interface Gallery {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
description?: string;
|
|
5
|
+
items: GalleryItem[];
|
|
6
|
+
languageCode: string;
|
|
7
|
+
}
|
|
8
|
+
export interface GalleryItem {
|
|
9
|
+
id: number;
|
|
10
|
+
title: string;
|
|
11
|
+
description?: string;
|
|
12
|
+
url: string;
|
|
13
|
+
thumbnailUrl?: string;
|
|
14
|
+
order: number;
|
|
15
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,36 @@
|
|
|
1
|
+
export interface PageModel {
|
|
2
|
+
id: number;
|
|
3
|
+
name: string;
|
|
4
|
+
definitionName: string;
|
|
5
|
+
description?: string;
|
|
6
|
+
zones: PageModelZone[];
|
|
7
|
+
languageCode: string;
|
|
8
|
+
}
|
|
9
|
+
export interface PageModelZone {
|
|
10
|
+
name: string;
|
|
11
|
+
label: string;
|
|
12
|
+
type: string;
|
|
13
|
+
required: boolean;
|
|
14
|
+
modules: PageModelModule[];
|
|
15
|
+
}
|
|
16
|
+
export interface PageModelModule {
|
|
17
|
+
name: string;
|
|
18
|
+
label: string;
|
|
19
|
+
type: string;
|
|
20
|
+
fields: PageModelField[];
|
|
21
|
+
}
|
|
22
|
+
export interface PageModelField {
|
|
23
|
+
name: string;
|
|
24
|
+
label: string;
|
|
25
|
+
type: string;
|
|
26
|
+
required: boolean;
|
|
27
|
+
defaultValue?: any;
|
|
28
|
+
validation?: PageModelFieldValidation;
|
|
29
|
+
}
|
|
30
|
+
export interface PageModelFieldValidation {
|
|
31
|
+
type: string;
|
|
32
|
+
message?: string;
|
|
33
|
+
pattern?: string;
|
|
34
|
+
min?: number;
|
|
35
|
+
max?: number;
|
|
36
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1,165 @@
|
|
|
1
|
+
import type { ContentItem } from './ContentItem';
|
|
2
|
+
import type { Page } from './Page';
|
|
3
|
+
import type { Asset } from './Asset';
|
|
4
|
+
import type { Gallery } from './Gallery';
|
|
5
|
+
import type { Container } from './Container';
|
|
6
|
+
import type { ContentModel } from './ContentModel';
|
|
7
|
+
import type { PageModel } from './PageModel';
|
|
8
|
+
export interface StoreOptions {
|
|
9
|
+
rootPath: string;
|
|
10
|
+
languageCode: string;
|
|
11
|
+
clearData?: boolean;
|
|
12
|
+
}
|
|
13
|
+
export interface StoreInterface {
|
|
14
|
+
clearItems(options: StoreOptions): Promise<void>;
|
|
15
|
+
deleteItem(params: {
|
|
16
|
+
options: StoreOptions;
|
|
17
|
+
itemType: string;
|
|
18
|
+
languageCode: string;
|
|
19
|
+
itemID: string | number;
|
|
20
|
+
}): Promise<void>;
|
|
21
|
+
getItem(params: {
|
|
22
|
+
options: StoreOptions;
|
|
23
|
+
itemType: string;
|
|
24
|
+
languageCode: string;
|
|
25
|
+
itemID: string | number;
|
|
26
|
+
}): Promise<any>;
|
|
27
|
+
saveItem(params: {
|
|
28
|
+
options: StoreOptions;
|
|
29
|
+
item: any;
|
|
30
|
+
itemType: string;
|
|
31
|
+
languageCode: string;
|
|
32
|
+
itemID: string | number;
|
|
33
|
+
}): Promise<void>;
|
|
34
|
+
getContentItem(options: {
|
|
35
|
+
contentID: number;
|
|
36
|
+
languageCode: string;
|
|
37
|
+
}): Promise<ContentItem | null>;
|
|
38
|
+
saveContentItem(options: {
|
|
39
|
+
contentItem: ContentItem;
|
|
40
|
+
languageCode: string;
|
|
41
|
+
}): Promise<void>;
|
|
42
|
+
getContentItems(options: {
|
|
43
|
+
languageCode: string;
|
|
44
|
+
}): Promise<ContentItem[]>;
|
|
45
|
+
saveContentItems(options: {
|
|
46
|
+
contentItems: ContentItem[];
|
|
47
|
+
languageCode: string;
|
|
48
|
+
}): Promise<void>;
|
|
49
|
+
getPage(options: {
|
|
50
|
+
pageID: number;
|
|
51
|
+
languageCode: string;
|
|
52
|
+
}): Promise<Page | null>;
|
|
53
|
+
savePageItem(options: {
|
|
54
|
+
page: Page;
|
|
55
|
+
languageCode: string;
|
|
56
|
+
}): Promise<void>;
|
|
57
|
+
getPages(options: {
|
|
58
|
+
languageCode: string;
|
|
59
|
+
}): Promise<Page[]>;
|
|
60
|
+
savePageItems(options: {
|
|
61
|
+
pages: Page[];
|
|
62
|
+
languageCode: string;
|
|
63
|
+
}): Promise<void>;
|
|
64
|
+
getAsset(options: {
|
|
65
|
+
assetID: number;
|
|
66
|
+
languageCode: string;
|
|
67
|
+
}): Promise<Asset | null>;
|
|
68
|
+
saveAsset(options: {
|
|
69
|
+
asset: Asset;
|
|
70
|
+
languageCode: string;
|
|
71
|
+
}): Promise<void>;
|
|
72
|
+
getAssets(options: {
|
|
73
|
+
languageCode: string;
|
|
74
|
+
}): Promise<Asset[]>;
|
|
75
|
+
saveAssets(options: {
|
|
76
|
+
assets: Asset[];
|
|
77
|
+
languageCode: string;
|
|
78
|
+
}): Promise<void>;
|
|
79
|
+
getGallery(options: {
|
|
80
|
+
galleryID: number;
|
|
81
|
+
languageCode: string;
|
|
82
|
+
}): Promise<Gallery | null>;
|
|
83
|
+
saveGallery(options: {
|
|
84
|
+
gallery: Gallery;
|
|
85
|
+
languageCode: string;
|
|
86
|
+
}): Promise<void>;
|
|
87
|
+
getGalleries(options: {
|
|
88
|
+
languageCode: string;
|
|
89
|
+
}): Promise<Gallery[]>;
|
|
90
|
+
saveGalleries(options: {
|
|
91
|
+
galleries: Gallery[];
|
|
92
|
+
languageCode: string;
|
|
93
|
+
}): Promise<void>;
|
|
94
|
+
getContainer(options: {
|
|
95
|
+
containerID: number;
|
|
96
|
+
languageCode: string;
|
|
97
|
+
}): Promise<Container | null>;
|
|
98
|
+
saveContainer(options: {
|
|
99
|
+
container: Container;
|
|
100
|
+
languageCode: string;
|
|
101
|
+
}): Promise<void>;
|
|
102
|
+
getContainers(options: {
|
|
103
|
+
languageCode: string;
|
|
104
|
+
}): Promise<Container[]>;
|
|
105
|
+
saveContainers(options: {
|
|
106
|
+
containers: Container[];
|
|
107
|
+
languageCode: string;
|
|
108
|
+
}): Promise<void>;
|
|
109
|
+
getContentModel(options: {
|
|
110
|
+
contentModelID: number;
|
|
111
|
+
languageCode: string;
|
|
112
|
+
}): Promise<ContentModel | null>;
|
|
113
|
+
saveContentModel(options: {
|
|
114
|
+
contentModel: ContentModel;
|
|
115
|
+
languageCode: string;
|
|
116
|
+
}): Promise<void>;
|
|
117
|
+
getContentModels(options: {
|
|
118
|
+
languageCode: string;
|
|
119
|
+
}): Promise<ContentModel[]>;
|
|
120
|
+
saveContentModels(options: {
|
|
121
|
+
contentModels: ContentModel[];
|
|
122
|
+
languageCode: string;
|
|
123
|
+
}): Promise<void>;
|
|
124
|
+
getPageModel(options: {
|
|
125
|
+
pageModelID: number;
|
|
126
|
+
languageCode: string;
|
|
127
|
+
}): Promise<PageModel | null>;
|
|
128
|
+
savePageModel(options: {
|
|
129
|
+
pageModel: PageModel;
|
|
130
|
+
languageCode: string;
|
|
131
|
+
}): Promise<void>;
|
|
132
|
+
getPageModels(options: {
|
|
133
|
+
languageCode: string;
|
|
134
|
+
}): Promise<PageModel[]>;
|
|
135
|
+
savePageModels(options: {
|
|
136
|
+
pageModels: PageModel[];
|
|
137
|
+
languageCode: string;
|
|
138
|
+
}): Promise<void>;
|
|
139
|
+
getList(options: {
|
|
140
|
+
listName: string;
|
|
141
|
+
languageCode: string;
|
|
142
|
+
}): Promise<any[]>;
|
|
143
|
+
saveList(options: {
|
|
144
|
+
listName: string;
|
|
145
|
+
items: any[];
|
|
146
|
+
languageCode: string;
|
|
147
|
+
}): Promise<void>;
|
|
148
|
+
mergeItemToList(params: {
|
|
149
|
+
options: StoreOptions;
|
|
150
|
+
item: any;
|
|
151
|
+
languageCode: string;
|
|
152
|
+
itemID: string | number;
|
|
153
|
+
referenceName: string;
|
|
154
|
+
definitionName: string;
|
|
155
|
+
}): Promise<void>;
|
|
156
|
+
removeItemFromList(options: {
|
|
157
|
+
listName: string;
|
|
158
|
+
itemID: number;
|
|
159
|
+
languageCode: string;
|
|
160
|
+
}): Promise<void>;
|
|
161
|
+
initialize(options: StoreOptions): Promise<void>;
|
|
162
|
+
clearData(options: {
|
|
163
|
+
languageCode: string;
|
|
164
|
+
}): Promise<void>;
|
|
165
|
+
}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/types.d.ts
ADDED
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
export {};
|
package/dist/util.d.ts
ADDED
|
@@ -0,0 +1,7 @@
|
|
|
1
|
+
export declare const logDebug: (message: string) => void;
|
|
2
|
+
export declare const logInfo: (message: string) => void;
|
|
3
|
+
export declare const logError: (message: string) => void;
|
|
4
|
+
export declare const logWarning: (message: string) => void;
|
|
5
|
+
export declare const logSuccess: (message: string) => void;
|
|
6
|
+
export declare const asyncForEach: <T>(array: T[], callback: (item: T, index: number, array: T[]) => Promise<void>) => Promise<void>;
|
|
7
|
+
export declare const sleep: (ms: number) => Promise<void>;
|
package/dist/util.js
ADDED
|
@@ -0,0 +1,23 @@
|
|
|
1
|
+
export const logDebug = (message) => {
|
|
2
|
+
console.debug(message);
|
|
3
|
+
};
|
|
4
|
+
export const logInfo = (message) => {
|
|
5
|
+
console.info(message);
|
|
6
|
+
};
|
|
7
|
+
export const logError = (message) => {
|
|
8
|
+
console.error(message);
|
|
9
|
+
};
|
|
10
|
+
export const logWarning = (message) => {
|
|
11
|
+
console.warn(message);
|
|
12
|
+
};
|
|
13
|
+
export const logSuccess = (message) => {
|
|
14
|
+
console.log(message);
|
|
15
|
+
};
|
|
16
|
+
export const asyncForEach = async (array, callback) => {
|
|
17
|
+
for (let index = 0; index < array.length; index++) {
|
|
18
|
+
await callback(array[index], index, array);
|
|
19
|
+
}
|
|
20
|
+
};
|
|
21
|
+
export const sleep = (ms) => {
|
|
22
|
+
return new Promise(resolve => setTimeout(resolve, ms));
|
|
23
|
+
};
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@agility/content-sync",
|
|
3
|
-
"version": "1.
|
|
3
|
+
"version": "1.2.0-beta.2",
|
|
4
4
|
"description": "JavaScript SDK for synchronizing content from Agility CMS",
|
|
5
5
|
"main": "dist/agility-sync-sdk.node.js",
|
|
6
6
|
"scripts": {
|
|
@@ -17,7 +17,9 @@
|
|
|
17
17
|
"contributors": [
|
|
18
18
|
"Joel Varty",
|
|
19
19
|
"James Vidler",
|
|
20
|
-
"Joshua Isaac"
|
|
20
|
+
"Joshua Isaac",
|
|
21
|
+
"Kevin Tran",
|
|
22
|
+
"Aaron Taylor"
|
|
21
23
|
],
|
|
22
24
|
"bugs": {
|
|
23
25
|
"url": "https://github.com/agility/agility-sync-sdk/issues"
|
|
@@ -32,6 +34,7 @@
|
|
|
32
34
|
"@babel/cli": "^7.2.3",
|
|
33
35
|
"@babel/core": "^7.3.4",
|
|
34
36
|
"@babel/node": "^7.2.2",
|
|
37
|
+
"@babel/plugin-transform-runtime": "^7.28.0",
|
|
35
38
|
"@babel/preset-env": "^7.3.4",
|
|
36
39
|
"@babel/register": "^7.0.0",
|
|
37
40
|
"agility-jsdoc-template": "1.0.3",
|
|
@@ -40,7 +43,8 @@
|
|
|
40
43
|
"jsdoc": "^3.5.5",
|
|
41
44
|
"mocha": "^8.2.1",
|
|
42
45
|
"nyc": "^15.0.0",
|
|
46
|
+
"regenerator-runtime": "^0.14.1",
|
|
43
47
|
"webpack": "^4.29.6",
|
|
44
48
|
"webpack-cli": "^3.2.3"
|
|
45
49
|
}
|
|
46
|
-
}
|
|
50
|
+
}
|
package/src/methods/clearSync.js
CHANGED
package/src/methods/runSync.js
CHANGED
|
@@ -1,9 +1,8 @@
|
|
|
1
1
|
import { logInfo, logSuccess } from '../util'
|
|
2
2
|
|
|
3
3
|
|
|
4
|
-
const syncRunner = async function () {
|
|
4
|
+
const syncRunner = async function (config, agilityClient, storeInterface, syncContent, syncPages) {
|
|
5
5
|
|
|
6
|
-
const storeInterface = this.store.getStore();
|
|
7
6
|
|
|
8
7
|
//if a mutex has been defined, call the wait lock
|
|
9
8
|
let lockRelease = null
|
|
@@ -17,7 +16,7 @@ const syncRunner = async function () {
|
|
|
17
16
|
|
|
18
17
|
|
|
19
18
|
//actually do the sync
|
|
20
|
-
await sync(
|
|
19
|
+
await sync(config, agilityClient, storeInterface, syncContent, syncPages)
|
|
21
20
|
|
|
22
21
|
} finally {
|
|
23
22
|
if (lockRelease) {
|
|
@@ -28,13 +27,12 @@ const syncRunner = async function () {
|
|
|
28
27
|
}
|
|
29
28
|
|
|
30
29
|
|
|
31
|
-
const sync = async (
|
|
30
|
+
const sync = async (config, agilityClient, storeInterface, syncContent, syncPages) => {
|
|
32
31
|
|
|
33
|
-
const languageCodes =
|
|
34
|
-
const channels =
|
|
35
|
-
const storeInterface = clientObj.store;
|
|
32
|
+
const languageCodes = config.languages;
|
|
33
|
+
const channels = config.channels;
|
|
36
34
|
|
|
37
|
-
const modeStr =
|
|
35
|
+
const modeStr = config.isPreview ? "preview" : "live"
|
|
38
36
|
|
|
39
37
|
for (const languageCode of languageCodes) {
|
|
40
38
|
|
|
@@ -51,8 +49,8 @@ const sync = async (clientObj) => {
|
|
|
51
49
|
}
|
|
52
50
|
|
|
53
51
|
logSuccess(`Starting Sync for ${languageCode} - ${modeStr} mode.`);
|
|
54
|
-
const newItemToken = await
|
|
55
|
-
const newPageToken = await
|
|
52
|
+
const newItemToken = await syncContent(languageCode, syncState.itemToken);
|
|
53
|
+
const newPageToken = await syncPages(languageCode, syncState.pageToken);
|
|
56
54
|
|
|
57
55
|
if (newItemToken != syncState.itemToken
|
|
58
56
|
|| newPageToken != syncState.pageToken) {
|
|
@@ -61,10 +59,10 @@ const sync = async (clientObj) => {
|
|
|
61
59
|
for (const channelName of channels) {
|
|
62
60
|
logInfo(`Updating Sitemap channel ${channelName} in ${languageCode}`);
|
|
63
61
|
|
|
64
|
-
const sitemap = await
|
|
62
|
+
const sitemap = await agilityClient.getSitemapFlat({ channelName, languageCode });
|
|
65
63
|
storeInterface.saveSitemap({ sitemap, languageCode, channelName });
|
|
66
64
|
|
|
67
|
-
const sitemapNested = await
|
|
65
|
+
const sitemapNested = await agilityClient.getSitemapNested({ channelName, languageCode });
|
|
68
66
|
storeInterface.saveSitemapNested({ sitemapNested, languageCode, channelName });
|
|
69
67
|
|
|
70
68
|
}
|
|
@@ -75,7 +73,7 @@ const sync = async (clientObj) => {
|
|
|
75
73
|
let lastAccessDate = null;
|
|
76
74
|
if (urlRedirections) lastAccessDate = urlRedirections.lastAccessDate;
|
|
77
75
|
|
|
78
|
-
urlRedirections = await
|
|
76
|
+
urlRedirections = await agilityClient.getUrlRedirections({ lastAccessDate });
|
|
79
77
|
if (urlRedirections && urlRedirections.isUpToDate === false) {
|
|
80
78
|
logInfo(`URL Redirections Updated and Saved`);
|
|
81
79
|
await storeInterface.saveUrlRedirections({ urlRedirections, languageCode });
|
|
@@ -4,8 +4,8 @@ import { logInfo, logWarning, sleep } from '../util'
|
|
|
4
4
|
/**
|
|
5
5
|
* Sync the content items in the specified Agility Instance.
|
|
6
6
|
*/
|
|
7
|
-
export default async function (languageCode, token) {
|
|
8
|
-
|
|
7
|
+
export default async function (languageCode, token, storeInterface, agilityClient) {
|
|
8
|
+
|
|
9
9
|
|
|
10
10
|
if (!token) token = 0;
|
|
11
11
|
|
|
@@ -19,7 +19,7 @@ export default async function (languageCode, token) {
|
|
|
19
19
|
|
|
20
20
|
|
|
21
21
|
//sync content items...
|
|
22
|
-
const syncRet = await
|
|
22
|
+
const syncRet = await agilityClient.getSyncContent({
|
|
23
23
|
syncToken: token,
|
|
24
24
|
pageSize: 100,
|
|
25
25
|
languageCode: languageCode,
|
|
@@ -35,7 +35,7 @@ export default async function (languageCode, token) {
|
|
|
35
35
|
break
|
|
36
36
|
}
|
|
37
37
|
|
|
38
|
-
if (!
|
|
38
|
+
if (!busy) {
|
|
39
39
|
//first time we're busy...
|
|
40
40
|
busy = true
|
|
41
41
|
logInfo("Sync API is busy. Waiting...")
|
|
@@ -54,7 +54,7 @@ export default async function (languageCode, token) {
|
|
|
54
54
|
const syncItems = syncRet.items;
|
|
55
55
|
|
|
56
56
|
//if we don't get anything back, kick out
|
|
57
|
-
if (syncItems.length > 0
|
|
57
|
+
if (syncItems.length > 0) {
|
|
58
58
|
|
|
59
59
|
for (let index = 0; index < syncItems.length; index++) {
|
|
60
60
|
await storeInterface.saveContentItem({ contentItem: syncItems[index], languageCode });
|
package/src/methods/syncPages.js
CHANGED
|
@@ -1,7 +1,7 @@
|
|
|
1
1
|
import { logInfo, logWarning, sleep } from '../util'
|
|
2
2
|
|
|
3
|
-
export default async function (languageCode, token) {
|
|
4
|
-
|
|
3
|
+
export default async function (languageCode, token, storeInterface, agilityClient) {
|
|
4
|
+
|
|
5
5
|
if (!token) token = 0;
|
|
6
6
|
|
|
7
7
|
let itemCount = 0;
|
|
@@ -14,7 +14,7 @@ export default async function (languageCode, token) {
|
|
|
14
14
|
|
|
15
15
|
do {
|
|
16
16
|
//sync pages...
|
|
17
|
-
const syncRet = await
|
|
17
|
+
const syncRet = await agilityClient.getSyncPages({
|
|
18
18
|
syncToken: token,
|
|
19
19
|
pageSize: 100,
|
|
20
20
|
languageCode: languageCode
|