@contentstack/cli-cm-bulk-publish 0.1.1-beta.3 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/LICENSE +21 -0
- package/README.md +533 -281
- package/oclif.manifest.json +1 -1
- package/package.json +27 -12
- package/src/commands/cm/assets/publish.js +233 -0
- package/src/commands/cm/assets/unpublish.js +179 -0
- package/src/commands/cm/bulk-publish/cross-publish.js +187 -68
- package/src/commands/cm/bulk-publish/index.js +5 -6
- package/src/commands/cm/entries/publish-modified.js +197 -0
- package/src/commands/cm/entries/publish-non-localized-fields.js +208 -0
- package/src/commands/cm/entries/publish-only-unpublished.js +109 -0
- package/src/commands/cm/entries/publish.js +254 -0
- package/src/commands/cm/entries/unpublish.js +184 -0
- package/src/commands/cm/entries/update-and-publish.js +191 -0
- package/src/commands/cm/stacks/publish-clear-logs.js +82 -0
- package/src/commands/cm/stacks/publish-configure.js +46 -0
- package/src/commands/cm/stacks/publish-revert.js +102 -0
- package/src/commands/cm/stacks/publish.js +110 -0
- package/src/commands/cm/stacks/unpublish.js +282 -0
- package/src/config/index.js +60 -99
- package/src/consumer/publish.js +600 -377
- package/src/producer/add-fields.js +209 -189
- package/src/producer/cross-publish.js +195 -136
- package/src/producer/nonlocalized-field-changes.js +235 -216
- package/src/producer/publish-assets.js +104 -98
- package/src/producer/publish-edits.js +126 -113
- package/src/producer/publish-entries.js +135 -112
- package/src/producer/publish-unpublished-env.js +126 -114
- package/src/producer/revert.js +261 -230
- package/src/producer/unpublish.js +175 -137
- package/src/services/publish-only-unpublished.js +130 -0
- package/src/util/client.js +21 -17
- package/src/util/command-helper.js +25 -0
- package/src/util/fs.js +10 -11
- package/src/util/index.js +15 -16
- package/src/util/logger.js +21 -25
- package/src/util/queue.js +13 -13
- package/src/util/retryfailed.js +8 -4
- package/src/util/store.js +44 -52
- package/src/commands/cm/bulk-publish/add-fields.js +0 -117
- package/src/commands/cm/bulk-publish/assets.js +0 -117
- package/src/commands/cm/bulk-publish/clear.js +0 -63
- package/src/commands/cm/bulk-publish/configure.js +0 -46
- package/src/commands/cm/bulk-publish/entries.js +0 -125
- package/src/commands/cm/bulk-publish/entry-edits.js +0 -123
- package/src/commands/cm/bulk-publish/nonlocalized-field-changes.js +0 -116
- package/src/commands/cm/bulk-publish/revert.js +0 -81
- package/src/commands/cm/bulk-publish/unpublish.js +0 -164
- package/src/commands/cm/bulk-publish/unpublished-entries.js +0 -122
- package/src/util/request.js +0 -57
|
@@ -1,131 +1,137 @@
|
|
|
1
1
|
/* eslint-disable no-console */
|
|
2
2
|
/* eslint-disable new-cap */
|
|
3
3
|
/* eslint-disable camelcase */
|
|
4
|
-
const {getQueue} = require('../util/queue')
|
|
5
|
-
const {
|
|
6
|
-
const retryFailedLogs = require('../util/retryfailed')
|
|
7
|
-
const {validateFile} = require('../util/fs')
|
|
8
|
-
const {
|
|
9
|
-
const {isEmpty} = require('../util')
|
|
4
|
+
const { getQueue } = require('../util/queue');
|
|
5
|
+
const { performBulkPublish, publishAsset, initializeLogger } = require('../consumer/publish');
|
|
6
|
+
const retryFailedLogs = require('../util/retryfailed');
|
|
7
|
+
const { validateFile } = require('../util/fs');
|
|
8
|
+
const { isEmpty } = require('../util');
|
|
10
9
|
|
|
11
|
-
const queue = getQueue()
|
|
12
|
-
let logFileName
|
|
13
|
-
let bulkPublishSet = []
|
|
14
|
-
let filePath
|
|
10
|
+
const queue = getQueue();
|
|
11
|
+
let logFileName;
|
|
12
|
+
let bulkPublishSet = [];
|
|
13
|
+
let filePath;
|
|
15
14
|
|
|
16
15
|
/* eslint-disable no-param-reassign */
|
|
17
16
|
|
|
18
17
|
async function getAssets(stack, folder, bulkPublish, environments, locale, skip = 0) {
|
|
19
18
|
return new Promise((resolve, reject) => {
|
|
20
|
-
|
|
21
|
-
|
|
22
|
-
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
.
|
|
29
|
-
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
bulkPublishSet.push({
|
|
40
|
-
uid: assets[index].uid,
|
|
41
|
-
locale,
|
|
42
|
-
publish_details: assets[index].publish_details || [],
|
|
43
|
-
})
|
|
44
|
-
}
|
|
45
|
-
if (bulkPublishSet.length === 10) {
|
|
46
|
-
await queue.Enqueue({assets: bulkPublishSet, Type: 'asset', environments: environments, locale, stack: stack})
|
|
47
|
-
bulkPublishSet = []
|
|
19
|
+
let queryParams = {
|
|
20
|
+
folder: folder,
|
|
21
|
+
skip: skip,
|
|
22
|
+
include_count: true,
|
|
23
|
+
include_folders: true,
|
|
24
|
+
include_publish_details: true,
|
|
25
|
+
};
|
|
26
|
+
stack
|
|
27
|
+
.asset()
|
|
28
|
+
.query(queryParams)
|
|
29
|
+
.find()
|
|
30
|
+
.then(async (assetResponse) => {
|
|
31
|
+
if (assetResponse && assetResponse.items.length > 0) {
|
|
32
|
+
skip += assetResponse.items.length;
|
|
33
|
+
let assets = assetResponse.items;
|
|
34
|
+
for (let index = 0; index < assetResponse.items.length; index++) {
|
|
35
|
+
if (assets[index].is_dir === true) {
|
|
36
|
+
await getAssets(stack, assets[index].uid, bulkPublish, environments, locale, 0);
|
|
37
|
+
continue;
|
|
48
38
|
}
|
|
39
|
+
if (bulkPublish) {
|
|
40
|
+
if (bulkPublishSet.length < 10) {
|
|
41
|
+
bulkPublishSet.push({
|
|
42
|
+
uid: assets[index].uid,
|
|
43
|
+
locale,
|
|
44
|
+
publish_details: assets[index].publish_details || [],
|
|
45
|
+
});
|
|
46
|
+
}
|
|
47
|
+
if (bulkPublishSet.length === 10) {
|
|
48
|
+
await queue.Enqueue({
|
|
49
|
+
assets: bulkPublishSet,
|
|
50
|
+
Type: 'asset',
|
|
51
|
+
environments: environments,
|
|
52
|
+
locale,
|
|
53
|
+
stack: stack,
|
|
54
|
+
});
|
|
55
|
+
bulkPublishSet = [];
|
|
56
|
+
}
|
|
49
57
|
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
58
|
+
if (assetResponse.items.length - 1 === index && bulkPublishSet.length > 0 && bulkPublishSet.length < 10) {
|
|
59
|
+
await queue.Enqueue({
|
|
60
|
+
assets: bulkPublishSet,
|
|
61
|
+
Type: 'asset',
|
|
62
|
+
environments: environments,
|
|
63
|
+
locale,
|
|
64
|
+
stack: stack,
|
|
65
|
+
});
|
|
66
|
+
bulkPublishSet = [];
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
await queue.Enqueue({
|
|
70
|
+
assetUid: assets[index].uid,
|
|
71
|
+
publish_details: assets[index].publish_details || [],
|
|
72
|
+
environments: environments,
|
|
73
|
+
Type: 'asset',
|
|
74
|
+
locale,
|
|
75
|
+
stack: stack,
|
|
76
|
+
});
|
|
53
77
|
}
|
|
54
|
-
} else {
|
|
55
|
-
await queue.Enqueue({
|
|
56
|
-
assetUid: assets[index].uid, publish_details: assets[index].publish_details || [], environments: environments, Type: 'asset', locale, stack: stack
|
|
57
|
-
})
|
|
58
78
|
}
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
79
|
+
if (skip === assetResponse.count) {
|
|
80
|
+
return resolve(true);
|
|
81
|
+
}
|
|
82
|
+
await getAssets(stack, folder, bulkPublish, environments, locale, skip);
|
|
83
|
+
return resolve();
|
|
63
84
|
}
|
|
64
|
-
await getAssets(stack, folder, bulkPublish, environments, locale, skip)
|
|
65
|
-
return resolve()
|
|
66
|
-
} else {
|
|
67
|
-
// throw new Error(JSON.stringify({errorMessage: "No Assets found"}))
|
|
68
|
-
}
|
|
69
|
-
})
|
|
70
|
-
.catch(error => {
|
|
71
|
-
reject(error)
|
|
72
85
|
})
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
|
|
86
|
+
.catch((error) => {
|
|
87
|
+
reject(error);
|
|
88
|
+
});
|
|
89
|
+
});
|
|
76
90
|
}
|
|
77
91
|
|
|
78
92
|
function setConfig(conf, bp) {
|
|
79
93
|
if (bp) {
|
|
80
|
-
queue.consumer =
|
|
81
|
-
logFileName = 'bulk-publish-assets'
|
|
94
|
+
queue.consumer = performBulkPublish;
|
|
95
|
+
logFileName = 'bulk-publish-assets';
|
|
82
96
|
} else {
|
|
83
|
-
queue.consumer = publishAsset
|
|
84
|
-
logFileName = 'publish-assets'
|
|
97
|
+
queue.consumer = publishAsset;
|
|
98
|
+
logFileName = 'publish-assets';
|
|
85
99
|
}
|
|
86
|
-
config = conf
|
|
87
|
-
queue.config = conf
|
|
88
|
-
filePath = initializeLogger(logFileName)
|
|
100
|
+
config = conf;
|
|
101
|
+
queue.config = conf;
|
|
102
|
+
filePath = initializeLogger(logFileName);
|
|
89
103
|
}
|
|
90
104
|
|
|
91
|
-
async function start({retryFailed, bulkPublish, environments, folderUid, locales}, stack, config) {
|
|
105
|
+
async function start({ retryFailed, bulkPublish, environments, folderUid, locales }, stack, config) {
|
|
92
106
|
process.on('beforeExit', async () => {
|
|
93
|
-
const isErrorLogEmpty = await isEmpty(`${filePath}.error`)
|
|
94
|
-
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`)
|
|
107
|
+
const isErrorLogEmpty = await isEmpty(`${filePath}.error`);
|
|
108
|
+
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`);
|
|
95
109
|
if (!isErrorLogEmpty) {
|
|
96
|
-
console.log(`The error log for this session is stored at ${filePath}.error`)
|
|
110
|
+
console.log(`The error log for this session is stored at ${filePath}.error`);
|
|
97
111
|
} else if (!isSuccessLogEmpty) {
|
|
98
|
-
console.log(`The success log for this session is stored at ${filePath}.success`)
|
|
112
|
+
console.log(`The success log for this session is stored at ${filePath}.success`);
|
|
99
113
|
}
|
|
100
|
-
process.exit(0)
|
|
101
|
-
})
|
|
114
|
+
process.exit(0);
|
|
115
|
+
});
|
|
102
116
|
|
|
103
|
-
|
|
104
|
-
if (retryFailed) {
|
|
105
|
-
|
|
106
|
-
|
|
107
|
-
}
|
|
117
|
+
if (retryFailed) {
|
|
118
|
+
if (!validateFile(retryFailed, ['publish-assets', 'bulk-publish-assets'])) {
|
|
119
|
+
return false;
|
|
120
|
+
}
|
|
108
121
|
|
|
109
|
-
|
|
110
|
-
|
|
122
|
+
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false;
|
|
123
|
+
setConfig(config, bulkPublish);
|
|
111
124
|
|
|
112
|
-
|
|
113
|
-
|
|
114
|
-
|
|
115
|
-
|
|
116
|
-
|
|
117
|
-
|
|
118
|
-
|
|
119
|
-
|
|
120
|
-
|
|
121
|
-
await getAssets(stack, folderUid, bulkPublish, environments, locales[loc])
|
|
122
|
-
} catch(error) {
|
|
123
|
-
throw error
|
|
124
|
-
}
|
|
125
|
-
}
|
|
125
|
+
if (bulkPublish) {
|
|
126
|
+
await retryFailedLogs(retryFailed, queue, 'bulk');
|
|
127
|
+
} else {
|
|
128
|
+
await retryFailedLogs(retryFailed, { assetQueue: queue }, 'publish');
|
|
129
|
+
}
|
|
130
|
+
} else if (folderUid) {
|
|
131
|
+
setConfig(config, bulkPublish);
|
|
132
|
+
for (const element of locales) {
|
|
133
|
+
await getAssets(stack, folderUid, bulkPublish, environments, element);
|
|
126
134
|
}
|
|
127
|
-
} catch (error) {
|
|
128
|
-
throw error
|
|
129
135
|
}
|
|
130
136
|
}
|
|
131
137
|
|
|
@@ -133,4 +139,4 @@ module.exports = {
|
|
|
133
139
|
getAssets,
|
|
134
140
|
setConfig,
|
|
135
141
|
start,
|
|
136
|
-
}
|
|
142
|
+
};
|
|
@@ -4,163 +4,176 @@
|
|
|
4
4
|
/* eslint-disable no-console */
|
|
5
5
|
/* eslint-disable max-params */
|
|
6
6
|
/* eslint-disable camelcase */
|
|
7
|
-
const {getQueue} = require('../util/queue')
|
|
8
|
-
const {
|
|
9
|
-
const retryFailedLogs = require('../util/retryfailed')
|
|
10
|
-
const {validateFile} = require('../util/fs')
|
|
11
|
-
const {setDelayForBulkPublish} = require('../util')
|
|
12
|
-
const {isEmpty} = require('../util')
|
|
7
|
+
const { getQueue } = require('../util/queue');
|
|
8
|
+
const { performBulkPublish, publishEntry, initializeLogger } = require('../consumer/publish');
|
|
9
|
+
const retryFailedLogs = require('../util/retryfailed');
|
|
10
|
+
const { validateFile } = require('../util/fs');
|
|
11
|
+
const { setDelayForBulkPublish } = require('../util');
|
|
12
|
+
const { isEmpty } = require('../util');
|
|
13
13
|
|
|
14
|
-
let skipCount
|
|
15
|
-
const queue = getQueue()
|
|
16
|
-
let changedFlag = false
|
|
17
|
-
let bulkPublishSet = []
|
|
18
|
-
let logFileName
|
|
19
|
-
let filePath
|
|
14
|
+
let skipCount;
|
|
15
|
+
const queue = getQueue();
|
|
16
|
+
let changedFlag = false;
|
|
17
|
+
let bulkPublishSet = [];
|
|
18
|
+
let logFileName;
|
|
19
|
+
let filePath;
|
|
20
20
|
|
|
21
21
|
async function getEnvironment(stack, environmentName) {
|
|
22
22
|
return new Promise((resolve, reject) => {
|
|
23
|
-
stack
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
|
|
28
|
-
|
|
23
|
+
stack
|
|
24
|
+
.environment(environmentName)
|
|
25
|
+
.fetch()
|
|
26
|
+
.then((env) => {
|
|
27
|
+
resolve(env);
|
|
28
|
+
})
|
|
29
|
+
.catch((error) => reject(error));
|
|
30
|
+
});
|
|
29
31
|
}
|
|
30
32
|
|
|
31
33
|
async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, skip = 0) {
|
|
32
34
|
return new Promise((resolve, reject) => {
|
|
33
|
-
skipCount = skip
|
|
35
|
+
skipCount = skip;
|
|
34
36
|
|
|
35
37
|
let queryParams = {
|
|
36
38
|
include_count: true,
|
|
37
39
|
skip: skipCount,
|
|
38
40
|
include_publish_details: true,
|
|
39
41
|
locale,
|
|
40
|
-
}
|
|
42
|
+
};
|
|
41
43
|
|
|
42
|
-
stack
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
53
|
-
|
|
54
|
-
|
|
44
|
+
stack
|
|
45
|
+
.contentType(contentType)
|
|
46
|
+
.entry()
|
|
47
|
+
.query(queryParams)
|
|
48
|
+
.find()
|
|
49
|
+
.then(async (responseEntries) => {
|
|
50
|
+
skipCount += responseEntries.items.length;
|
|
51
|
+
if (responseEntries.items.length > 0) {
|
|
52
|
+
let entries = responseEntries.items;
|
|
53
|
+
for (let index = 0; index < responseEntries.items.length; index++) {
|
|
54
|
+
const publishedEntry = entries[index].publish_details.find(
|
|
55
|
+
(publishEnv) => publishEnv.environment === environmentUid && publishEnv.locale === locale,
|
|
56
|
+
);
|
|
57
|
+
if (publishedEntry && publishedEntry.version < entries[index]._version) {
|
|
58
|
+
changedFlag = true;
|
|
59
|
+
if (bulkPublish) {
|
|
60
|
+
if (bulkPublishSet.length < 10) {
|
|
61
|
+
bulkPublishSet.push({
|
|
62
|
+
uid: entries[index].uid,
|
|
63
|
+
content_type: contentType,
|
|
64
|
+
locale,
|
|
65
|
+
publish_details: entries[index].publish_details || [],
|
|
66
|
+
});
|
|
67
|
+
}
|
|
68
|
+
} else {
|
|
69
|
+
await queue.Enqueue({
|
|
55
70
|
content_type: contentType,
|
|
56
|
-
locale,
|
|
57
71
|
publish_details: entries[index].publish_details || [],
|
|
58
|
-
|
|
72
|
+
environments: environments,
|
|
73
|
+
entryUid: entries[index].uid,
|
|
74
|
+
locale,
|
|
75
|
+
Type: 'entry',
|
|
76
|
+
stack: stack,
|
|
77
|
+
});
|
|
59
78
|
}
|
|
60
|
-
}
|
|
79
|
+
}
|
|
80
|
+
if (bulkPublishSet.length === 10) {
|
|
61
81
|
await queue.Enqueue({
|
|
62
|
-
|
|
63
|
-
|
|
82
|
+
entries: bulkPublishSet,
|
|
83
|
+
locale,
|
|
84
|
+
Type: 'entry',
|
|
85
|
+
environments: environments,
|
|
86
|
+
stack: stack,
|
|
87
|
+
});
|
|
88
|
+
bulkPublishSet = [];
|
|
89
|
+
}
|
|
90
|
+
if (
|
|
91
|
+
index === responseEntries.items.length - 1 &&
|
|
92
|
+
bulkPublishSet.length > 0 &&
|
|
93
|
+
bulkPublishSet.length <= 10
|
|
94
|
+
) {
|
|
95
|
+
await queue.Enqueue({
|
|
96
|
+
entries: bulkPublishSet,
|
|
97
|
+
locale,
|
|
98
|
+
Type: 'entry',
|
|
99
|
+
environments: environments,
|
|
100
|
+
stack: stack,
|
|
101
|
+
});
|
|
102
|
+
bulkPublishSet = [];
|
|
64
103
|
}
|
|
65
|
-
}
|
|
66
|
-
if (bulkPublishSet.length === 10) {
|
|
67
|
-
await queue.Enqueue({
|
|
68
|
-
entries: bulkPublishSet, locale, Type: 'entry', environments: environments, stack: stack
|
|
69
|
-
})
|
|
70
|
-
bulkPublishSet = []
|
|
71
|
-
}
|
|
72
|
-
if (index === responseEntries.items.length - 1 && bulkPublishSet.length > 0 && bulkPublishSet.length <= 10) {
|
|
73
|
-
await queue.Enqueue({
|
|
74
|
-
entries: bulkPublishSet, locale, Type: 'entry', environments: environments, stack: stack
|
|
75
|
-
})
|
|
76
|
-
bulkPublishSet = []
|
|
77
104
|
}
|
|
78
105
|
}
|
|
79
|
-
|
|
80
|
-
|
|
81
|
-
|
|
82
|
-
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
})
|
|
106
|
+
if (responseEntries.count === skipCount) {
|
|
107
|
+
if (!changedFlag)
|
|
108
|
+
console.log(`No Edits Were observed on specified Environment for contentType ${contentType}`);
|
|
109
|
+
bulkPublishSet = [];
|
|
110
|
+
return resolve();
|
|
111
|
+
}
|
|
112
|
+
await getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, skipCount);
|
|
113
|
+
return resolve();
|
|
114
|
+
})
|
|
115
|
+
.catch((error) => {
|
|
116
|
+
reject(error);
|
|
117
|
+
});
|
|
118
|
+
});
|
|
92
119
|
}
|
|
93
120
|
|
|
94
121
|
function setConfig(conf, bp) {
|
|
95
122
|
if (bp) {
|
|
96
|
-
logFileName = 'bulk-publish-edits'
|
|
97
|
-
queue.consumer =
|
|
123
|
+
logFileName = 'bulk-publish-edits';
|
|
124
|
+
queue.consumer = performBulkPublish;
|
|
98
125
|
} else {
|
|
99
|
-
logFileName = 'publish-edits'
|
|
100
|
-
queue.consumer = publishEntry
|
|
126
|
+
logFileName = 'publish-edits';
|
|
127
|
+
queue.consumer = publishEntry;
|
|
101
128
|
}
|
|
102
|
-
config = conf
|
|
103
|
-
queue.config = config
|
|
104
|
-
filePath = initializeLogger(logFileName)
|
|
129
|
+
config = conf;
|
|
130
|
+
queue.config = config;
|
|
131
|
+
filePath = initializeLogger(logFileName);
|
|
105
132
|
}
|
|
106
133
|
|
|
107
|
-
async function start({retryFailed, bulkPublish, sourceEnv, contentTypes, locales, environments}, stack, config) {
|
|
134
|
+
async function start({ retryFailed, bulkPublish, sourceEnv, contentTypes, locales, environments }, stack, config) {
|
|
108
135
|
process.on('beforeExit', async () => {
|
|
109
|
-
const isErrorLogEmpty = await isEmpty(`${filePath}.error`)
|
|
110
|
-
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`)
|
|
136
|
+
const isErrorLogEmpty = await isEmpty(`${filePath}.error`);
|
|
137
|
+
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`);
|
|
111
138
|
if (!isErrorLogEmpty) {
|
|
112
|
-
console.log(`The error log for this session is stored at ${filePath}.error`)
|
|
139
|
+
console.log(`The error log for this session is stored at ${filePath}.error`);
|
|
113
140
|
} else if (!isSuccessLogEmpty) {
|
|
114
|
-
console.log(`The success log for this session is stored at ${filePath}.success`)
|
|
141
|
+
console.log(`The success log for this session is stored at ${filePath}.success`);
|
|
115
142
|
}
|
|
116
|
-
process.exit(0)
|
|
117
|
-
})
|
|
143
|
+
process.exit(0);
|
|
144
|
+
});
|
|
118
145
|
|
|
119
|
-
|
|
120
|
-
if (retryFailed) {
|
|
121
|
-
if (
|
|
122
|
-
|
|
123
|
-
|
|
124
|
-
}
|
|
125
|
-
|
|
126
|
-
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false
|
|
127
|
-
setConfig(config, bulkPublish)
|
|
146
|
+
if (retryFailed) {
|
|
147
|
+
if (typeof retryFailed === 'string') {
|
|
148
|
+
if (!validateFile(retryFailed, ['publish-edits', 'bulk-publish-edits'])) {
|
|
149
|
+
return false;
|
|
150
|
+
}
|
|
128
151
|
|
|
129
|
-
|
|
130
|
-
|
|
131
|
-
|
|
132
|
-
|
|
133
|
-
|
|
152
|
+
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false;
|
|
153
|
+
setConfig(config, bulkPublish);
|
|
154
|
+
|
|
155
|
+
if (bulkPublish) {
|
|
156
|
+
await retryFailedLogs(retryFailed, queue, 'bulk');
|
|
157
|
+
} else {
|
|
158
|
+
await retryFailedLogs(retryFailed, { entryQueue: queue }, 'publish');
|
|
134
159
|
}
|
|
135
|
-
}
|
|
136
|
-
|
|
137
|
-
|
|
138
|
-
|
|
139
|
-
|
|
140
|
-
|
|
141
|
-
|
|
142
|
-
|
|
143
|
-
|
|
144
|
-
/* eslint-enable no-await-in-loop */
|
|
145
|
-
} catch (error) {
|
|
146
|
-
throw error
|
|
147
|
-
}
|
|
148
|
-
}
|
|
149
|
-
}
|
|
150
|
-
} catch (error) {
|
|
151
|
-
throw error
|
|
160
|
+
}
|
|
161
|
+
} else if (sourceEnv) {
|
|
162
|
+
setConfig(config, bulkPublish);
|
|
163
|
+
const environmentDetails = await getEnvironment(stack, sourceEnv);
|
|
164
|
+
for (let i = 0; i < contentTypes.length; i += 1) {
|
|
165
|
+
for (let j = 0; j < locales.length; j += 1) {
|
|
166
|
+
/* eslint-disable no-await-in-loop */
|
|
167
|
+
await getEntries(stack, contentTypes[i], environmentDetails.uid, locales[j], bulkPublish, environments);
|
|
168
|
+
/* eslint-enable no-await-in-loop */
|
|
152
169
|
}
|
|
153
170
|
}
|
|
154
|
-
} catch(error) {
|
|
155
|
-
throw error
|
|
156
171
|
}
|
|
157
172
|
}
|
|
158
173
|
|
|
159
|
-
// start();
|
|
160
|
-
|
|
161
174
|
module.exports = {
|
|
162
175
|
getEntries,
|
|
163
176
|
getEnvironment,
|
|
164
177
|
setConfig,
|
|
165
178
|
start,
|
|
166
|
-
}
|
|
179
|
+
};
|