mcdev 5.0.1 → 5.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.coverage-comment-template.svelte +177 -161
- package/.eslintrc.json +1 -0
- package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
- package/.github/dependabot.yml +8 -0
- package/.github/workflows/coverage-base-update.yml +6 -2
- package/.github/workflows/coverage-develop-branch.yml +7 -6
- package/.github/workflows/coverage-main-branch.yml +7 -6
- package/.github/workflows/coverage.yml +7 -2
- package/.husky/commit-msg +1 -1
- package/.husky/post-checkout +35 -3
- package/.husky/post-merge +21 -0
- package/.husky/pre-commit +1 -0
- package/docs/dist/documentation.md +222 -62
- package/lib/Deployer.js +3 -4
- package/lib/cli.js +36 -8
- package/lib/index.js +175 -3
- package/lib/metadataTypes/Asset.js +4 -2
- package/lib/metadataTypes/Automation.js +413 -195
- package/lib/metadataTypes/DataExtension.js +6 -8
- package/lib/metadataTypes/DataExtensionField.js +5 -5
- package/lib/metadataTypes/Journey.js +11 -10
- package/lib/metadataTypes/MetadataType.js +76 -22
- package/lib/metadataTypes/MobileKeyword.js +165 -20
- package/lib/metadataTypes/MobileMessage.js +20 -28
- package/lib/metadataTypes/Query.js +26 -0
- package/lib/metadataTypes/Role.js +2 -3
- package/lib/metadataTypes/TransactionalSMS.js +5 -5
- package/lib/metadataTypes/User.js +3 -17
- package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
- package/lib/metadataTypes/definitions/Automation.definition.js +52 -6
- package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
- package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
- package/lib/metadataTypes/definitions/EmailSend.definition.js +1 -0
- package/lib/metadataTypes/definitions/Event.definition.js +1 -0
- package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
- package/lib/metadataTypes/definitions/ImportFile.definition.js +1 -0
- package/lib/metadataTypes/definitions/MobileKeyword.definition.js +20 -7
- package/lib/metadataTypes/definitions/MobileMessage.definition.js +50 -8
- package/lib/metadataTypes/definitions/Query.definition.js +1 -0
- package/lib/metadataTypes/definitions/Role.definition.js +1 -0
- package/lib/metadataTypes/definitions/TriggeredSend.definition.js +1 -0
- package/lib/metadataTypes/definitions/User.definition.js +2 -0
- package/lib/util/auth.js +4 -1
- package/lib/util/cli.js +1 -1
- package/lib/util/devops.js +13 -11
- package/lib/util/file.js +5 -3
- package/lib/util/util.js +153 -129
- package/package.json +11 -11
- package/test/general.test.js +26 -0
- package/test/mockRoot/.mcdevrc.json +3 -1
- package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +53 -0
- package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +46 -0
- package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword.mobileKeyword-meta.json → 4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.json} +1 -4
- package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword_blocked.mobileKeyword-meta.json → 4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.json} +1 -4
- package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.json → testExisting_query.query-meta.json} +2 -2
- package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.json → testNew_query.query-meta.json} +2 -2
- package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +1 -1
- package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +1 -1
- package/test/resourceFactory.js +64 -21
- package/test/resources/1111111/user/retrieve-expected.md +19 -0
- package/test/resources/9999999/automation/build-expected.json +58 -0
- package/test/resources/9999999/automation/create-expected.json +46 -0
- package/test/resources/9999999/automation/create-testNew_automation-expected.md +28 -0
- package/test/resources/9999999/automation/delete-response.xml +40 -0
- package/test/resources/9999999/automation/retrieve-expected.json +58 -0
- package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +30 -0
- package/test/resources/9999999/automation/template-expected.json +58 -0
- package/test/resources/9999999/automation/update-expected.json +46 -0
- package/test/resources/9999999/automation/update-testExisting_automation-expected.md +28 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/patch-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/a8afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
- package/test/resources/9999999/automation/v1/automations/post-response.json +85 -0
- package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/get-response.json +38 -0
- package/test/resources/9999999/automation/v1/dataextracts/get-response.json +20 -0
- package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/get-response.json +18 -0
- package/test/resources/9999999/automation/v1/filetransfers/get-response.json +15 -0
- package/test/resources/9999999/automation/v1/imports/get-response.json +38 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/actions/start/post-response.txt +1 -0
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +2 -2
- package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +2 -2
- package/test/resources/9999999/automation/v1/queries/get-response.json +4 -4
- package/test/resources/9999999/automation/v1/queries/post-response.json +2 -2
- package/test/resources/9999999/automation/v1/scripts/get-response.json +17 -0
- package/test/resources/9999999/dataExtension/retrieve-expected.md +18 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=automations-response.xml +48 -0
- package/test/resources/9999999/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
- package/test/resources/9999999/dataFolder/retrieve-response.xml +22 -0
- package/test/resources/9999999/emailSendDefinition/retrieve-response.xml +85 -0
- package/test/resources/9999999/journey/build-expected.json +1 -1
- package/test/resources/9999999/journey/get-expected.json +1 -1
- package/test/resources/9999999/journey/put-expected.json +1 -1
- package/test/resources/9999999/journey/template-expected.json +1 -1
- package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/get-response.json +21 -0
- package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/post-response.json +0 -0
- package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +30 -0
- package/test/resources/9999999/legacy/v1/beta/mobile/keyword/NXV4ZFMwTEFwRVczd3RaLUF5X3p5dzo4Njow/get-response.json +1 -1
- package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +1 -1
- package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/get-response.json +1 -1
- package/test/resources/9999999/legacy/v1/beta/mobile/message/get-response.json +1 -1
- package/test/resources/9999999/messaging/v1/sms/definitions/post-response.json +1 -1
- package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/get-response.json +1 -1
- package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/patch-response.json +1 -1
- package/test/resources/9999999/mobileKeyword/build-expected.json +1 -4
- package/test/resources/9999999/mobileKeyword/get-expected.json +1 -4
- package/test/resources/9999999/mobileKeyword/post-create-expected.json +1 -4
- package/test/resources/9999999/mobileKeyword/template-expected.json +1 -4
- package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation-response.xml +30 -0
- package/test/resources/9999999/program/retrieve-CustomerKey=testNew_automation-response.xml +30 -0
- package/test/resources/9999999/program/retrieve-Name=testExisting_automation-response.xml +31 -0
- package/test/resources/9999999/program/retrieve-response.xml +32 -0
- package/test/resources/9999999/query/build-expected.json +2 -2
- package/test/resources/9999999/query/build-expected.sql +1 -1
- package/test/resources/9999999/query/get-expected.json +2 -2
- package/test/resources/9999999/query/get-expected.sql +1 -1
- package/test/resources/9999999/query/get2-expected.json +2 -2
- package/test/resources/9999999/query/patch-expected.json +2 -2
- package/test/resources/9999999/query/patch-expected.sql +1 -1
- package/test/resources/9999999/query/post-expected.json +2 -2
- package/test/resources/9999999/query/post-expected.sql +1 -1
- package/test/resources/9999999/query/template-expected.json +2 -2
- package/test/resources/9999999/query/template-expected.sql +1 -1
- package/test/resources/9999999/transactionalSMS/build-expected.json +1 -1
- package/test/resources/9999999/transactionalSMS/get-expected.json +1 -1
- package/test/resources/9999999/transactionalSMS/patch-expected.json +1 -1
- package/test/resources/9999999/transactionalSMS/post-expected.json +1 -1
- package/test/resources/9999999/transactionalSMS/template-expected.json +1 -1
- package/test/type.automation.test.js +259 -0
- package/test/type.dataExtension.test.js +16 -1
- package/test/type.mobileKeyword.test.js +57 -19
- package/test/type.query.test.js +39 -26
- package/test/type.user.test.js +44 -1
- package/test/utils.js +16 -5
- package/.coverage-comment-template.md +0 -20
- /package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword.mobileKeyword-meta.amp → 4912312345678.TESTNEW_KEYWORD.mobileKeyword-meta.amp} +0 -0
- /package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/{testNew_keyword_blocked.mobileKeyword-meta.amp → 4912312345678.TESTNEW_KEYWORD_BLOCKED.mobileKeyword-meta.amp} +0 -0
- /package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.sql → testExisting_query.query-meta.sql} +0 -0
- /package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.sql → testNew_query.query-meta.sql} +0 -0
|
@@ -186,17 +186,17 @@ Provides default functionality that can be overwritten by child metadata type cl
|
|
|
186
186
|
<dt><a href="#csvToArray">csvToArray(csv)</a> ⇒ <code>Array.<string></code></dt>
|
|
187
187
|
<dd><p>helper to convert CSVs into an array. if only one value was given, it's also returned as an array</p>
|
|
188
188
|
</dd>
|
|
189
|
+
<dt><a href="#Automation.">Automation.(metadataMap, key)</a> ⇒ <code>Promise.<void></code></dt>
|
|
190
|
+
<dd><p>helper for <a href="#Automation.postDeployTasks">postDeployTasks</a></p>
|
|
191
|
+
</dd>
|
|
192
|
+
<dt><a href="#Automation.">Automation.(metadataMap, originalMetadataMap, key)</a></dt>
|
|
193
|
+
<dd><p>helper for <a href="postDeployTasks">postDeployTasks</a></p>
|
|
194
|
+
</dd>
|
|
189
195
|
<dt><a href="#getUserName">getUserName(userList, item, fieldname)</a> ⇒ <code>string</code></dt>
|
|
190
196
|
<dd></dd>
|
|
191
197
|
<dt><a href="#setupSDK">setupSDK(sessionKey, authObject)</a> ⇒ <code><a href="#SDK">SDK</a></code></dt>
|
|
192
198
|
<dd><p>Returns an SDK instance to be used for API calls</p>
|
|
193
199
|
</dd>
|
|
194
|
-
<dt><a href="#createNewLoggerTransport">createNewLoggerTransport()</a> ⇒ <code>object</code></dt>
|
|
195
|
-
<dd><p>wrapper around our standard winston logging to console and logfile</p>
|
|
196
|
-
</dd>
|
|
197
|
-
<dt><a href="#startLogger">startLogger()</a> ⇒ <code>void</code></dt>
|
|
198
|
-
<dd><p>initiate winston logger</p>
|
|
199
|
-
</dd>
|
|
200
200
|
</dl>
|
|
201
201
|
|
|
202
202
|
## Typedefs
|
|
@@ -496,6 +496,8 @@ main class
|
|
|
496
496
|
* [.buildDefinition(businessUnit, selectedType, name, market)](#Mcdev.buildDefinition) ⇒ <code>Promise.<void></code>
|
|
497
497
|
* [.buildDefinitionBulk(listName, type, name)](#Mcdev.buildDefinitionBulk) ⇒ <code>Promise.<void></code>
|
|
498
498
|
* [.getFilesToCommit(businessUnit, selectedType, keyArr)](#Mcdev.getFilesToCommit) ⇒ <code>Promise.<Array.<string>></code>
|
|
499
|
+
* [.execute(businessUnit, [selectedTypesArr], keys)](#Mcdev.execute) ⇒ <code>Promise.<boolean></code>
|
|
500
|
+
* [._executeBU(cred, bu, [selectedTypesArr], keyArr)](#Mcdev._executeBU) ⇒ <code>Promise.<boolean></code>
|
|
499
501
|
|
|
500
502
|
<a name="Mcdev.setSkipInteraction"></a>
|
|
501
503
|
|
|
@@ -748,6 +750,35 @@ Build a specific metadata file based on a template using a list of bu-market com
|
|
|
748
750
|
| selectedType | <code>string</code> | supported metadata type |
|
|
749
751
|
| keyArr | <code>Array.<string></code> | customerkey of the metadata |
|
|
750
752
|
|
|
753
|
+
<a name="Mcdev.execute"></a>
|
|
754
|
+
|
|
755
|
+
### Mcdev.execute(businessUnit, [selectedTypesArr], keys) ⇒ <code>Promise.<boolean></code>
|
|
756
|
+
Start an item (query)
|
|
757
|
+
|
|
758
|
+
**Kind**: static method of [<code>Mcdev</code>](#Mcdev)
|
|
759
|
+
**Returns**: <code>Promise.<boolean></code> - true if all started successfully, false if not
|
|
760
|
+
|
|
761
|
+
| Param | Type | Description |
|
|
762
|
+
| --- | --- | --- |
|
|
763
|
+
| businessUnit | <code>string</code> | name of BU |
|
|
764
|
+
| [selectedTypesArr] | <code>Array.<TYPE.SupportedMetadataTypes></code> | limit to given metadata types |
|
|
765
|
+
| keys | <code>Array.<string></code> | customerkey of the metadata |
|
|
766
|
+
|
|
767
|
+
<a name="Mcdev._executeBU"></a>
|
|
768
|
+
|
|
769
|
+
### Mcdev.\_executeBU(cred, bu, [selectedTypesArr], keyArr) ⇒ <code>Promise.<boolean></code>
|
|
770
|
+
helper for [execute](execute)
|
|
771
|
+
|
|
772
|
+
**Kind**: static method of [<code>Mcdev</code>](#Mcdev)
|
|
773
|
+
**Returns**: <code>Promise.<boolean></code> - true if all items were executed, false otherwise
|
|
774
|
+
|
|
775
|
+
| Param | Type | Description |
|
|
776
|
+
| --- | --- | --- |
|
|
777
|
+
| cred | <code>string</code> | name of Credential |
|
|
778
|
+
| bu | <code>string</code> | name of BU |
|
|
779
|
+
| [selectedTypesArr] | <code>Array.<TYPE.SupportedMetadataTypes></code> | limit execution to given metadata type |
|
|
780
|
+
| keyArr | <code>Array.<string></code> | customerkey of the metadata |
|
|
781
|
+
|
|
751
782
|
<a name="Asset"></a>
|
|
752
783
|
|
|
753
784
|
## Asset ⇐ [<code>MetadataType</code>](#MetadataType)
|
|
@@ -1206,16 +1237,15 @@ Automation MetadataType
|
|
|
1206
1237
|
* [.retrieveChangelog()](#Automation.retrieveChangelog) ⇒ <code>Promise.<TYPE.AutomationMapObj></code>
|
|
1207
1238
|
* [.retrieveForCache()](#Automation.retrieveForCache) ⇒ <code>Promise.<TYPE.AutomationMapObj></code>
|
|
1208
1239
|
* [.retrieveAsTemplate(templateDir, name, templateVariables)](#Automation.retrieveAsTemplate) ⇒ <code>Promise.<TYPE.AutomationItemObj></code>
|
|
1209
|
-
* [.postRetrieveTasks(metadata)](#Automation.postRetrieveTasks) ⇒ <code>TYPE.AutomationItem</code>
|
|
1240
|
+
* [.postRetrieveTasks(metadata)](#Automation.postRetrieveTasks) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
|
|
1210
1241
|
* [.deploy(metadata, targetBU, retrieveDir, [isRefresh])](#Automation.deploy) ⇒ <code>Promise.<TYPE.AutomationMap></code>
|
|
1211
1242
|
* [.create(metadata)](#Automation.create) ⇒ <code>Promise</code>
|
|
1212
1243
|
* [.update(metadata, metadataBefore)](#Automation.update) ⇒ <code>Promise</code>
|
|
1213
1244
|
* [.preDeployTasks(metadata)](#Automation.preDeployTasks) ⇒ <code>Promise.<TYPE.AutomationItem></code>
|
|
1214
1245
|
* [.validateDeployMetadata(metadata)](#Automation.validateDeployMetadata) ⇒ <code>boolean</code>
|
|
1215
|
-
* [.postDeployTasks(
|
|
1246
|
+
* [.postDeployTasks(metadataMap, originalMetadataMap)](#Automation.postDeployTasks) ⇒ <code>Promise.<void></code>
|
|
1216
1247
|
* [.setFolderPath(metadata)](#Automation.setFolderPath)
|
|
1217
1248
|
* [.setFolderId(metadata)](#Automation.setFolderId)
|
|
1218
|
-
* [.parseMetadata(metadata)](#Automation.parseMetadata) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
|
|
1219
1249
|
* [._buildSchedule(scheduleObject)](#Automation._buildSchedule) ⇒ <code>TYPE.AutomationScheduleSoap</code>
|
|
1220
1250
|
* [._calcTime(offsetServer, dateInput, [offsetInput])](#Automation._calcTime) ⇒ <code>string</code>
|
|
1221
1251
|
* [.document([metadata])](#Automation.document) ⇒ <code>Promise.<void></code>
|
|
@@ -1268,11 +1298,11 @@ Retrieve a specific Automation Definition by Name
|
|
|
1268
1298
|
|
|
1269
1299
|
<a name="Automation.postRetrieveTasks"></a>
|
|
1270
1300
|
|
|
1271
|
-
### Automation.postRetrieveTasks(metadata) ⇒ <code>TYPE.AutomationItem</code>
|
|
1301
|
+
### Automation.postRetrieveTasks(metadata) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
|
|
1272
1302
|
manages post retrieve steps
|
|
1273
1303
|
|
|
1274
1304
|
**Kind**: static method of [<code>Automation</code>](#Automation)
|
|
1275
|
-
**Returns**: <code>TYPE.AutomationItem</code> -
|
|
1305
|
+
**Returns**: <code>TYPE.AutomationItem</code> \| <code>void</code> - parsed item
|
|
1276
1306
|
|
|
1277
1307
|
| Param | Type | Description |
|
|
1278
1308
|
| --- | --- | --- |
|
|
@@ -1345,7 +1375,7 @@ Whitelisted Activites are deployed but require configuration
|
|
|
1345
1375
|
|
|
1346
1376
|
<a name="Automation.postDeployTasks"></a>
|
|
1347
1377
|
|
|
1348
|
-
### Automation.postDeployTasks(
|
|
1378
|
+
### Automation.postDeployTasks(metadataMap, originalMetadataMap) ⇒ <code>Promise.<void></code>
|
|
1349
1379
|
Gets executed after deployment of metadata type
|
|
1350
1380
|
|
|
1351
1381
|
**Kind**: static method of [<code>Automation</code>](#Automation)
|
|
@@ -1353,8 +1383,8 @@ Gets executed after deployment of metadata type
|
|
|
1353
1383
|
|
|
1354
1384
|
| Param | Type | Description |
|
|
1355
1385
|
| --- | --- | --- |
|
|
1356
|
-
|
|
|
1357
|
-
|
|
|
1386
|
+
| metadataMap | <code>TYPE.AutomationMap</code> | metadata mapped by their keyField |
|
|
1387
|
+
| originalMetadataMap | <code>TYPE.AutomationMap</code> | metadata to be updated (contains additioanl fields) |
|
|
1358
1388
|
|
|
1359
1389
|
<a name="Automation.setFolderPath"></a>
|
|
1360
1390
|
|
|
@@ -1378,18 +1408,6 @@ automation-specific script that retrieves the folder ID from cache and updates t
|
|
|
1378
1408
|
| --- | --- | --- |
|
|
1379
1409
|
| metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
|
|
1380
1410
|
|
|
1381
|
-
<a name="Automation.parseMetadata"></a>
|
|
1382
|
-
|
|
1383
|
-
### Automation.parseMetadata(metadata) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
|
|
1384
|
-
parses retrieved Metadata before saving
|
|
1385
|
-
|
|
1386
|
-
**Kind**: static method of [<code>Automation</code>](#Automation)
|
|
1387
|
-
**Returns**: <code>TYPE.AutomationItem</code> \| <code>void</code> - parsed item
|
|
1388
|
-
|
|
1389
|
-
| Param | Type | Description |
|
|
1390
|
-
| --- | --- | --- |
|
|
1391
|
-
| metadata | <code>TYPE.AutomationItem</code> | a single automation definition |
|
|
1392
|
-
|
|
1393
1411
|
<a name="Automation._buildSchedule"></a>
|
|
1394
1412
|
|
|
1395
1413
|
### Automation.\_buildSchedule(scheduleObject) ⇒ <code>TYPE.AutomationScheduleSoap</code>
|
|
@@ -3155,6 +3173,7 @@ Provides default functionality that can be overwritten by child metadata type cl
|
|
|
3155
3173
|
* [.create(metadata, deployDir)](#MetadataType.create) ⇒ <code>void</code>
|
|
3156
3174
|
* [.update(metadata, [metadataBefore])](#MetadataType.update) ⇒ <code>void</code>
|
|
3157
3175
|
* [.refresh()](#MetadataType.refresh) ⇒ <code>void</code>
|
|
3176
|
+
* [.execute()](#MetadataType.execute) ⇒ <code>void</code>
|
|
3158
3177
|
* [.hasChanged(cachedVersion, metadata, [fieldName])](#MetadataType.hasChanged) ⇒ <code>boolean</code>
|
|
3159
3178
|
* [.hasChangedGeneric(cachedVersion, metadata, [fieldName], [silent])](#MetadataType.hasChangedGeneric) ⇒ <code>boolean</code>
|
|
3160
3179
|
* [.upsert(metadataMap, deployDir, [isRefresh])](#MetadataType.upsert) ⇒ <code>Promise.<TYPE.MetadataTypeMap></code>
|
|
@@ -3167,6 +3186,8 @@ Provides default functionality that can be overwritten by child metadata type cl
|
|
|
3167
3186
|
* [.getSOAPErrorMsg(ex)](#MetadataType.getSOAPErrorMsg) ⇒ <code>string</code>
|
|
3168
3187
|
* [.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.<TYPE.MetadataTypeMapObj></code>
|
|
3169
3188
|
* [.retrieveREST(retrieveDir, uri, [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.<{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}></code>
|
|
3189
|
+
* [.executeREST(uri, key)](#MetadataType.executeREST) ⇒ <code>Promise.<string></code>
|
|
3190
|
+
* [.runDocumentOnRetrieve([singleRetrieve], metadataMap)](#MetadataType.runDocumentOnRetrieve) ⇒ <code>Promise.<void></code>
|
|
3170
3191
|
* [.parseResponseBody(body, [singleRetrieve])](#MetadataType.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
|
|
3171
3192
|
* [.deleteFieldByDefinition(metadataEntry, fieldPath, definitionProperty, origin)](#MetadataType.deleteFieldByDefinition) ⇒ <code>void</code>
|
|
3172
3193
|
* [.removeNotCreateableFields(metadataEntry)](#MetadataType.removeNotCreateableFields) ⇒ <code>void</code>
|
|
@@ -3465,6 +3486,12 @@ Abstract update method that needs to be implemented in child metadata type
|
|
|
3465
3486
|
### MetadataType.refresh() ⇒ <code>void</code>
|
|
3466
3487
|
Abstract refresh method that needs to be implemented in child metadata type
|
|
3467
3488
|
|
|
3489
|
+
**Kind**: static method of [<code>MetadataType</code>](#MetadataType)
|
|
3490
|
+
<a name="MetadataType.execute"></a>
|
|
3491
|
+
|
|
3492
|
+
### MetadataType.execute() ⇒ <code>void</code>
|
|
3493
|
+
Abstract execute method that needs to be implemented in child metadata type
|
|
3494
|
+
|
|
3468
3495
|
**Kind**: static method of [<code>MetadataType</code>](#MetadataType)
|
|
3469
3496
|
<a name="MetadataType.hasChanged"></a>
|
|
3470
3497
|
|
|
@@ -3632,6 +3659,32 @@ Retrieves Metadata for Rest Types
|
|
|
3632
3659
|
| [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
|
|
3633
3660
|
| [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
|
|
3634
3661
|
|
|
3662
|
+
<a name="MetadataType.executeREST"></a>
|
|
3663
|
+
|
|
3664
|
+
### MetadataType.executeREST(uri, key) ⇒ <code>Promise.<string></code>
|
|
3665
|
+
Used to execute a query/automation etc.
|
|
3666
|
+
|
|
3667
|
+
**Kind**: static method of [<code>MetadataType</code>](#MetadataType)
|
|
3668
|
+
**Returns**: <code>Promise.<string></code> - 'OK' if started execution successfully, otherwise - 'Error'
|
|
3669
|
+
|
|
3670
|
+
| Param | Type | Description |
|
|
3671
|
+
| --- | --- | --- |
|
|
3672
|
+
| uri | <code>string</code> | REST endpoint where the POST request should be sent |
|
|
3673
|
+
| key | <code>string</code> | item key |
|
|
3674
|
+
|
|
3675
|
+
<a name="MetadataType.runDocumentOnRetrieve"></a>
|
|
3676
|
+
|
|
3677
|
+
### MetadataType.runDocumentOnRetrieve([singleRetrieve], metadataMap) ⇒ <code>Promise.<void></code>
|
|
3678
|
+
helper for [retrieveREST](retrieveREST) and [retrieveSOAP](retrieveSOAP)
|
|
3679
|
+
|
|
3680
|
+
**Kind**: static method of [<code>MetadataType</code>](#MetadataType)
|
|
3681
|
+
**Returns**: <code>Promise.<void></code> - -
|
|
3682
|
+
|
|
3683
|
+
| Param | Type | Description |
|
|
3684
|
+
| --- | --- | --- |
|
|
3685
|
+
| [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
|
|
3686
|
+
| metadataMap | <code>TYPE.MetadataTypeMap</code> | saved metadata |
|
|
3687
|
+
|
|
3635
3688
|
<a name="MetadataType.parseResponseBody"></a>
|
|
3636
3689
|
|
|
3637
3690
|
### MetadataType.parseResponseBody(body, [singleRetrieve]) ⇒ <code>TYPE.MetadataTypeMap</code>
|
|
@@ -4006,11 +4059,13 @@ MobileKeyword MetadataType
|
|
|
4006
4059
|
|
|
4007
4060
|
* [MobileKeyword](#MobileKeyword) ⇐ [<code>MetadataType</code>](#MetadataType)
|
|
4008
4061
|
* [.retrieve(retrieveDir, [_], [__], [key])](#MobileKeyword.retrieve) ⇒ <code>Promise.<TYPE.MetadataTypeMapObj></code> \| <code>void</code>
|
|
4062
|
+
* [.parseResponseBody(body, [singleRetrieve])](#MobileKeyword.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
|
|
4063
|
+
* [.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#MobileKeyword.createOrUpdate) ⇒ <code>'create'</code> \| <code>'update'</code> \| <code>'skip'</code>
|
|
4009
4064
|
* [.retrieveForCache(_, __, [key])](#MobileKeyword.retrieveForCache) ⇒ <code>Promise.<TYPE.MetadataTypeMapObj></code>
|
|
4010
|
-
* [.retrieveAsTemplate(templateDir,
|
|
4011
|
-
* [.create(
|
|
4065
|
+
* [.retrieveAsTemplate(templateDir, key, templateVariables)](#MobileKeyword.retrieveAsTemplate) ⇒ <code>Promise.<TYPE.MetadataTypeItemObj></code>
|
|
4066
|
+
* [.create(metadata)](#MobileKeyword.create) ⇒ <code>Promise</code>
|
|
4012
4067
|
* [.update(metadata)](#MobileKeyword.update) ⇒ <code>Promise</code>
|
|
4013
|
-
* [.postRetrieveTasks(metadata)](#MobileKeyword.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code>
|
|
4068
|
+
* [.postRetrieveTasks(metadata)](#MobileKeyword.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
|
|
4014
4069
|
* [.prepExtractedCode(metadataScript)](#MobileKeyword.prepExtractedCode) ⇒ <code>Object</code>
|
|
4015
4070
|
* [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileKeyword.buildDefinitionForNested) ⇒ <code>Promise.<Array.<Array.<string>>></code>
|
|
4016
4071
|
* [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileKeyword.buildTemplateForNested) ⇒ <code>Promise.<Array.<Array.<string>>></code>
|
|
@@ -4039,6 +4094,35 @@ Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all det
|
|
|
4039
4094
|
| [__] | <code>void</code> | unused parameter |
|
|
4040
4095
|
| [key] | <code>string</code> | customer key of single item to retrieve |
|
|
4041
4096
|
|
|
4097
|
+
<a name="MobileKeyword.parseResponseBody"></a>
|
|
4098
|
+
|
|
4099
|
+
### MobileKeyword.parseResponseBody(body, [singleRetrieve]) ⇒ <code>TYPE.MetadataTypeMap</code>
|
|
4100
|
+
Builds map of metadata entries mapped to their keyfields
|
|
4101
|
+
|
|
4102
|
+
**Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
|
|
4103
|
+
**Returns**: <code>TYPE.MetadataTypeMap</code> - keyField => metadata map
|
|
4104
|
+
|
|
4105
|
+
| Param | Type | Description |
|
|
4106
|
+
| --- | --- | --- |
|
|
4107
|
+
| body | <code>object</code> | json of response body |
|
|
4108
|
+
| [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
|
|
4109
|
+
|
|
4110
|
+
<a name="MobileKeyword.createOrUpdate"></a>
|
|
4111
|
+
|
|
4112
|
+
### MobileKeyword.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>'create'</code> \| <code>'update'</code> \| <code>'skip'</code>
|
|
4113
|
+
helper for [upsert](#MetadataType.upsert)
|
|
4114
|
+
|
|
4115
|
+
**Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
|
|
4116
|
+
**Returns**: <code>'create'</code> \| <code>'update'</code> \| <code>'skip'</code> - action to take
|
|
4117
|
+
|
|
4118
|
+
| Param | Type | Description |
|
|
4119
|
+
| --- | --- | --- |
|
|
4120
|
+
| metadataMap | <code>TYPE.MetadataTypeMap</code> | list of metadata |
|
|
4121
|
+
| metadataKey | <code>string</code> | key of item we are looking at |
|
|
4122
|
+
| hasError | <code>boolean</code> | error flag from previous code |
|
|
4123
|
+
| metadataToUpdate | <code>Array.<TYPE.MetadataTypeItemDiff></code> | list of items to update |
|
|
4124
|
+
| metadataToCreate | <code>Array.<TYPE.MetadataTypeItem></code> | list of items to create |
|
|
4125
|
+
|
|
4042
4126
|
<a name="MobileKeyword.retrieveForCache"></a>
|
|
4043
4127
|
|
|
4044
4128
|
### MobileKeyword.retrieveForCache(_, __, [key]) ⇒ <code>Promise.<TYPE.MetadataTypeMapObj></code>
|
|
@@ -4055,8 +4139,8 @@ Retrieves event definition metadata for caching
|
|
|
4055
4139
|
|
|
4056
4140
|
<a name="MobileKeyword.retrieveAsTemplate"></a>
|
|
4057
4141
|
|
|
4058
|
-
### MobileKeyword.retrieveAsTemplate(templateDir,
|
|
4059
|
-
|
|
4142
|
+
### MobileKeyword.retrieveAsTemplate(templateDir, key, templateVariables) ⇒ <code>Promise.<TYPE.MetadataTypeItemObj></code>
|
|
4143
|
+
retrieve an item and create a template from it
|
|
4060
4144
|
|
|
4061
4145
|
**Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
|
|
4062
4146
|
**Returns**: <code>Promise.<TYPE.MetadataTypeItemObj></code> - Promise of metadata
|
|
@@ -4064,20 +4148,20 @@ Retrieve a specific keyword
|
|
|
4064
4148
|
| Param | Type | Description |
|
|
4065
4149
|
| --- | --- | --- |
|
|
4066
4150
|
| templateDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
|
|
4067
|
-
|
|
|
4151
|
+
| key | <code>string</code> | name of the metadata file |
|
|
4068
4152
|
| templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
|
|
4069
4153
|
|
|
4070
4154
|
<a name="MobileKeyword.create"></a>
|
|
4071
4155
|
|
|
4072
|
-
### MobileKeyword.create(
|
|
4073
|
-
Creates a single
|
|
4156
|
+
### MobileKeyword.create(metadata) ⇒ <code>Promise</code>
|
|
4157
|
+
Creates a single item
|
|
4074
4158
|
|
|
4075
4159
|
**Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
|
|
4076
4160
|
**Returns**: <code>Promise</code> - Promise
|
|
4077
4161
|
|
|
4078
4162
|
| Param | Type | Description |
|
|
4079
4163
|
| --- | --- | --- |
|
|
4080
|
-
|
|
|
4164
|
+
| metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
|
|
4081
4165
|
|
|
4082
4166
|
<a name="MobileKeyword.update"></a>
|
|
4083
4167
|
|
|
@@ -4093,11 +4177,11 @@ Updates a single item
|
|
|
4093
4177
|
|
|
4094
4178
|
<a name="MobileKeyword.postRetrieveTasks"></a>
|
|
4095
4179
|
|
|
4096
|
-
### MobileKeyword.postRetrieveTasks(metadata) ⇒ <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code>
|
|
4180
|
+
### MobileKeyword.postRetrieveTasks(metadata) ⇒ <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
|
|
4097
4181
|
manages post retrieve steps
|
|
4098
4182
|
|
|
4099
4183
|
**Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
|
|
4100
|
-
**Returns**: <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one ssjs string
|
|
4184
|
+
**Returns**: <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code> \| <code>void</code> - Array with one metadata object and one ssjs string; or single metadata object; nothing if filtered
|
|
4101
4185
|
|
|
4102
4186
|
| Param | Type | Description |
|
|
4103
4187
|
| --- | --- | --- |
|
|
@@ -4503,6 +4587,7 @@ Query MetadataType
|
|
|
4503
4587
|
|
|
4504
4588
|
* [Query](#Query) ⇐ [<code>MetadataType</code>](#MetadataType)
|
|
4505
4589
|
* [.retrieve(retrieveDir, [_], [__], [key])](#Query.retrieve) ⇒ <code>Promise.<{metadata: TYPE.QueryMap, type: string}></code>
|
|
4590
|
+
* [.execute(keyArr)](#Query.execute) ⇒ <code>Promise.<boolean></code>
|
|
4506
4591
|
* [.retrieveForCache()](#Query.retrieveForCache) ⇒ <code>Promise.<{metadata: TYPE.QueryMap, type: string}></code>
|
|
4507
4592
|
* [.retrieveAsTemplate(templateDir, name, templateVariables)](#Query.retrieveAsTemplate) ⇒ <code>Promise.<{metadata: Query, type: string}></code>
|
|
4508
4593
|
* [.postRetrieveTasks(metadata)](#Query.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
|
|
@@ -4532,6 +4617,18 @@ Retrieves Metadata of queries
|
|
|
4532
4617
|
| [__] | <code>void</code> | unused parameter |
|
|
4533
4618
|
| [key] | <code>string</code> | customer key of single item to retrieve |
|
|
4534
4619
|
|
|
4620
|
+
<a name="Query.execute"></a>
|
|
4621
|
+
|
|
4622
|
+
### Query.execute(keyArr) ⇒ <code>Promise.<boolean></code>
|
|
4623
|
+
a function to start query execution via API
|
|
4624
|
+
|
|
4625
|
+
**Kind**: static method of [<code>Query</code>](#Query)
|
|
4626
|
+
**Returns**: <code>Promise.<boolean></code> - Returns true if all items were executed successfully, otherwise false
|
|
4627
|
+
|
|
4628
|
+
| Param | Type | Description |
|
|
4629
|
+
| --- | --- | --- |
|
|
4630
|
+
| keyArr | <code>Array.<string></code> | customerkey of the metadata |
|
|
4631
|
+
|
|
4535
4632
|
<a name="Query.retrieveForCache"></a>
|
|
4536
4633
|
|
|
4537
4634
|
### Query.retrieveForCache() ⇒ <code>Promise.<{metadata: TYPE.QueryMap, type: string}></code>
|
|
@@ -5788,19 +5885,21 @@ CLI entry for SFMC DevTools
|
|
|
5788
5885
|
* [.includesStartsWith(arr, search)](#Util.includesStartsWith) ⇒ <code>boolean</code>
|
|
5789
5886
|
* [.includesStartsWithIndex(arr, search)](#Util.includesStartsWithIndex) ⇒ <code>number</code>
|
|
5790
5887
|
* [.checkMarket(market, properties)](#Util.checkMarket) ⇒ <code>boolean</code>
|
|
5791
|
-
* [.verifyMarketList(mlName, properties)](#Util.verifyMarketList)
|
|
5888
|
+
* [.verifyMarketList(mlName, properties)](#Util.verifyMarketList)
|
|
5792
5889
|
* [.signalFatalError()](#Util.signalFatalError) ⇒ <code>void</code>
|
|
5793
5890
|
* [.isTrue(attrValue)](#Util.isTrue) ⇒ <code>boolean</code>
|
|
5794
5891
|
* [.isFalse(attrValue)](#Util.isFalse) ⇒ <code>boolean</code>
|
|
5795
5892
|
* [._isValidType(selectedType, [handleOutside])](#Util._isValidType) ⇒ <code>boolean</code>
|
|
5796
5893
|
* [.getTypeAndSubType(selectedType)](#Util.getTypeAndSubType) ⇒ <code>Array.<string></code>
|
|
5797
5894
|
* [.getRetrieveTypeChoices()](#Util.getRetrieveTypeChoices) ⇒ <code>Array.<TYPE.SupportedMetadataTypes></code>
|
|
5895
|
+
* [._createNewLoggerTransport([noLogFile])](#Util._createNewLoggerTransport) ⇒ <code>object</code>
|
|
5896
|
+
* [.startLogger([restart], [noLogFile])](#Util.startLogger) ⇒ <code>void</code>
|
|
5798
5897
|
* [.metadataLogger(level, type, method, payload, [source])](#Util.metadataLogger) ⇒ <code>void</code>
|
|
5799
5898
|
* [.replaceByObject(str, obj)](#Util.replaceByObject) ⇒ <code>string</code> \| <code>object</code>
|
|
5800
5899
|
* [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
|
|
5801
5900
|
* [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Object.<string, Array.<string>></code>
|
|
5802
5901
|
* [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
|
|
5803
|
-
* [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
|
|
5902
|
+
* [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code> \| <code>void</code>
|
|
5804
5903
|
* [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
|
|
5805
5904
|
* [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
|
|
5806
5905
|
* [.logBeta(type)](#Util.logBeta)
|
|
@@ -5874,11 +5973,10 @@ check if a market name exists in current mcdev config
|
|
|
5874
5973
|
|
|
5875
5974
|
<a name="Util.verifyMarketList"></a>
|
|
5876
5975
|
|
|
5877
|
-
### Util.verifyMarketList(mlName, properties)
|
|
5976
|
+
### Util.verifyMarketList(mlName, properties)
|
|
5878
5977
|
ensure provided MarketList exists and it's content including markets and BUs checks out
|
|
5879
5978
|
|
|
5880
5979
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
5881
|
-
**Returns**: <code>void</code> - throws errors if problems were found
|
|
5882
5980
|
|
|
5883
5981
|
| Param | Type | Description |
|
|
5884
5982
|
| --- | --- | --- |
|
|
@@ -5947,6 +6045,30 @@ helper for getDefaultProperties()
|
|
|
5947
6045
|
|
|
5948
6046
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
5949
6047
|
**Returns**: <code>Array.<TYPE.SupportedMetadataTypes></code> - type choices
|
|
6048
|
+
<a name="Util._createNewLoggerTransport"></a>
|
|
6049
|
+
|
|
6050
|
+
### Util.\_createNewLoggerTransport([noLogFile]) ⇒ <code>object</code>
|
|
6051
|
+
wrapper around our standard winston logging to console and logfile
|
|
6052
|
+
|
|
6053
|
+
**Kind**: static method of [<code>Util</code>](#Util)
|
|
6054
|
+
**Returns**: <code>object</code> - initiated logger for console and file
|
|
6055
|
+
|
|
6056
|
+
| Param | Type | Default | Description |
|
|
6057
|
+
| --- | --- | --- | --- |
|
|
6058
|
+
| [noLogFile] | <code>boolean</code> | <code>false</code> | optional flag to indicate if we should log to file; CLI logs are always on |
|
|
6059
|
+
|
|
6060
|
+
<a name="Util.startLogger"></a>
|
|
6061
|
+
|
|
6062
|
+
### Util.startLogger([restart], [noLogFile]) ⇒ <code>void</code>
|
|
6063
|
+
initiate winston logger
|
|
6064
|
+
|
|
6065
|
+
**Kind**: static method of [<code>Util</code>](#Util)
|
|
6066
|
+
|
|
6067
|
+
| Param | Type | Default | Description |
|
|
6068
|
+
| --- | --- | --- | --- |
|
|
6069
|
+
| [restart] | <code>boolean</code> | <code>false</code> | if true, logger will be restarted; otherwise, an existing logger will be used |
|
|
6070
|
+
| [noLogFile] | <code>boolean</code> | <code>false</code> | if false, logger will log to file; otherwise, only to console |
|
|
6071
|
+
|
|
5950
6072
|
<a name="Util.metadataLogger"></a>
|
|
5951
6073
|
|
|
5952
6074
|
### Util.metadataLogger(level, type, method, payload, [source]) ⇒ <code>void</code>
|
|
@@ -6016,11 +6138,11 @@ let's you dynamically walk down an object and get a value
|
|
|
6016
6138
|
|
|
6017
6139
|
<a name="Util.execSync"></a>
|
|
6018
6140
|
|
|
6019
|
-
### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code>
|
|
6141
|
+
### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code> \| <code>void</code>
|
|
6020
6142
|
helper to run other commands as if run manually by user
|
|
6021
6143
|
|
|
6022
6144
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
6023
|
-
**Returns**: <code>string</code> - output of command if hideOutput is true
|
|
6145
|
+
**Returns**: <code>string</code> \| <code>void</code> - output of command if hideOutput is true
|
|
6024
6146
|
|
|
6025
6147
|
| Param | Type | Description |
|
|
6026
6148
|
| --- | --- | --- |
|
|
@@ -7653,19 +7775,21 @@ Util that contains logger and simple util methods
|
|
|
7653
7775
|
* [.includesStartsWith(arr, search)](#Util.includesStartsWith) ⇒ <code>boolean</code>
|
|
7654
7776
|
* [.includesStartsWithIndex(arr, search)](#Util.includesStartsWithIndex) ⇒ <code>number</code>
|
|
7655
7777
|
* [.checkMarket(market, properties)](#Util.checkMarket) ⇒ <code>boolean</code>
|
|
7656
|
-
* [.verifyMarketList(mlName, properties)](#Util.verifyMarketList)
|
|
7778
|
+
* [.verifyMarketList(mlName, properties)](#Util.verifyMarketList)
|
|
7657
7779
|
* [.signalFatalError()](#Util.signalFatalError) ⇒ <code>void</code>
|
|
7658
7780
|
* [.isTrue(attrValue)](#Util.isTrue) ⇒ <code>boolean</code>
|
|
7659
7781
|
* [.isFalse(attrValue)](#Util.isFalse) ⇒ <code>boolean</code>
|
|
7660
7782
|
* [._isValidType(selectedType, [handleOutside])](#Util._isValidType) ⇒ <code>boolean</code>
|
|
7661
7783
|
* [.getTypeAndSubType(selectedType)](#Util.getTypeAndSubType) ⇒ <code>Array.<string></code>
|
|
7662
7784
|
* [.getRetrieveTypeChoices()](#Util.getRetrieveTypeChoices) ⇒ <code>Array.<TYPE.SupportedMetadataTypes></code>
|
|
7785
|
+
* [._createNewLoggerTransport([noLogFile])](#Util._createNewLoggerTransport) ⇒ <code>object</code>
|
|
7786
|
+
* [.startLogger([restart], [noLogFile])](#Util.startLogger) ⇒ <code>void</code>
|
|
7663
7787
|
* [.metadataLogger(level, type, method, payload, [source])](#Util.metadataLogger) ⇒ <code>void</code>
|
|
7664
7788
|
* [.replaceByObject(str, obj)](#Util.replaceByObject) ⇒ <code>string</code> \| <code>object</code>
|
|
7665
7789
|
* [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
|
|
7666
7790
|
* [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Object.<string, Array.<string>></code>
|
|
7667
7791
|
* [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
|
|
7668
|
-
* [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
|
|
7792
|
+
* [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code> \| <code>void</code>
|
|
7669
7793
|
* [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
|
|
7670
7794
|
* [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
|
|
7671
7795
|
* [.logBeta(type)](#Util.logBeta)
|
|
@@ -7739,11 +7863,10 @@ check if a market name exists in current mcdev config
|
|
|
7739
7863
|
|
|
7740
7864
|
<a name="Util.verifyMarketList"></a>
|
|
7741
7865
|
|
|
7742
|
-
### Util.verifyMarketList(mlName, properties)
|
|
7866
|
+
### Util.verifyMarketList(mlName, properties)
|
|
7743
7867
|
ensure provided MarketList exists and it's content including markets and BUs checks out
|
|
7744
7868
|
|
|
7745
7869
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
7746
|
-
**Returns**: <code>void</code> - throws errors if problems were found
|
|
7747
7870
|
|
|
7748
7871
|
| Param | Type | Description |
|
|
7749
7872
|
| --- | --- | --- |
|
|
@@ -7812,6 +7935,30 @@ helper for getDefaultProperties()
|
|
|
7812
7935
|
|
|
7813
7936
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
7814
7937
|
**Returns**: <code>Array.<TYPE.SupportedMetadataTypes></code> - type choices
|
|
7938
|
+
<a name="Util._createNewLoggerTransport"></a>
|
|
7939
|
+
|
|
7940
|
+
### Util.\_createNewLoggerTransport([noLogFile]) ⇒ <code>object</code>
|
|
7941
|
+
wrapper around our standard winston logging to console and logfile
|
|
7942
|
+
|
|
7943
|
+
**Kind**: static method of [<code>Util</code>](#Util)
|
|
7944
|
+
**Returns**: <code>object</code> - initiated logger for console and file
|
|
7945
|
+
|
|
7946
|
+
| Param | Type | Default | Description |
|
|
7947
|
+
| --- | --- | --- | --- |
|
|
7948
|
+
| [noLogFile] | <code>boolean</code> | <code>false</code> | optional flag to indicate if we should log to file; CLI logs are always on |
|
|
7949
|
+
|
|
7950
|
+
<a name="Util.startLogger"></a>
|
|
7951
|
+
|
|
7952
|
+
### Util.startLogger([restart], [noLogFile]) ⇒ <code>void</code>
|
|
7953
|
+
initiate winston logger
|
|
7954
|
+
|
|
7955
|
+
**Kind**: static method of [<code>Util</code>](#Util)
|
|
7956
|
+
|
|
7957
|
+
| Param | Type | Default | Description |
|
|
7958
|
+
| --- | --- | --- | --- |
|
|
7959
|
+
| [restart] | <code>boolean</code> | <code>false</code> | if true, logger will be restarted; otherwise, an existing logger will be used |
|
|
7960
|
+
| [noLogFile] | <code>boolean</code> | <code>false</code> | if false, logger will log to file; otherwise, only to console |
|
|
7961
|
+
|
|
7815
7962
|
<a name="Util.metadataLogger"></a>
|
|
7816
7963
|
|
|
7817
7964
|
### Util.metadataLogger(level, type, method, payload, [source]) ⇒ <code>void</code>
|
|
@@ -7881,11 +8028,11 @@ let's you dynamically walk down an object and get a value
|
|
|
7881
8028
|
|
|
7882
8029
|
<a name="Util.execSync"></a>
|
|
7883
8030
|
|
|
7884
|
-
### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code>
|
|
8031
|
+
### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code> \| <code>void</code>
|
|
7885
8032
|
helper to run other commands as if run manually by user
|
|
7886
8033
|
|
|
7887
8034
|
**Kind**: static method of [<code>Util</code>](#Util)
|
|
7888
|
-
**Returns**: <code>string</code> - output of command if hideOutput is true
|
|
8035
|
+
**Returns**: <code>string</code> \| <code>void</code> - output of command if hideOutput is true
|
|
7889
8036
|
|
|
7890
8037
|
| Param | Type | Description |
|
|
7891
8038
|
| --- | --- | --- |
|
|
@@ -8019,6 +8166,32 @@ helper to convert CSVs into an array. if only one value was given, it's also ret
|
|
|
8019
8166
|
| --- | --- | --- |
|
|
8020
8167
|
| csv | <code>string</code> | potentially comma-separated value or null |
|
|
8021
8168
|
|
|
8169
|
+
<a name="Automation."></a>
|
|
8170
|
+
|
|
8171
|
+
## Automation.(metadataMap, key) ⇒ <code>Promise.<void></code>
|
|
8172
|
+
helper for [postDeployTasks](#Automation.postDeployTasks)
|
|
8173
|
+
|
|
8174
|
+
**Kind**: global function
|
|
8175
|
+
**Returns**: <code>Promise.<void></code> - -
|
|
8176
|
+
|
|
8177
|
+
| Param | Type | Description |
|
|
8178
|
+
| --- | --- | --- |
|
|
8179
|
+
| metadataMap | <code>TYPE.AutomationMap</code> | metadata mapped by their keyField |
|
|
8180
|
+
| key | <code>string</code> | current customer key |
|
|
8181
|
+
|
|
8182
|
+
<a name="Automation."></a>
|
|
8183
|
+
|
|
8184
|
+
## Automation.(metadataMap, originalMetadataMap, key)
|
|
8185
|
+
helper for [postDeployTasks](postDeployTasks)
|
|
8186
|
+
|
|
8187
|
+
**Kind**: global function
|
|
8188
|
+
|
|
8189
|
+
| Param | Type | Description |
|
|
8190
|
+
| --- | --- | --- |
|
|
8191
|
+
| metadataMap | <code>TYPE.AutomationMap</code> | metadata mapped by their keyField |
|
|
8192
|
+
| originalMetadataMap | <code>TYPE.AutomationMap</code> | metadata to be updated (contains additioanl fields) |
|
|
8193
|
+
| key | <code>string</code> | current customer key |
|
|
8194
|
+
|
|
8022
8195
|
<a name="getUserName"></a>
|
|
8023
8196
|
|
|
8024
8197
|
## getUserName(userList, item, fieldname) ⇒ <code>string</code>
|
|
@@ -8044,19 +8217,6 @@ Returns an SDK instance to be used for API calls
|
|
|
8044
8217
|
| sessionKey | <code>string</code> | key for specific BU |
|
|
8045
8218
|
| authObject | <code>TYPE.AuthObject</code> | credentials for specific BU |
|
|
8046
8219
|
|
|
8047
|
-
<a name="createNewLoggerTransport"></a>
|
|
8048
|
-
|
|
8049
|
-
## createNewLoggerTransport() ⇒ <code>object</code>
|
|
8050
|
-
wrapper around our standard winston logging to console and logfile
|
|
8051
|
-
|
|
8052
|
-
**Kind**: global function
|
|
8053
|
-
**Returns**: <code>object</code> - initiated logger for console and file
|
|
8054
|
-
<a name="startLogger"></a>
|
|
8055
|
-
|
|
8056
|
-
## startLogger() ⇒ <code>void</code>
|
|
8057
|
-
initiate winston logger
|
|
8058
|
-
|
|
8059
|
-
**Kind**: global function
|
|
8060
8220
|
<a name="TypeKeyCombo"></a>
|
|
8061
8221
|
|
|
8062
8222
|
## TypeKeyCombo : <code>Object.<string, string></code>
|
package/lib/Deployer.js
CHANGED
|
@@ -18,7 +18,6 @@ class Deployer {
|
|
|
18
18
|
/**
|
|
19
19
|
* Creates a Deployer, uses v2 auth if v2AuthOptions are passed.
|
|
20
20
|
*
|
|
21
|
-
*
|
|
22
21
|
* @param {TYPE.Mcdevrc} properties General configuration to be used in retrieve
|
|
23
22
|
* @param {TYPE.BuObject} buObject properties for auth
|
|
24
23
|
*/
|
|
@@ -104,7 +103,7 @@ class Deployer {
|
|
|
104
103
|
buMultiMetadataTypeMap[cred + '/' + bu] = multiMetadataTypeMap;
|
|
105
104
|
counter_credBu++;
|
|
106
105
|
Util.logger.info('');
|
|
107
|
-
Util.
|
|
106
|
+
Util.startLogger(true);
|
|
108
107
|
}
|
|
109
108
|
} else {
|
|
110
109
|
// anything but "*" passed in
|
|
@@ -158,7 +157,7 @@ class Deployer {
|
|
|
158
157
|
buMultiMetadataTypeMap[cred + '/' + buPath] = multiMetadataTypeMap;
|
|
159
158
|
counter_credBu++;
|
|
160
159
|
Util.logger.info('');
|
|
161
|
-
Util.
|
|
160
|
+
Util.startLogger(true);
|
|
162
161
|
}
|
|
163
162
|
Util.logger.info(`\n :: ${counter_credBu} BUs for ${cred}\n`);
|
|
164
163
|
} else {
|
|
@@ -388,7 +387,7 @@ class Deployer {
|
|
|
388
387
|
const allFolders = Object.keys(metadata[metadataType])
|
|
389
388
|
.filter(
|
|
390
389
|
// filter out root folders (which would not have a slash in their path)
|
|
391
|
-
(key) => metadata[metadataType][key].r__folder_Path
|
|
390
|
+
(key) => metadata[metadataType][key].r__folder_Path?.includes('/')
|
|
392
391
|
)
|
|
393
392
|
.filter(
|
|
394
393
|
// filter out dataExtension folders other than standard & shared (--> synchronized / salesforce are not allowed)
|