Skip to content

Commit

Permalink
#325: revert require-key logic
Browse files Browse the repository at this point in the history
  • Loading branch information
JoernBerkefeld committed Aug 23, 2023
1 parent bf8f6f4 commit 4e62e7f
Show file tree
Hide file tree
Showing 5 changed files with 9 additions and 40 deletions.
16 changes: 4 additions & 12 deletions docs/dist/documentation.md
Original file line number Diff line number Diff line change
Expand Up @@ -3409,7 +3409,7 @@ Provides default functionality that can be overwritten by child metadata type cl
* [.setFolderId(metadata)](#MetadataType.setFolderId)
* [.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key])](#MetadataType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.retrieveChangelog([additionalFields], [subTypeArr])](#MetadataType.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.retrieveForCache([additionalFields], [subTypeArr], [keyArr])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.retrieveForCache([additionalFields], [subTypeArr])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.retrieveAsTemplate(templateDir, name, templateVariables, [subType])](#MetadataType.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
* [.retrieveTemplateREST(templateDir, uri, templateVariables, name)](#MetadataType.retrieveTemplateREST) ⇒ <code>Promise.&lt;{metadata: TYPE.MetadataTypeItem, type: string}&gt;</code>
* [.buildTemplate(retrieveDir, templateDir, key, templateVariables)](#MetadataType.buildTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
Expand Down Expand Up @@ -3635,7 +3635,7 @@ Gets metadata from Marketing Cloud

<a name="MetadataType.retrieveForCache"></a>

### MetadataType.retrieveForCache([additionalFields], [subTypeArr], [keyArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
### MetadataType.retrieveForCache([additionalFields], [subTypeArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
Gets metadata cache with limited fields and does not store value to disk

**Kind**: static method of [<code>MetadataType</code>](#MetadataType)
Expand All @@ -3645,7 +3645,6 @@ Gets metadata cache with limited fields and does not store value to disk
| --- | --- | --- |
| [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
| [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
| [keyArr] | <code>Array.&lt;string&gt;</code> | customer key of single item to retrieve |

<a name="MetadataType.retrieveAsTemplate"></a>

Expand Down Expand Up @@ -6089,7 +6088,7 @@ Verification MetadataType
* [Verification](#Verification)[<code>MetadataType</code>](#MetadataType)
* [.retrieve(retrieveDir, [_], [__], key)](#Verification.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.handleRESTErrors(ex, id)](#Verification.handleRESTErrors) ⇒ <code>null</code>
* [.retrieveForCache([_], [__], [keyArr])](#Verification.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.retrieveForCache()](#Verification.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
* [.create(metadata)](#Verification.create) ⇒ <code>Promise</code>
* [.postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields)](#Verification.postCreateTasks) ⇒ <code>void</code>
* [.update(metadata)](#Verification.update) ⇒ <code>Promise</code>
Expand Down Expand Up @@ -6127,18 +6126,11 @@ helper for [this.retrieveRESTcollection](this.retrieveRESTcollection)

<a name="Verification.retrieveForCache"></a>

### Verification.retrieveForCache([_], [__], [keyArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
### Verification.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
Retrieves Metadata of Data Extract Activity for caching

**Kind**: static method of [<code>Verification</code>](#Verification)
**Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata

| Param | Type | Description |
| --- | --- | --- |
| [_] | <code>void</code> | not used |
| [__] | <code>void</code> | not used |
| [keyArr] | <code>Array.&lt;string&gt;</code> | customer key of single item to retrieve |

<a name="Verification.create"></a>

### Verification.create(metadata) ⇒ <code>Promise</code>
Expand Down
8 changes: 1 addition & 7 deletions lib/Deployer.js
Original file line number Diff line number Diff line change
Expand Up @@ -279,13 +279,7 @@ class Deployer {
MetadataTypeInfo[type].buObject = this.buObject;
Util.logger.info(`Caching dependent Metadata: ${metadataType}`);
Util.logSubtypes(subTypeArr);
const result = await MetadataTypeInfo[type].retrieveForCache(
null,
subTypeArr,
MetadataTypeInfo[type].definition.retrieveRequiresKey
? Object.keys(this.metadata[type])
: undefined
);
const result = await MetadataTypeInfo[type].retrieveForCache(null, subTypeArr);
cache.setMetadata(type, result.metadata);
}
/** @type {TYPE.MultiMetadataTypeMap} */
Expand Down
5 changes: 2 additions & 3 deletions lib/metadataTypes/MetadataType.js
Original file line number Diff line number Diff line change
Expand Up @@ -266,11 +266,10 @@ class MetadataType {
*
* @param {string[]} [additionalFields] Returns specified fields even if their retrieve definition is not set to true
* @param {string[]} [subTypeArr] optionally limit to a single subtype
* @param {string[]} [keyArr] customer key of single item to retrieve
* @returns {Promise.<TYPE.MetadataTypeMapObj>} metadata
*/
static async retrieveForCache(additionalFields, subTypeArr, keyArr) {
return this.retrieve(null, additionalFields, subTypeArr, keyArr);
static async retrieveForCache(additionalFields, subTypeArr) {
return this.retrieve(null, additionalFields, subTypeArr);
}
/**
* Gets metadata cache with limited fields and does not store value to disk
Expand Down
19 changes: 2 additions & 17 deletions lib/metadataTypes/Verification.js
Original file line number Diff line number Diff line change
Expand Up @@ -113,25 +113,10 @@ class Verification extends MetadataType {
/**
* Retrieves Metadata of Data Extract Activity for caching
*
* @param {void} [_] not used
* @param {void} [__] not used
* @param {string[]} [keyArr] customer key of single item to retrieve
* @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
*/
static async retrieveForCache(_, __, keyArr) {
const resultArr = await Promise.all(
keyArr.map(async (key) => this.retrieve(null, null, null, key))
);
const base = resultArr[0];
if (resultArr.length > 1) {
base.metadata = resultArr.reduce((acc, cur) => {
if (cur?.metadata) {
acc.metadata = Object.assign(acc.metadata, cur.metadata);
}
return acc;
}).metadata;
}
return base;
static async retrieveForCache() {
return this.retrieve();
}

/**
Expand Down
1 change: 0 additions & 1 deletion lib/metadataTypes/definitions/Verification.definition.js
Original file line number Diff line number Diff line change
Expand Up @@ -11,7 +11,6 @@ module.exports = {
lastmodNameField: null,
nameField: 'dataVerificationDefinitionId',
restPagination: false,
retrieveRequiresKey: true,
maxKeyLength: 36, // confirmed max length
type: 'verification',
typeDescription: 'Check DataExtension for a row count',
Expand Down

0 comments on commit 4e62e7f

Please sign in to comment.