@contentstack/cli-cm-bulk-publish 0.1.1-beta.5 → 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 +525 -318
- package/oclif.manifest.json +1 -1
- package/package.json +26 -11
- 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 +181 -67
- 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 +18 -57
- package/src/consumer/publish.js +587 -362
- package/src/producer/add-fields.js +204 -179
- package/src/producer/cross-publish.js +175 -98
- package/src/producer/nonlocalized-field-changes.js +225 -194
- package/src/producer/publish-assets.js +97 -83
- package/src/producer/publish-edits.js +113 -88
- package/src/producer/publish-entries.js +121 -90
- package/src/producer/publish-unpublished-env.js +114 -90
- package/src/producer/revert.js +261 -230
- package/src/producer/unpublish.js +154 -97
- package/src/services/publish-only-unpublished.js +130 -0
- package/src/util/client.js +14 -15
- 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 +43 -47
- package/src/commands/cm/bulk-publish/add-fields.js +0 -122
- package/src/commands/cm/bulk-publish/assets.js +0 -122
- package/src/commands/cm/bulk-publish/clear.js +0 -65
- package/src/commands/cm/bulk-publish/configure.js +0 -44
- package/src/commands/cm/bulk-publish/entries.js +0 -131
- package/src/commands/cm/bulk-publish/entry-edits.js +0 -129
- package/src/commands/cm/bulk-publish/nonlocalized-field-changes.js +0 -121
- package/src/commands/cm/bulk-publish/revert.js +0 -81
- package/src/commands/cm/bulk-publish/unpublish.js +0 -169
- package/src/commands/cm/bulk-publish/unpublished-entries.js +0 -127
- package/src/util/request.js +0 -59
|
@@ -3,144 +3,175 @@
|
|
|
3
3
|
/* eslint-disable camelcase */
|
|
4
4
|
/* eslint-disable max-depth */
|
|
5
5
|
/* eslint-disable no-console */
|
|
6
|
-
const {getQueue} = require('../util/queue')
|
|
7
|
-
const {performBulkPublish, publishEntry, initializeLogger} = require('../consumer/publish')
|
|
8
|
-
const retryFailedLogs = require('../util/retryfailed')
|
|
9
|
-
const {validateFile} = require('../util/fs')
|
|
10
|
-
const {isEmpty} = require('../util')
|
|
6
|
+
const { getQueue } = require('../util/queue');
|
|
7
|
+
const { performBulkPublish, publishEntry, initializeLogger } = require('../consumer/publish');
|
|
8
|
+
const retryFailedLogs = require('../util/retryfailed');
|
|
9
|
+
const { validateFile } = require('../util/fs');
|
|
10
|
+
const { isEmpty } = require('../util');
|
|
11
11
|
|
|
12
|
-
const queue = getQueue()
|
|
12
|
+
const queue = getQueue();
|
|
13
13
|
|
|
14
|
-
let skipCount
|
|
15
|
-
let logFileName
|
|
16
|
-
let contentTypesList = []
|
|
17
|
-
let allContentTypes = []
|
|
18
|
-
let bulkPublishSet = []
|
|
19
|
-
let filePath
|
|
14
|
+
let skipCount;
|
|
15
|
+
let logFileName;
|
|
16
|
+
let contentTypesList = [];
|
|
17
|
+
let allContentTypes = [];
|
|
18
|
+
let bulkPublishSet = [];
|
|
19
|
+
let filePath;
|
|
20
20
|
|
|
21
21
|
async function getEntries(stack, contentType, locale, bulkPublish, environments, skip = 0) {
|
|
22
22
|
return new Promise((resolve, reject) => {
|
|
23
|
-
skipCount = skip
|
|
23
|
+
skipCount = skip;
|
|
24
24
|
|
|
25
25
|
let queryParams = {
|
|
26
|
-
locale:
|
|
26
|
+
locale: locale || 'en-us',
|
|
27
27
|
include_count: true,
|
|
28
28
|
skip: skipCount,
|
|
29
29
|
include_publish_details: true,
|
|
30
|
-
}
|
|
30
|
+
};
|
|
31
31
|
|
|
32
|
-
stack
|
|
33
|
-
|
|
34
|
-
|
|
35
|
-
|
|
36
|
-
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
42
|
-
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
32
|
+
stack
|
|
33
|
+
.contentType(contentType)
|
|
34
|
+
.entry()
|
|
35
|
+
.query(queryParams)
|
|
36
|
+
.find()
|
|
37
|
+
.then(async (entriesResponse) => {
|
|
38
|
+
skipCount += entriesResponse.items.length;
|
|
39
|
+
let entries = entriesResponse.items;
|
|
40
|
+
for (let index = 0; index < entriesResponse.items.length; index++) {
|
|
41
|
+
if (bulkPublish) {
|
|
42
|
+
if (bulkPublishSet.length < 10) {
|
|
43
|
+
bulkPublishSet.push({
|
|
44
|
+
uid: entries[index].uid,
|
|
45
|
+
content_type: contentType,
|
|
46
|
+
locale,
|
|
47
|
+
publish_details: entries[index].publish_details || [],
|
|
48
|
+
});
|
|
49
|
+
}
|
|
46
50
|
|
|
47
|
-
|
|
48
|
-
|
|
49
|
-
|
|
50
|
-
|
|
51
|
-
|
|
52
|
-
|
|
51
|
+
if (bulkPublishSet.length === 10) {
|
|
52
|
+
await queue.Enqueue({
|
|
53
|
+
entries: bulkPublishSet,
|
|
54
|
+
locale,
|
|
55
|
+
Type: 'entry',
|
|
56
|
+
environments: environments,
|
|
57
|
+
stack: stack,
|
|
58
|
+
});
|
|
59
|
+
bulkPublishSet = [];
|
|
60
|
+
}
|
|
53
61
|
|
|
54
|
-
|
|
62
|
+
if (
|
|
63
|
+
index === entriesResponse.items.length - 1 &&
|
|
64
|
+
bulkPublishSet.length <= 10 &&
|
|
65
|
+
bulkPublishSet.length > 0
|
|
66
|
+
) {
|
|
67
|
+
await queue.Enqueue({
|
|
68
|
+
entries: bulkPublishSet,
|
|
69
|
+
locale,
|
|
70
|
+
Type: 'entry',
|
|
71
|
+
environments: environments,
|
|
72
|
+
stack: stack,
|
|
73
|
+
});
|
|
74
|
+
bulkPublishSet = [];
|
|
75
|
+
} // bulkPublish
|
|
76
|
+
} else {
|
|
55
77
|
await queue.Enqueue({
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
78
|
+
content_type: contentType,
|
|
79
|
+
publish_details: entries[index].publish_details || [],
|
|
80
|
+
environments: environments,
|
|
81
|
+
entryUid: entries[index].uid,
|
|
82
|
+
locale,
|
|
83
|
+
Type: 'entry',
|
|
84
|
+
stack: stack,
|
|
85
|
+
});
|
|
86
|
+
}
|
|
64
87
|
}
|
|
65
|
-
}
|
|
66
88
|
|
|
67
|
-
|
|
68
|
-
|
|
69
|
-
|
|
70
|
-
|
|
71
|
-
|
|
72
|
-
|
|
73
|
-
|
|
74
|
-
|
|
75
|
-
})
|
|
89
|
+
if (entriesResponse.count === skipCount) {
|
|
90
|
+
bulkPublishSet = [];
|
|
91
|
+
return resolve();
|
|
92
|
+
}
|
|
93
|
+
await getEntries(stack, contentType, locale, bulkPublish, environments, skipCount);
|
|
94
|
+
return resolve();
|
|
95
|
+
})
|
|
96
|
+
.catch((error) => reject(error));
|
|
97
|
+
});
|
|
76
98
|
}
|
|
77
99
|
|
|
78
100
|
async function getContentTypes(stack, skip = 0, contentTypes = []) {
|
|
79
101
|
return new Promise((resolve, reject) => {
|
|
80
|
-
skipCount = skip
|
|
81
|
-
contentTypesList = contentTypes
|
|
82
|
-
stack
|
|
83
|
-
|
|
84
|
-
|
|
85
|
-
|
|
86
|
-
|
|
87
|
-
|
|
102
|
+
skipCount = skip;
|
|
103
|
+
contentTypesList = contentTypes;
|
|
104
|
+
stack
|
|
105
|
+
.contentType()
|
|
106
|
+
.query({ include_count: true, skip: skipCount })
|
|
107
|
+
.find()
|
|
108
|
+
.then((contentTypeResponse) => {
|
|
109
|
+
if (contentTypeResponse.items.length > 0) {
|
|
110
|
+
contentTypesList = [...contentTypesList, ...contentTypeResponse.items];
|
|
111
|
+
skipCount += contentTypeResponse.items.length;
|
|
112
|
+
if (skipCount < contentTypeResponse.count) {
|
|
113
|
+
getContentTypes(stack, skipCount, contentTypesList);
|
|
114
|
+
}
|
|
115
|
+
resolve(contentTypesList);
|
|
88
116
|
}
|
|
89
|
-
|
|
90
|
-
|
|
91
|
-
|
|
92
|
-
})
|
|
117
|
+
})
|
|
118
|
+
.catch((error) => reject(error));
|
|
119
|
+
});
|
|
93
120
|
}
|
|
94
121
|
|
|
95
122
|
function setConfig(conf, bp) {
|
|
96
123
|
if (bp) {
|
|
97
|
-
queue.consumer = performBulkPublish
|
|
98
|
-
logFileName = 'bulk-publish-entries'
|
|
124
|
+
queue.consumer = performBulkPublish;
|
|
125
|
+
logFileName = 'bulk-publish-entries';
|
|
99
126
|
} else {
|
|
100
|
-
queue.consumer = publishEntry
|
|
101
|
-
logFileName = 'publish-entries'
|
|
127
|
+
queue.consumer = publishEntry;
|
|
128
|
+
logFileName = 'publish-entries';
|
|
102
129
|
}
|
|
103
|
-
config = conf
|
|
104
|
-
queue.config = conf
|
|
105
|
-
filePath = initializeLogger(logFileName)
|
|
130
|
+
config = conf;
|
|
131
|
+
queue.config = conf;
|
|
132
|
+
filePath = initializeLogger(logFileName);
|
|
106
133
|
}
|
|
107
134
|
|
|
108
|
-
async function start(
|
|
135
|
+
async function start(
|
|
136
|
+
{ retryFailed, bulkPublish, publishAllContentTypes, contentTypes, locales, environments },
|
|
137
|
+
stack,
|
|
138
|
+
config,
|
|
139
|
+
) {
|
|
109
140
|
process.on('beforeExit', async () => {
|
|
110
|
-
const isErrorLogEmpty = await isEmpty(`${filePath}.error`)
|
|
111
|
-
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`)
|
|
141
|
+
const isErrorLogEmpty = await isEmpty(`${filePath}.error`);
|
|
142
|
+
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`);
|
|
112
143
|
if (!isErrorLogEmpty) {
|
|
113
|
-
console.log(`The error log for this session is stored at ${filePath}.error`)
|
|
144
|
+
console.log(`The error log for this session is stored at ${filePath}.error`);
|
|
114
145
|
} else if (!isSuccessLogEmpty) {
|
|
115
|
-
console.log(`The success log for this session is stored at ${filePath}.success`)
|
|
146
|
+
console.log(`The success log for this session is stored at ${filePath}.success`);
|
|
116
147
|
}
|
|
117
|
-
process.exit(0)
|
|
118
|
-
})
|
|
148
|
+
process.exit(0);
|
|
149
|
+
});
|
|
119
150
|
if (retryFailed) {
|
|
120
151
|
if (typeof retryFailed === 'string') {
|
|
121
152
|
if (!validateFile(retryFailed, ['publish-entries', 'bulk-publish-entries'])) {
|
|
122
|
-
return false
|
|
153
|
+
return false;
|
|
123
154
|
}
|
|
124
155
|
|
|
125
|
-
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false
|
|
126
|
-
setConfig(config, bulkPublish)
|
|
156
|
+
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false;
|
|
157
|
+
setConfig(config, bulkPublish);
|
|
127
158
|
if (bulkPublish) {
|
|
128
|
-
await retryFailedLogs(retryFailed, queue, 'bulk')
|
|
159
|
+
await retryFailedLogs(retryFailed, queue, 'bulk');
|
|
129
160
|
} else {
|
|
130
|
-
await retryFailedLogs(retryFailed, {entryQueue: queue}, 'publish')
|
|
161
|
+
await retryFailedLogs(retryFailed, { entryQueue: queue }, 'publish');
|
|
131
162
|
}
|
|
132
163
|
}
|
|
133
164
|
} else {
|
|
134
|
-
setConfig(config, bulkPublish)
|
|
165
|
+
setConfig(config, bulkPublish);
|
|
135
166
|
if (publishAllContentTypes) {
|
|
136
|
-
allContentTypes = await getContentTypes(stack)
|
|
167
|
+
allContentTypes = await getContentTypes(stack);
|
|
137
168
|
} else {
|
|
138
|
-
allContentTypes = contentTypes
|
|
169
|
+
allContentTypes = contentTypes;
|
|
139
170
|
}
|
|
140
171
|
for (let loc = 0; loc < locales.length; loc += 1) {
|
|
141
172
|
for (let i = 0; i < allContentTypes.length; i += 1) {
|
|
142
173
|
/* eslint-disable no-await-in-loop */
|
|
143
|
-
await getEntries(stack, allContentTypes[i].uid || allContentTypes[i], locales[loc], bulkPublish, environments)
|
|
174
|
+
await getEntries(stack, allContentTypes[i].uid || allContentTypes[i], locales[loc], bulkPublish, environments);
|
|
144
175
|
/* eslint-enable no-await-in-loop */
|
|
145
176
|
}
|
|
146
177
|
}
|
|
@@ -152,4 +183,4 @@ module.exports = {
|
|
|
152
183
|
setConfig,
|
|
153
184
|
getContentTypes,
|
|
154
185
|
start,
|
|
155
|
-
}
|
|
186
|
+
};
|
|
@@ -4,144 +4,168 @@
|
|
|
4
4
|
/* eslint-disable no-console */
|
|
5
5
|
/* eslint-disable new-cap */
|
|
6
6
|
/* eslint-disable camelcase */
|
|
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 {
|
|
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 { isEmpty } = require('../util');
|
|
13
12
|
|
|
14
|
-
const queue = getQueue()
|
|
15
|
-
let skipCount
|
|
16
|
-
let changedFlag = false
|
|
17
|
-
let logFileName = 'publish-unpublished-env'
|
|
18
|
-
let bulkPublishSet = []
|
|
19
|
-
let filePath
|
|
13
|
+
const queue = getQueue();
|
|
14
|
+
let skipCount;
|
|
15
|
+
let changedFlag = false;
|
|
16
|
+
let logFileName = 'publish-unpublished-env';
|
|
17
|
+
let bulkPublishSet = [];
|
|
18
|
+
let filePath;
|
|
20
19
|
|
|
21
20
|
function setConfig(conf, bp) {
|
|
22
21
|
if (bp) {
|
|
23
|
-
logFileName = 'bulk-publish-draft'
|
|
24
|
-
queue.consumer = performBulkPublish
|
|
22
|
+
logFileName = 'bulk-publish-draft';
|
|
23
|
+
queue.consumer = performBulkPublish;
|
|
25
24
|
} else {
|
|
26
|
-
logFileName = 'publish-draft'
|
|
27
|
-
queue.consumer = publishEntry
|
|
25
|
+
logFileName = 'publish-draft';
|
|
26
|
+
queue.consumer = publishEntry;
|
|
28
27
|
}
|
|
29
|
-
config = conf
|
|
30
|
-
queue.config = config
|
|
31
|
-
filePath = initializeLogger(logFileName)
|
|
28
|
+
config = conf;
|
|
29
|
+
queue.config = config;
|
|
30
|
+
filePath = initializeLogger(logFileName);
|
|
32
31
|
}
|
|
33
32
|
|
|
34
33
|
async function getEnvironment(stack, environmentName) {
|
|
35
34
|
return new Promise((resolve, reject) => {
|
|
36
|
-
stack
|
|
37
|
-
|
|
38
|
-
|
|
39
|
-
|
|
40
|
-
|
|
41
|
-
|
|
35
|
+
stack
|
|
36
|
+
.environment(environmentName)
|
|
37
|
+
.fetch()
|
|
38
|
+
.then((env) => {
|
|
39
|
+
resolve(env);
|
|
40
|
+
})
|
|
41
|
+
.catch((error) => reject(error));
|
|
42
|
+
});
|
|
42
43
|
}
|
|
43
44
|
|
|
44
45
|
async function getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, skip = 0) {
|
|
45
46
|
return new Promise((resolve, reject) => {
|
|
46
|
-
skipCount = skip
|
|
47
|
+
skipCount = skip;
|
|
47
48
|
|
|
48
49
|
let queryParams = {
|
|
49
50
|
include_count: true,
|
|
50
51
|
skip: skipCount,
|
|
51
52
|
include_publish_details: true,
|
|
52
|
-
}
|
|
53
|
+
};
|
|
53
54
|
|
|
54
|
-
stack
|
|
55
|
-
|
|
56
|
-
|
|
57
|
-
|
|
58
|
-
|
|
59
|
-
|
|
60
|
-
|
|
61
|
-
|
|
62
|
-
|
|
63
|
-
|
|
64
|
-
|
|
65
|
-
|
|
66
|
-
|
|
67
|
-
|
|
55
|
+
stack
|
|
56
|
+
.contentType(contentType)
|
|
57
|
+
.entry()
|
|
58
|
+
.query(queryParams)
|
|
59
|
+
.find()
|
|
60
|
+
.then(async (responseEntries) => {
|
|
61
|
+
skipCount += responseEntries.items.length;
|
|
62
|
+
if (responseEntries.items.length > 0) {
|
|
63
|
+
let entries = responseEntries.items;
|
|
64
|
+
for (let index = 0; index < responseEntries.items.length; index++) {
|
|
65
|
+
const publishedEntry = entries[index].publish_details.find(
|
|
66
|
+
(publishEnv) => publishEnv.environment === environmentUid && publishEnv.locale === locale,
|
|
67
|
+
);
|
|
68
|
+
if (!publishedEntry) {
|
|
69
|
+
changedFlag = true;
|
|
70
|
+
if (bulkPublish) {
|
|
71
|
+
if (bulkPublishSet.length < 10) {
|
|
72
|
+
bulkPublishSet.push({
|
|
73
|
+
uid: entries[index].uid,
|
|
74
|
+
content_type: contentType,
|
|
75
|
+
locale,
|
|
76
|
+
publish_details: entries[index].publish_details || [],
|
|
77
|
+
});
|
|
78
|
+
}
|
|
79
|
+
} else {
|
|
80
|
+
await queue.Enqueue({
|
|
68
81
|
content_type: contentType,
|
|
82
|
+
publish_details: entries[index].publish_details,
|
|
83
|
+
environments: environments,
|
|
84
|
+
entryUid: entries[index].uid,
|
|
69
85
|
locale,
|
|
70
|
-
|
|
71
|
-
|
|
86
|
+
Type: 'entry',
|
|
87
|
+
stack: stack,
|
|
88
|
+
});
|
|
72
89
|
}
|
|
73
|
-
} else {
|
|
74
|
-
await queue.Enqueue({
|
|
75
|
-
content_type: contentType, publish_details: entries[index].publish_details, environments: environments, entryUid: entries[index].uid, locale, Type: 'entry', stack: stack
|
|
76
|
-
})
|
|
77
|
-
}
|
|
78
|
-
}
|
|
79
|
-
if (bulkPublish) {
|
|
80
|
-
if (bulkPublishSet.length === 10) {
|
|
81
|
-
await queue.Enqueue({
|
|
82
|
-
entries: bulkPublishSet, locale, Type: 'entry', environments: environments, stack: stack
|
|
83
|
-
})
|
|
84
|
-
bulkPublishSet = []
|
|
85
90
|
}
|
|
86
|
-
if (
|
|
87
|
-
|
|
88
|
-
|
|
89
|
-
|
|
90
|
-
|
|
91
|
+
if (bulkPublish) {
|
|
92
|
+
if (bulkPublishSet.length === 10) {
|
|
93
|
+
await queue.Enqueue({
|
|
94
|
+
entries: bulkPublishSet,
|
|
95
|
+
locale,
|
|
96
|
+
Type: 'entry',
|
|
97
|
+
environments: environments,
|
|
98
|
+
stack: stack,
|
|
99
|
+
});
|
|
100
|
+
bulkPublishSet = [];
|
|
101
|
+
}
|
|
102
|
+
if (
|
|
103
|
+
index === responseEntries.items.length - 1 &&
|
|
104
|
+
bulkPublishSet.length < 10 &&
|
|
105
|
+
bulkPublishSet.length > 0
|
|
106
|
+
) {
|
|
107
|
+
await queue.Enqueue({
|
|
108
|
+
entries: bulkPublishSet,
|
|
109
|
+
locale,
|
|
110
|
+
Type: 'entry',
|
|
111
|
+
environments: environments,
|
|
112
|
+
stack: stack,
|
|
113
|
+
});
|
|
114
|
+
bulkPublishSet = [];
|
|
115
|
+
}
|
|
91
116
|
}
|
|
92
117
|
}
|
|
93
118
|
}
|
|
94
|
-
|
|
95
|
-
|
|
96
|
-
|
|
97
|
-
|
|
98
|
-
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
})
|
|
119
|
+
if (responseEntries.count === skipCount) {
|
|
120
|
+
if (!changedFlag) console.log(`No Draft Entries of contentType ${contentType} was found`);
|
|
121
|
+
bulkPublishSet = [];
|
|
122
|
+
return resolve();
|
|
123
|
+
}
|
|
124
|
+
await getEntries(stack, contentType, environmentUid, locale, bulkPublish, environments, skipCount);
|
|
125
|
+
return resolve();
|
|
126
|
+
})
|
|
127
|
+
.catch((error) => {
|
|
128
|
+
reject(error);
|
|
129
|
+
});
|
|
130
|
+
});
|
|
107
131
|
}
|
|
108
132
|
|
|
109
|
-
async function start({sourceEnv, environments, locale, contentTypes, bulkPublish, retryFailed}, stack, config) {
|
|
133
|
+
async function start({ sourceEnv, environments, locale, contentTypes, bulkPublish, retryFailed }, stack, config) {
|
|
110
134
|
process.on('beforeExit', async () => {
|
|
111
|
-
const isErrorLogEmpty = await isEmpty(`${filePath}.error`)
|
|
112
|
-
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`)
|
|
135
|
+
const isErrorLogEmpty = await isEmpty(`${filePath}.error`);
|
|
136
|
+
const isSuccessLogEmpty = await isEmpty(`${filePath}.success`);
|
|
113
137
|
if (!isErrorLogEmpty) {
|
|
114
|
-
console.log(`The error log for this session is stored at ${filePath}.error`)
|
|
138
|
+
console.log(`The error log for this session is stored at ${filePath}.error`);
|
|
115
139
|
} else if (!isSuccessLogEmpty) {
|
|
116
|
-
console.log(`The success log for this session is stored at ${filePath}.success`)
|
|
140
|
+
console.log(`The success log for this session is stored at ${filePath}.success`);
|
|
117
141
|
}
|
|
118
|
-
process.exit(0)
|
|
119
|
-
})
|
|
142
|
+
process.exit(0);
|
|
143
|
+
});
|
|
120
144
|
|
|
121
145
|
if (retryFailed) {
|
|
122
146
|
if (typeof retryFailed === 'string') {
|
|
123
147
|
if (!validateFile(retryFailed, ['publish-draft', 'bulk-publish-draft'])) {
|
|
124
|
-
return false
|
|
148
|
+
return false;
|
|
125
149
|
}
|
|
126
150
|
|
|
127
|
-
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false
|
|
128
|
-
setConfig(config, bulkPublish)
|
|
151
|
+
bulkPublish = retryFailed.match(new RegExp('bulk')) ? true : false;
|
|
152
|
+
setConfig(config, bulkPublish);
|
|
129
153
|
|
|
130
154
|
if (bulkPublish) {
|
|
131
|
-
await retryFailedLogs(retryFailed, queue, 'bulk')
|
|
155
|
+
await retryFailedLogs(retryFailed, queue, 'bulk');
|
|
132
156
|
} else {
|
|
133
|
-
await retryFailedLogs(retryFailed, {entryQueue: queue}, 'publish')
|
|
157
|
+
await retryFailedLogs(retryFailed, { entryQueue: queue }, 'publish');
|
|
134
158
|
}
|
|
135
159
|
}
|
|
136
160
|
} else {
|
|
137
|
-
setConfig(config, bulkPublish)
|
|
161
|
+
setConfig(config, bulkPublish);
|
|
138
162
|
if (sourceEnv) {
|
|
139
|
-
const environmentDetails = await getEnvironment(stack, sourceEnv)
|
|
163
|
+
const environmentDetails = await getEnvironment(stack, sourceEnv);
|
|
140
164
|
for (let i = 0; i < contentTypes.length; i += 1) {
|
|
141
165
|
/* eslint-disable no-await-in-loop */
|
|
142
|
-
await getEntries(stack, contentTypes[i], environmentDetails.uid, locale, bulkPublish, environments)
|
|
166
|
+
await getEntries(stack, contentTypes[i], environmentDetails.uid, locale, bulkPublish, environments);
|
|
143
167
|
/* eslint-enable no-await-in-loop */
|
|
144
|
-
changedFlag = false
|
|
168
|
+
changedFlag = false;
|
|
145
169
|
}
|
|
146
170
|
}
|
|
147
171
|
}
|
|
@@ -154,4 +178,4 @@ module.exports = {
|
|
|
154
178
|
getEnvironment,
|
|
155
179
|
setConfig,
|
|
156
180
|
start,
|
|
157
|
-
}
|
|
181
|
+
};
|