@@ -44,9 +44,9 @@ export function entryCreateUpdateScript(contentType) {
4444
4545 function converter(data) {
4646 let arr = [];
47- for (const elm of data.entries() ) {
47+ for (const elm of data) {
4848 // @ts-ignore
49- arr.push([elm[1] .title, elm[1] ]);
49+ arr.push([elm.title, elm]);
5050 }
5151 return arr;
5252 }
@@ -476,35 +476,54 @@ export function entryCreateUpdateScript(contentType) {
476476 }
477477 };
478478
479+ const getEntries = async (branchName, contentType, skip = 0, limit = 100, entries = []) => {
480+ let requestObject = {
481+ skip,
482+ limit,
483+ include_count: true,
484+ };
485+
486+ const entriesSearchResponse = await managementAPIClient
487+ .stack({ api_key: stackSDKInstance.api_key, branch_uid: branchName })
488+ .contentType(contentType)
489+ .entry()
490+ .query(requestObject)
491+ .find();
492+
493+ if (entriesSearchResponse?.items?.length > 0) {
494+ skip += limit || 100;
495+ entries = [...entries, ...entriesSearchResponse.items];
496+ if (skip >= entriesSearchResponse.count) {
497+ return entries;
498+ }
499+ return await getEntries(branchName, contentType, skip, limit, entries);
500+ }
501+ return entries;
502+ };
479503
480504 const updateEntryTask = () => {
481505 return {
482506 title: 'Update Entries',
483507 successMessage: 'Entries Updated Successfully',
484508 failedMessage: 'Failed to update entries',
485509 task: async () => {
486- let compareBranchEntries = await managementAPIClient
487- .stack({ api_key: stackSDKInstance.api_key, branch_uid: compareBranch })
488- .contentType('${ contentType } ')
489- .entry()
490- .query()
491- .find();
510+ let compareBranchEntries = await getEntries(compareBranch, '${ contentType } ')
492511
493- let baseBranchEntries = await stackSDKInstance.contentType( '${ contentType } ').entry().query().find( );
512+ let baseBranchEntries = await getEntries(branch, '${ contentType } ');
494513
495514 let contentType = await managementAPIClient
496515 .stack({ api_key: stackSDKInstance.api_key, branch_uid: compareBranch })
497516 .contentType('${ contentType } ')
498517 .fetch();
499518
500- for (let i = 0; i < compareBranchEntries?.items?. length; i++) {
501- assetRefPath[compareBranchEntries.items [i].uid] = []
502- findAssets(contentType.schema, compareBranchEntries.items [i], assetRefPath[compareBranchEntries.items [i].uid]);
519+ for (let i = 0; i < compareBranchEntries?.length; i++) {
520+ assetRefPath[compareBranchEntries[i].uid] = []
521+ findAssets(contentType.schema, compareBranchEntries[i], assetRefPath[compareBranchEntries[i].uid]);
503522 }
504523
505524 for (let i = 0; i < baseBranchEntries?.items?.length; i++) {
506- assetRefPath[baseBranchEntries.items [i].uid] = []
507- findAssets(contentType.schema, baseBranchEntries.items [i], assetRefPath[baseBranchEntries.items [i].uid]);
525+ assetRefPath[baseBranchEntries[i].uid] = []
526+ findAssets(contentType.schema, baseBranchEntries[i], assetRefPath[baseBranchEntries[i].uid]);
508527 }
509528 assetDetails = [...new Map(assetDetails.map((item) => [item['uid'], item])).values()];
510529 newAssetDetails = assetDetails;
@@ -568,12 +587,12 @@ export function entryCreateUpdateScript(contentType) {
568587 if(entryDetails !== undefined){
569588 entryDetails = updateAssetDetailsInEntries(entryDetails);
570589
571- if (baseBranchEntries && baseBranchEntries.items. length) {
572- let baseEntryUid = baseBranchEntries.items [0].uid;
590+ if (baseBranchEntries && baseBranchEntries.length) {
591+ let baseEntryUid = baseBranchEntries[0].uid;
573592 let entry = await stackSDKInstance.contentType('${ contentType } ').entry(baseEntryUid);
574593
575594 if (flag.references) {
576- await updateReferences(entryDetails, baseBranchEntries.items [0], references);
595+ await updateReferences(entryDetails, baseBranchEntries[0], references);
577596 }
578597
579598 await updateEntry(entry, entryDetails);
@@ -589,19 +608,20 @@ export function entryCreateUpdateScript(contentType) {
589608 }
590609 });
591610 } else {
592- let compareMap = new Map(converter(compareBranchEntries.items ));
593- let baseMap = new Map(converter(baseBranchEntries.items ));
611+ let compareMap = new Map(converter(compareBranchEntries));
612+ let baseMap = new Map(converter(baseBranchEntries));
594613
595614 //NOTE: Filter distinct entries from the base and compare branches according to their titles.
596615 //TODO: Need to discuss this approach and replace it with uid condition
597616 let arr = uniquelyConcatenateArrays(Array.from(compareMap.keys()), Array.from(baseMap.keys()));
598617
599- arr.map(async (el) => {
600- let entryDetails = deleteUnwantedKeysFromObject(compareMap.get(el), keysToRemove);
618+ // Change
619+ for(let i = 0; i < arr.length ; i++){
620+ let entryDetails = deleteUnwantedKeysFromObject(compareMap.get(arr[i]), keysToRemove);
601621 //NOTE: In the compare branch, entry must exist. Condition of deleted entry not handled
602622 if(entryDetails !== undefined){
603623 entryDetails = updateAssetDetailsInEntries(entryDetails);
604- if (compareMap.get(el ) && !baseMap.get(el )) {
624+ if (compareMap.get(arr[i] ) && !baseMap.get(arr[i] )) {
605625 let createdEntry = await stackSDKInstance
606626 .contentType('${ contentType } ')
607627 .entry()
@@ -613,8 +633,8 @@ export function entryCreateUpdateScript(contentType) {
613633 }
614634 await updateEntry(createdEntry, entryDetails);
615635 }
616- } else if (compareMap.get(el ) && baseMap.get(el )) {
617- let baseEntry = baseMap.get(el );
636+ } else if (compareMap.get(arr[i] ) && baseMap.get(arr[i] )) {
637+ let baseEntry = baseMap.get(arr[i] );
618638 let entry = await stackSDKInstance.contentType('${ contentType } ').entry(baseEntry.uid);
619639
620640 if (flag.references) {
@@ -624,7 +644,7 @@ export function entryCreateUpdateScript(contentType) {
624644 await updateEntry(entry, entryDetails);
625645 }
626646 }
627- });
647+ }
628648 }
629649 } catch (error) {
630650 throw error;
0 commit comments