From a532582b2f97302b8d01c3ae5a225bf056e840b1 Mon Sep 17 00:00:00 2001 From: DB Date: Wed, 12 Nov 2025 15:17:04 +0000 Subject: [PATCH 1/4] fix: deliverykey/s live directly on FacetedContentItem --- src/commands/content-item/unarchive.ts | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/src/commands/content-item/unarchive.ts b/src/commands/content-item/unarchive.ts index 2b58d8db..d01071bb 100644 --- a/src/commands/content-item/unarchive.ts +++ b/src/commands/content-item/unarchive.ts @@ -146,8 +146,14 @@ export const getContentItems = async ({ // Delete the delivery keys, as the unarchive will attempt to reassign them if present. contentItems.forEach(item => { - delete item.body._meta.deliveryKey; - delete item.body._meta.deliveryKeys; + if (item instanceof ContentItem) { + delete item.body._meta.deliveryKey; + delete item.body._meta.deliveryKeys; + } + if ('deliveryKey' in item && 'deliveryKeys' in item) { + delete item.deliveryKey; + delete item.deliveryKeys; + } }); return { contentItems, missingContent: false }; From 00151a6f9b16b3ebbb095176e9799db3fcc4550c Mon Sep 17 00:00:00 2001 From: DB Date: Wed, 12 Nov 2025 16:58:55 +0000 Subject: [PATCH 2/4] refactor: stricter checks --- src/commands/content-item/unarchive.ts | 12 ++++++++---- 1 file changed, 8 insertions(+), 4 deletions(-) diff --git a/src/commands/content-item/unarchive.ts b/src/commands/content-item/unarchive.ts index d01071bb..0010a801 100644 --- a/src/commands/content-item/unarchive.ts +++ b/src/commands/content-item/unarchive.ts @@ -4,7 +4,7 @@ import dynamicContentClientFactory from '../../services/dynamic-content-client-f import { ArchiveLog } from '../../common/archive/archive-log'; import { confirmAllContent } from '../../common/content-item/confirm-all-content'; import UnarchiveOptions from '../../common/archive/unarchive-options'; -import { ContentItem, DynamicContent, Status } from 'dc-management-sdk-js'; +import { ContentItem, DynamicContent, FacetedContentItem, Status } from 'dc-management-sdk-js'; import { getDefaultLogPath } from '../../common/log-helpers'; import { withOldFilters } from '../../common/filter/facet'; import { getContent } from '../../common/filter/fetch-content'; @@ -150,9 +150,13 @@ export const getContentItems = async ({ delete item.body._meta.deliveryKey; delete item.body._meta.deliveryKeys; } - if ('deliveryKey' in item && 'deliveryKeys' in item) { - delete item.deliveryKey; - delete item.deliveryKeys; + if (item instanceof FacetedContentItem) { + if ('deliveryKey' in item) { + delete item.deliveryKey; + } + if ('deliveryKeys' in item) { + delete item.deliveryKeys; + } } }); From b094ea8e64c2d628aa6f62174505e8a610dabfc8 Mon Sep 17 00:00:00 2001 From: DB Date: Thu, 13 Nov 2025 10:43:15 +0000 Subject: [PATCH 3/4] docs: include archive txt update --- src/commands/content-item/archive.ts | 6 +++--- 1 file changed, 3 insertions(+), 3 deletions(-) diff --git a/src/commands/content-item/archive.ts b/src/commands/content-item/archive.ts index a14bb4fa..98f649dc 100644 --- a/src/commands/content-item/archive.ts +++ b/src/commands/content-item/archive.ts @@ -170,14 +170,14 @@ export const processItems = async ({ return; } - console.log('The following content items will be archived:'); + console.log('The following content item/s will be archived:'); contentItems.forEach((contentItem: ContentItem) => { console.log(` ${contentItem.label} (${contentItem.id})`); }); console.log(`Total: ${contentItems.length}`); if (!force) { - const yes = await confirmAllContent('archive', 'content item', allContent, missingContent); + const yes = await confirmAllContent('archive', 'content item/s', allContent, missingContent); if (!yes) { return; } @@ -226,7 +226,7 @@ export const processItems = async ({ await log.close(!silent); - console.log(`Archived ${successCount} content items.`); + console.log(`Archived ${successCount} content item/s.`); }; export const handler = async (argv: Arguments): Promise => { From 3a081802cdc15cab74ce93dc4a24760ddd86d6c7 Mon Sep 17 00:00:00 2001 From: DB Date: Thu, 13 Nov 2025 12:08:15 +0000 Subject: [PATCH 4/4] docs: text update --- src/commands/content-item/unarchive.ts | 10 +++++----- 1 file changed, 5 insertions(+), 5 deletions(-) diff --git a/src/commands/content-item/unarchive.ts b/src/commands/content-item/unarchive.ts index 0010a801..66e36c5d 100644 --- a/src/commands/content-item/unarchive.ts +++ b/src/commands/content-item/unarchive.ts @@ -195,14 +195,14 @@ export const processItems = async ({ return; } - console.log('The following content items will be unarchived:'); + console.log('The following content item/s will be unarchived:'); contentItems.forEach((contentItem: ContentItem) => { console.log(` ${contentItem.label} (${contentItem.id})`); }); console.log(`Total: ${contentItems.length}`); if (!force) { - const yes = await confirmAllContent('unarchive', 'content item', allContent, missingContent); + const yes = await confirmAllContent('unarchive', 'content item/s', allContent, missingContent); if (!yes) { return; } @@ -215,8 +215,8 @@ export const processItems = async ({ for (let i = 0; i < contentItems.length; i++) { try { - const deliveryKey = contentItems[i].body._meta.deliveryKey; - const deliveryKeys = contentItems[i].body._meta.deliveryKeys; + const deliveryKey = contentItems[i].body?._meta?.deliveryKey; + const deliveryKeys = contentItems[i].body?._meta?.deliveryKeys; contentItems[i] = await contentItems[i].related.unarchive(); if ( @@ -249,7 +249,7 @@ export const processItems = async ({ await log.writeToFile(logFile.replace('', timestamp)); } - console.log(`Unarchived ${successCount} content items.`); + console.log(`Unarchived ${successCount} content item/s.`); }; export const handler = async (argv: Arguments): Promise => {