@@ -32,22 +32,55 @@ function removePublishDetails(elements) {
32
32
return elements ;
33
33
}
34
34
35
- function displayEntriesDetails ( sanitizedData ) {
36
- sanitizedData . forEach ( ( entry ) => {
37
- console . log ( chalk . green ( `Entry UID '${ entry . uid } ' of CT '${ entry . content_type } ' in locale '${ entry . locale } '` ) ) ;
38
- } ) ;
35
+ function displayEntriesDetails ( sanitizedData , action , mapping = [ ] ) {
36
+ if ( action === 'bulk_publish' ) {
37
+ sanitizedData . forEach ( ( entry ) => {
38
+ entry ?. publish_details . forEach ( ( pd ) => {
39
+ if ( Object . keys ( mapping ) . includes ( pd . environment ) ) {
40
+ console . log (
41
+ chalk . green (
42
+ `Entry UID '${ entry . uid } ' of CT '${ entry . content_type } ' in locale '${ entry . locale } ' version '${ pd . version } ' in environment '${ pd . environment } '` ,
43
+ ) ,
44
+ )
45
+ }
46
+ } ) ;
47
+ if ( ! Array . isArray ( entry . publish_details ) ) {
48
+ console . log ( chalk . green ( `Entry UID '${ entry . uid } ' of CT '${ entry . content_type } ' in locale '${ entry . locale } '` ) ) ;
49
+ }
50
+ } ) ;
51
+ } else if ( action === 'bulk_unpublish' ) {
52
+ sanitizedData . forEach ( ( entry ) => {
53
+ console . log ( chalk . green ( `Entry UID '${ entry . uid } ' of CT '${ entry . content_type } ' in locale '${ entry . locale } '` ) ) ;
54
+ } ) ;
55
+ }
39
56
}
40
57
41
- function displayAssetsDetails ( sanitizedData ) {
42
- sanitizedData . forEach ( ( asset ) => {
43
- console . log (
44
- chalk . green (
45
- `Asset UID '${ asset . uid } ' ${ asset . version ? `and version '${ asset . version } '` : '' } ${
46
- asset . locale ? `in locale '${ asset . locale } '` : ''
47
- } `,
48
- ) ,
49
- ) ;
50
- } ) ;
58
+ function displayAssetsDetails ( sanitizedData , action , mapping ) {
59
+ if ( action === 'bulk_publish' ) {
60
+ sanitizedData . forEach ( ( asset ) => {
61
+ asset ?. publish_details . forEach ( ( pd ) => {
62
+ if ( Object . keys ( mapping ) . includes ( pd . environment ) ) {
63
+ console . log (
64
+ chalk . green (
65
+ `Asset UID '${ asset . uid } ' ${ pd . version ? `and version '${ pd . version } '` : '' } ${
66
+ asset . locale ? `in locale '${ asset . locale } '` : ''
67
+ } in environment ${ pd . environment } `,
68
+ ) ,
69
+ ) ;
70
+ }
71
+ } ) ;
72
+ } ) ;
73
+ } else if ( action === 'bulk_unpublish' ) {
74
+ sanitizedData . forEach ( ( asset ) => {
75
+ console . log (
76
+ chalk . green (
77
+ `Asset UID '${ asset . uid } ' ${ asset . version ? `and version '${ asset . version } '` : '' } ${
78
+ asset . locale ? `in locale '${ asset . locale } '` : ''
79
+ } `,
80
+ ) ,
81
+ ) ;
82
+ } ) ;
83
+ }
51
84
}
52
85
async function publishEntry ( data , _config , queue ) {
53
86
const lang = [ ] ;
@@ -230,13 +263,29 @@ async function UnpublishAsset(data, _config, queue) {
230
263
} ) ;
231
264
}
232
265
266
+ async function getEnvironment ( stack , environment ) {
267
+ const mapping = { } ;
268
+ if ( Array . isArray ( environment ) && environment . length ) {
269
+ for ( let i = 0 ; i < environment . length ; i ++ ) {
270
+ const key = await stack . environment ( environment [ i ] ) . fetch ( ) ;
271
+ console . log ( key ) ;
272
+ mapping [ key . uid ] = environment [ i ] ;
273
+ }
274
+ } else {
275
+ const key = await stack . environment ( environment [ i ] ) . fetch ( ) ;
276
+ mapping [ key . uid ] = environment [ i ] ;
277
+ }
278
+ return mapping ;
279
+ }
280
+
233
281
async function performBulkPublish ( data , _config , queue ) {
234
282
// add validation for user uid
235
283
// if user not logged in, then user uid won't be available and NRP too won't work
236
284
let conf ;
237
285
const bulkPublishObj = data . obj ;
238
286
const stack = bulkPublishObj . stack ;
239
287
let payload = { } ;
288
+ const mapping = await getEnvironment ( stack , bulkPublishObj . environments ) ;
240
289
switch ( bulkPublishObj . Type ) {
241
290
case 'entry' :
242
291
conf = {
@@ -261,12 +310,11 @@ async function performBulkPublish(data, _config, queue) {
261
310
. publish ( payload )
262
311
. then ( ( bulkPublishEntriesResponse ) => {
263
312
if ( ! bulkPublishEntriesResponse . error_message ) {
264
- const sanitizedData = removePublishDetails ( bulkPublishObj . entries ) ;
265
313
console . log (
266
314
chalk . green ( `Bulk entries sent for publish` ) ,
267
315
bulkPublishEntriesResponse . job_id ? chalk . yellow ( `job_id: ${ bulkPublishEntriesResponse . job_id } ` ) : '' ,
268
316
) ;
269
- displayEntriesDetails ( sanitizedData ) ;
317
+ displayEntriesDetails ( bulkPublishObj . entries , 'bulk_publish' , mapping ) ;
270
318
delete bulkPublishObj . stack ;
271
319
addLogs (
272
320
logger ,
@@ -284,8 +332,7 @@ async function performBulkPublish(data, _config, queue) {
284
332
} else {
285
333
delete bulkPublishObj . stack ;
286
334
console . log ( chalk . red ( `Bulk entries failed to publish with error ${ formatError ( error ) } ` ) ) ;
287
- let sanitizedData = removePublishDetails ( bulkPublishObj . entries ) ;
288
- displayEntriesDetails ( sanitizedData ) ;
335
+ displayEntriesDetails ( bulkPublishObj . entries , 'bulk_publish' , mapping ) ;
289
336
addLogs (
290
337
logger ,
291
338
{ options : bulkPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -322,8 +369,7 @@ async function performBulkPublish(data, _config, queue) {
322
369
bulkPublishAssetsResponse . job_id ? chalk . yellow ( `job_id: ${ bulkPublishAssetsResponse . job_id } ` ) : '' ,
323
370
) ,
324
371
) ;
325
- let sanitizedData = removePublishDetails ( bulkPublishObj . assets ) ;
326
- displayAssetsDetails ( sanitizedData ) ;
372
+ displayAssetsDetails ( bulkPublishObj . assets , 'bulk_publish' , mapping ) ;
327
373
delete bulkPublishObj . stack ;
328
374
addLogs (
329
375
logger ,
@@ -342,8 +388,7 @@ async function performBulkPublish(data, _config, queue) {
342
388
delete bulkPublishObj . stack ;
343
389
console . log ( chalk . red ( `Bulk assets failed to publish with error ${ formatError ( error ) } ` ) ) ;
344
390
345
- let sanitizedData = removePublishDetails ( bulkPublishObj . assets ) ;
346
- displayAssetsDetails ( sanitizedData ) ;
391
+ displayAssetsDetails ( sanitizedData , 'bulk_publish' , mapping ) ;
347
392
addLogs (
348
393
logger ,
349
394
{ options : bulkPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -395,8 +440,7 @@ async function performBulkUnPublish(data, _config, queue) {
395
440
: '' ,
396
441
) ,
397
442
) ;
398
- let sanitizedData = removePublishDetails ( bulkUnPublishObj . entries ) ;
399
- displayEntriesDetails ( sanitizedData ) ;
443
+ displayEntriesDetails ( bulkUnPublishObj . entries , 'bulk_unpublish' ) ;
400
444
addLogs (
401
445
logger ,
402
446
{ options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -413,8 +457,7 @@ async function performBulkUnPublish(data, _config, queue) {
413
457
} else {
414
458
delete bulkUnPublishObj . stack ;
415
459
console . log ( chalk . red ( `Bulk entries failed to Unpublish with error ${ formatError ( error ) } ` ) ) ;
416
- let sanitizedData = removePublishDetails ( bulkUnPublishObj . entries ) ;
417
- displayEntriesDetails ( sanitizedData ) ;
460
+ displayEntriesDetails ( bulkUnPublishObj . entries , 'bulk_unpublish' ) ;
418
461
addLogs (
419
462
logger ,
420
463
{ options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -446,14 +489,13 @@ async function performBulkUnPublish(data, _config, queue) {
446
489
. then ( ( bulkUnPublishAssetsResponse ) => {
447
490
if ( ! bulkUnPublishAssetsResponse . error_message ) {
448
491
delete bulkUnPublishObj . stack ;
449
- let sanitizedData = removePublishDetails ( bulkUnPublishObj . assets ) ;
450
492
console . log (
451
493
chalk . green (
452
494
`Bulk assets sent for Unpublish` ,
453
495
bulkUnPublishAssetsResponse . job_id ? chalk . yellow ( `job_id: ${ bulkUnPublishAssetsResponse . job_id } ` ) : '' ,
454
496
) ,
455
497
) ;
456
- displayAssetsDetails ( sanitizedData ) ;
498
+ displayAssetsDetails ( bulkUnPublishObj . assets , 'bulk_unpublish' ) ;
457
499
addLogs (
458
500
logger ,
459
501
{ options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -470,8 +512,7 @@ async function performBulkUnPublish(data, _config, queue) {
470
512
} else {
471
513
delete bulkUnPublishObj . stack ;
472
514
console . log ( chalk . red ( `Bulk assets failed to Unpublish with error ${ formatError ( error ) } ` ) ) ;
473
- let sanitizedData = removePublishDetails ( bulkUnPublishObj . assets ) ;
474
- displayAssetsDetails ( sanitizedData ) ;
515
+ displayAssetsDetails ( bulkUnPublishObj . assets , 'bulk_unpublish' ) ;
475
516
addLogs (
476
517
logger ,
477
518
{ options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
0 commit comments