@@ -32,22 +32,55 @@ function removePublishDetails(elements) {
3232 return elements ;
3333}
3434
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+ }
3956}
4057
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+ }
5184}
5285async function publishEntry ( data , _config , queue ) {
5386 const lang = [ ] ;
@@ -230,13 +263,29 @@ async function UnpublishAsset(data, _config, queue) {
230263 } ) ;
231264}
232265
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+
233281async function performBulkPublish ( data , _config , queue ) {
234282 // add validation for user uid
235283 // if user not logged in, then user uid won't be available and NRP too won't work
236284 let conf ;
237285 const bulkPublishObj = data . obj ;
238286 const stack = bulkPublishObj . stack ;
239287 let payload = { } ;
288+ const mapping = await getEnvironment ( stack , bulkPublishObj . environments ) ;
240289 switch ( bulkPublishObj . Type ) {
241290 case 'entry' :
242291 conf = {
@@ -261,12 +310,11 @@ async function performBulkPublish(data, _config, queue) {
261310 . publish ( payload )
262311 . then ( ( bulkPublishEntriesResponse ) => {
263312 if ( ! bulkPublishEntriesResponse . error_message ) {
264- const sanitizedData = removePublishDetails ( bulkPublishObj . entries ) ;
265313 console . log (
266314 chalk . green ( `Bulk entries sent for publish` ) ,
267315 bulkPublishEntriesResponse . job_id ? chalk . yellow ( `job_id: ${ bulkPublishEntriesResponse . job_id } ` ) : '' ,
268316 ) ;
269- displayEntriesDetails ( sanitizedData ) ;
317+ displayEntriesDetails ( bulkPublishObj . entries , 'bulk_publish' , mapping ) ;
270318 delete bulkPublishObj . stack ;
271319 addLogs (
272320 logger ,
@@ -284,8 +332,7 @@ async function performBulkPublish(data, _config, queue) {
284332 } else {
285333 delete bulkPublishObj . stack ;
286334 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 ) ;
289336 addLogs (
290337 logger ,
291338 { options : bulkPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -322,8 +369,7 @@ async function performBulkPublish(data, _config, queue) {
322369 bulkPublishAssetsResponse . job_id ? chalk . yellow ( `job_id: ${ bulkPublishAssetsResponse . job_id } ` ) : '' ,
323370 ) ,
324371 ) ;
325- let sanitizedData = removePublishDetails ( bulkPublishObj . assets ) ;
326- displayAssetsDetails ( sanitizedData ) ;
372+ displayAssetsDetails ( bulkPublishObj . assets , 'bulk_publish' , mapping ) ;
327373 delete bulkPublishObj . stack ;
328374 addLogs (
329375 logger ,
@@ -342,8 +388,7 @@ async function performBulkPublish(data, _config, queue) {
342388 delete bulkPublishObj . stack ;
343389 console . log ( chalk . red ( `Bulk assets failed to publish with error ${ formatError ( error ) } ` ) ) ;
344390
345- let sanitizedData = removePublishDetails ( bulkPublishObj . assets ) ;
346- displayAssetsDetails ( sanitizedData ) ;
391+ displayAssetsDetails ( sanitizedData , 'bulk_publish' , mapping ) ;
347392 addLogs (
348393 logger ,
349394 { options : bulkPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -395,8 +440,7 @@ async function performBulkUnPublish(data, _config, queue) {
395440 : '' ,
396441 ) ,
397442 ) ;
398- let sanitizedData = removePublishDetails ( bulkUnPublishObj . entries ) ;
399- displayEntriesDetails ( sanitizedData ) ;
443+ displayEntriesDetails ( bulkUnPublishObj . entries , 'bulk_unpublish' ) ;
400444 addLogs (
401445 logger ,
402446 { options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -413,8 +457,7 @@ async function performBulkUnPublish(data, _config, queue) {
413457 } else {
414458 delete bulkUnPublishObj . stack ;
415459 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' ) ;
418461 addLogs (
419462 logger ,
420463 { options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -446,14 +489,13 @@ async function performBulkUnPublish(data, _config, queue) {
446489 . then ( ( bulkUnPublishAssetsResponse ) => {
447490 if ( ! bulkUnPublishAssetsResponse . error_message ) {
448491 delete bulkUnPublishObj . stack ;
449- let sanitizedData = removePublishDetails ( bulkUnPublishObj . assets ) ;
450492 console . log (
451493 chalk . green (
452494 `Bulk assets sent for Unpublish` ,
453495 bulkUnPublishAssetsResponse . job_id ? chalk . yellow ( `job_id: ${ bulkUnPublishAssetsResponse . job_id } ` ) : '' ,
454496 ) ,
455497 ) ;
456- displayAssetsDetails ( sanitizedData ) ;
498+ displayAssetsDetails ( bulkUnPublishObj . assets , 'bulk_unpublish' ) ;
457499 addLogs (
458500 logger ,
459501 { options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
@@ -470,8 +512,7 @@ async function performBulkUnPublish(data, _config, queue) {
470512 } else {
471513 delete bulkUnPublishObj . stack ;
472514 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' ) ;
475516 addLogs (
476517 logger ,
477518 { options : bulkUnPublishObj , api_key : stack . stackHeaders . api_key , alias : stack . alias , host : stack . host } ,
0 commit comments