From f52760c97448f62ef468dd999c9b1b5565183af5 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?J=C3=B6rn=20Berkefeld?= Date: Wed, 13 Nov 2024 17:17:16 +0100 Subject: [PATCH] #1294: add documentation of retention policy and upgrade test cases --- .../lib/metadataTypes/DataExtension.d.ts.map | 2 +- lib/metadataTypes/DataExtension.js | 29 +++++++++++++++++++ .../dataExtension/retrieve-expected.md | 5 ++++ .../dataExtension/retrieve-expected.md | 5 ++++ 4 files changed, 40 insertions(+), 1 deletion(-) diff --git a/@types/lib/metadataTypes/DataExtension.d.ts.map b/@types/lib/metadataTypes/DataExtension.d.ts.map index 65eee4790..5f0e2fc8e 100644 --- a/@types/lib/metadataTypes/DataExtension.d.ts.map +++ b/@types/lib/metadataTypes/DataExtension.d.ts.map @@ -1 +1 @@ -{"version":3,"file":"DataExtension.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/DataExtension.js"],"names":[],"mappings":"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"} \ No newline at end of file +{"version":3,"file":"DataExtension.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/DataExtension.js"],"names":[],"mappings":"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"} \ No newline at end of file diff --git a/lib/metadataTypes/DataExtension.js b/lib/metadataTypes/DataExtension.js index ebbd581f9..bf4f83c1f 100644 --- a/lib/metadataTypes/DataExtension.js +++ b/lib/metadataTypes/DataExtension.js @@ -1286,6 +1286,35 @@ class DataExtension extends MetadataType { if (json.r__dataExtensionTemplate_name) { output += `**Template:** ${json.r__dataExtensionTemplate_name}\n\n`; } + // Retention + output += `**Retention Policy:** ${json.c__retentionPolicy}\n\n`; + switch (json.c__retentionPolicy) { + case 'allRecords': + case 'allRecordsAndDataextension': { + if (json.DataRetentionPeriodLength) { + // if period length was selected, show it plus the optional reset-on-import; the retain-until date IS returned by the api but does not matter for documentation + output += `- **Retention Period:** ${json.DataRetentionPeriodLength} ${json.c__dataRetentionPeriodUnitOfMeasure}\n`; + output += `- **Reset Retention Period on import:** ${json.ResetRetentionPeriodOnImport ? 'yes' : 'no'}\n`; + } else { + // if a date was selected instead, the GUI auto-deselects reset-on-import + output += `- **Retain Until:** ${json.c__retainUntil}\n`; + } + // add empty line after retention: + output += `\n`; + break; + } + case 'individialRecords': { + output += `- **Retention Period:** ${json.DataRetentionPeriodLength} ${json.c__dataRetentionPeriodUnitOfMeasure}\n`; + output += `- **Reset Retention Period on import:** ${json.ResetRetentionPeriodOnImport ? 'yes' : 'no'}\n`; + // add empty line after retention: + output += `\n`; + break; + } + case 'none': { + // nothing else to do + break; + } + } let tableSeparator = ''; for (const column of tabled[0]) { diff --git a/test/resources/1111111/dataExtension/retrieve-expected.md b/test/resources/1111111/dataExtension/retrieve-expected.md index 7e9a1d2fa..5fe654993 100644 --- a/test/resources/1111111/dataExtension/retrieve-expected.md +++ b/test/resources/1111111/dataExtension/retrieve-expected.md @@ -10,6 +10,11 @@ **Testable:** Yes +**Retention Policy:** individialRecords + +- **Retention Period:** 6 Months +- **Reset Retention Period on import:** no + | Name | FieldType | MaxLength | IsPrimaryKey | IsNullable | DefaultValue | | --- | --- | --- | --- | --- | --- | | FirstName | Text | 50 | - | + | | diff --git a/test/resources/9999999/dataExtension/retrieve-expected.md b/test/resources/9999999/dataExtension/retrieve-expected.md index 4f2221484..074c23786 100644 --- a/test/resources/9999999/dataExtension/retrieve-expected.md +++ b/test/resources/9999999/dataExtension/retrieve-expected.md @@ -10,6 +10,11 @@ **Testable:** Yes +**Retention Policy:** allRecords + +- **Retention Period:** 6 Months +- **Reset Retention Period on import:** no + | Name | FieldType | MaxLength | IsPrimaryKey | IsNullable | DefaultValue | | --- | --- | --- | --- | --- | --- | | FirstName | Text | 50 | - | + | |