mcdev 4.2.1 → 4.3.1

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.
Files changed (98) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +3 -0
  2. package/.github/PULL_REQUEST_TEMPLATE.md +1 -2
  3. package/.github/pr-labeler.yml +3 -0
  4. package/.github/workflows/close_issues_on_merge.yml +18 -0
  5. package/.github/workflows/pr-labeler.yml +19 -0
  6. package/LICENSE +1 -1
  7. package/README.md +1 -1
  8. package/docs/dist/documentation.md +702 -284
  9. package/lib/Deployer.js +21 -15
  10. package/lib/Retriever.js +41 -34
  11. package/lib/cli.js +36 -6
  12. package/lib/index.js +56 -10
  13. package/lib/metadataTypes/AccountUser.js +17 -23
  14. package/lib/metadataTypes/Asset.js +36 -48
  15. package/lib/metadataTypes/AttributeGroup.js +1 -2
  16. package/lib/metadataTypes/Automation.js +75 -37
  17. package/lib/metadataTypes/Campaign.js +4 -3
  18. package/lib/metadataTypes/ContentArea.js +2 -3
  19. package/lib/metadataTypes/DataExtension.js +56 -47
  20. package/lib/metadataTypes/DataExtensionField.js +9 -12
  21. package/lib/metadataTypes/DataExtensionTemplate.js +2 -3
  22. package/lib/metadataTypes/DataExtract.js +1 -2
  23. package/lib/metadataTypes/DataExtractType.js +1 -2
  24. package/lib/metadataTypes/Discovery.js +3 -4
  25. package/lib/metadataTypes/Email.js +20 -6
  26. package/lib/metadataTypes/EmailSendDefinition.js +40 -39
  27. package/lib/metadataTypes/EventDefinition.js +29 -2
  28. package/lib/metadataTypes/FileTransfer.js +1 -2
  29. package/lib/metadataTypes/Filter.js +1 -2
  30. package/lib/metadataTypes/Folder.js +12 -14
  31. package/lib/metadataTypes/FtpLocation.js +1 -2
  32. package/lib/metadataTypes/ImportFile.js +1 -2
  33. package/lib/metadataTypes/Interaction.js +743 -12
  34. package/lib/metadataTypes/List.js +36 -33
  35. package/lib/metadataTypes/MetadataType.js +170 -124
  36. package/lib/metadataTypes/MobileCode.js +1 -2
  37. package/lib/metadataTypes/MobileKeyword.js +1 -2
  38. package/lib/metadataTypes/Query.js +15 -6
  39. package/lib/metadataTypes/Role.js +10 -11
  40. package/lib/metadataTypes/Script.js +2 -5
  41. package/lib/metadataTypes/SetDefinition.js +1 -2
  42. package/lib/metadataTypes/TransactionalMessage.js +25 -32
  43. package/lib/metadataTypes/TransactionalSMS.js +3 -4
  44. package/lib/metadataTypes/TriggeredSendDefinition.js +232 -56
  45. package/lib/metadataTypes/definitions/Asset.definition.js +1 -1
  46. package/lib/metadataTypes/definitions/Automation.definition.js +1 -1
  47. package/lib/metadataTypes/definitions/DataExtension.definition.js +10 -1
  48. package/lib/metadataTypes/definitions/Email.definition.js +1 -1
  49. package/lib/metadataTypes/definitions/EmailSendDefinition.definition.js +1 -1
  50. package/lib/metadataTypes/definitions/EventDefinition.definition.js +40 -1
  51. package/lib/metadataTypes/definitions/Folder.definition.js +31 -0
  52. package/lib/metadataTypes/definitions/ImportFile.definition.js +1 -1
  53. package/lib/metadataTypes/definitions/Interaction.definition.js +47 -26
  54. package/lib/metadataTypes/definitions/List.definition.js +1 -1
  55. package/lib/metadataTypes/definitions/Query.definition.js +1 -1
  56. package/lib/metadataTypes/definitions/Script.definition.js +1 -1
  57. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +4 -3
  58. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +4 -3
  59. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +4 -3
  60. package/lib/metadataTypes/definitions/TriggeredSendDefinition.definition.js +10 -2
  61. package/lib/util/auth.js +15 -2
  62. package/lib/util/cli.js +4 -1
  63. package/lib/util/file.js +7 -3
  64. package/lib/util/init.js +62 -0
  65. package/lib/util/util.js +173 -11
  66. package/package.json +23 -9
  67. package/test/dataExtension.test.js +10 -10
  68. package/test/interaction.test.js +123 -0
  69. package/test/mockRoot/.mcdevrc.json +1 -1
  70. package/test/mockRoot/deploy/testInstance/testBU/interaction/testExisting_interaction.interaction-meta.json +266 -0
  71. package/test/mockRoot/deploy/testInstance/testBU/interaction/testNew_interaction.interaction-meta.json +266 -0
  72. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +0 -3
  73. package/test/query.test.js +8 -8
  74. package/test/resourceFactory.js +30 -14
  75. package/test/resources/1111111/dataExtension/retrieve-response.xml +26 -0
  76. package/test/resources/9999999/data/v1/customobjectdata/key/childBU_dataextension_test/rowset/get-response.json +13 -0
  77. package/test/resources/9999999/dataFolder/retrieve-response.xml +22 -0
  78. package/test/resources/9999999/eventDefinition/get-expected.json +34 -0
  79. package/test/resources/9999999/interaction/build-expected.json +260 -0
  80. package/test/resources/9999999/interaction/get-expected.json +264 -0
  81. package/test/resources/9999999/interaction/post-expected.json +264 -0
  82. package/test/resources/9999999/interaction/put-expected.json +264 -0
  83. package/test/resources/9999999/interaction/template-expected.json +260 -0
  84. package/test/resources/9999999/interaction/v1/EventDefinitions/get-response.json +43 -0
  85. package/test/resources/9999999/interaction/v1/interactions/get-response.json +222 -3
  86. package/test/resources/9999999/interaction/v1/interactions/key_0b76dccf-594c-b6dc-1acf-10c4493dcb84/get-response.json +219 -0
  87. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +280 -0
  88. package/test/resources/9999999/interaction/v1/interactions/post-response.json +280 -0
  89. package/test/resources/9999999/interaction/v1/interactions/put-response.json +280 -0
  90. package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
  91. package/test/resources/9999999/query/post-expected.sql +1 -1
  92. package/test/resources/9999999/transactionalEmail/post-expected.json +1 -1
  93. package/test/resources/9999999/triggeredSendDefinition/retrieve-response.xml +68 -0
  94. package/test/transactionalEmail.test.js +7 -7
  95. package/test/transactionalPush.test.js +7 -7
  96. package/test/transactionalSMS.test.js +7 -7
  97. package/test/utils.js +50 -0
  98. package/types/mcdev.d.js +1 -0
@@ -74,7 +74,11 @@ as this is a configuration in the EID</p>
74
74
  <dd><p>ImportFile MetadataType</p>
75
75
  </dd>
76
76
  <dt><a href="#Interaction">Interaction</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
77
- <dd><p>Script MetadataType</p>
77
+ <dd><p>Interaction MetadataType
78
+ ! BETA RELEASE of journey support (v4.3.0); it so far only resolves a limited amount of dependencies and will likely break during cross-BU deployments!
79
+ id: A unique id of the journey assigned by the journey’s API during its creation
80
+ key: A unique id of the journey within the MID. Can be generated by the developer
81
+ definitionId: A unique UUID provided by Salesforce Marketing Cloud. Each version of a journey has a unique DefinitionID while the Id and Key remain the same. Version 1 will have id == definitionId</p>
78
82
  </dd>
79
83
  <dt><a href="#List">List</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
80
84
  <dd><p>List MetadataType</p>
@@ -195,7 +199,7 @@ Provides default functionality that can be overwritten by child metadata type cl
195
199
  <dt><a href="#TypeKeyCombo">TypeKeyCombo</a> : <code>Object.&lt;string, string&gt;</code></dt>
196
200
  <dd><p>object-key=metadata type, value=array of external keys</p>
197
201
  </dd>
198
- <dt><a href="#Cache">Cache</a> : <code>Object.&lt;string, any&gt;</code></dt>
202
+ <dt><a href="#MetadataTypeItemDiff">MetadataTypeItemDiff</a> : <code>Object.&lt;string, any&gt;</code></dt>
199
203
  <dd><p>key=customer key</p>
200
204
  </dd>
201
205
  <dt><a href="#CodeExtractItem">CodeExtractItem</a> : <code>object</code></dt>
@@ -470,9 +474,11 @@ main class
470
474
  * [.retrieve(businessUnit, [selectedTypesArr], [keys], [changelogOnly])](#Mcdev.retrieve) ⇒ <code>Promise.&lt;object&gt;</code>
471
475
  * [.deploy(businessUnit, [selectedTypesArr], [keyArr], [fromRetrieve])](#Mcdev.deploy) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.MultiMetadataTypeMap&gt;&gt;</code>
472
476
  * [.initProject([credentialsName])](#Mcdev.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
477
+ * [.joinProject()](#Mcdev.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
473
478
  * [.findBUs(credentialsName)](#Mcdev.findBUs) ⇒ <code>Promise.&lt;void&gt;</code>
474
479
  * [.document(businessUnit, type)](#Mcdev.document) ⇒ <code>Promise.&lt;void&gt;</code>
475
480
  * [.deleteByKey(businessUnit, type, customerKey)](#Mcdev.deleteByKey) ⇒ <code>Promise.&lt;void&gt;</code>
481
+ * [.refresh(businessUnit, type, [keyArr])](#Mcdev.refresh) ⇒ <code>Promise.&lt;void&gt;</code>
476
482
  * [.badKeys(businessUnit)](#Mcdev.badKeys) ⇒ <code>Promise.&lt;void&gt;</code>
477
483
  * [.retrieveAsTemplate(businessUnit, selectedType, name, market)](#Mcdev.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeList&gt;</code>
478
484
  * [.buildTemplate(businessUnit, selectedType, keyArr, market)](#Mcdev.buildTemplate) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeList&gt;</code>
@@ -576,6 +582,13 @@ Creates template file for properties.json
576
582
  | --- | --- | --- |
577
583
  | [credentialsName] | <code>string</code> | identifying name of the installed package / project |
578
584
 
585
+ <a name="Mcdev.joinProject"></a>
586
+
587
+ ### Mcdev.joinProject() ⇒ <code>Promise.&lt;void&gt;</code>
588
+ Clones an existing project from git repository and installs it
589
+
590
+ **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
591
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
579
592
  <a name="Mcdev.findBUs"></a>
580
593
 
581
594
  ### Mcdev.findBUs(credentialsName) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -604,7 +617,7 @@ Creates docs for supported metadata types in Markdown and/or HTML format
604
617
  <a name="Mcdev.deleteByKey"></a>
605
618
 
606
619
  ### Mcdev.deleteByKey(businessUnit, type, customerKey) ⇒ <code>Promise.&lt;void&gt;</code>
607
- Creates docs for supported metadata types in Markdown and/or HTML format
620
+ deletes metadata from MC instance by key
608
621
 
609
622
  **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
610
623
  **Returns**: <code>Promise.&lt;void&gt;</code> - -
@@ -613,7 +626,21 @@ Creates docs for supported metadata types in Markdown and/or HTML format
613
626
  | --- | --- | --- |
614
627
  | businessUnit | <code>string</code> | references credentials from properties.json |
615
628
  | type | <code>string</code> | supported metadata type |
616
- | customerKey | <code>string</code> | Identifier of data extension |
629
+ | customerKey | <code>string</code> | Identifier of metadata |
630
+
631
+ <a name="Mcdev.refresh"></a>
632
+
633
+ ### Mcdev.refresh(businessUnit, type, [keyArr]) ⇒ <code>Promise.&lt;void&gt;</code>
634
+ ensures triggered sends are restarted to ensure they pick up on changes of the underlying emails
635
+
636
+ **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
637
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
638
+
639
+ | Param | Type | Description |
640
+ | --- | --- | --- |
641
+ | businessUnit | <code>string</code> | references credentials from properties.json |
642
+ | type | <code>string</code> | references credentials from properties.json |
643
+ | [keyArr] | <code>Array.&lt;string&gt;</code> | metadata keys |
617
644
 
618
645
  <a name="Mcdev.badKeys"></a>
619
646
 
@@ -707,18 +734,18 @@ MessageSendActivity MetadataType
707
734
  **Extends**: [<code>MetadataType</code>](#MetadataType)
708
735
 
709
736
  * [AccountUser](#AccountUser) ⇐ [<code>MetadataType</code>](#MetadataType)
710
- * [.retrieve(retrieveDir, _, buObject, [___], [key])](#AccountUser.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
711
- * [.retrieveChangelog(buObject)](#AccountUser.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
737
+ * [.retrieve(retrieveDir, _, [__], [key])](#AccountUser.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
738
+ * [.retrieveChangelog()](#AccountUser.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
712
739
  * [.timeSinceDate(date)](#AccountUser.timeSinceDate) ⇒ <code>number</code>
713
- * [.getBuName(buObject, id)](#AccountUser.getBuName) ⇒ <code>string</code>
714
- * [.document(buObject, [metadata])](#AccountUser.document) ⇒ <code>Promise.&lt;void&gt;</code>
740
+ * [.getBuName(id)](#AccountUser.getBuName) ⇒ <code>string</code>
741
+ * [.document([metadata])](#AccountUser.document) ⇒ <code>Promise.&lt;void&gt;</code>
715
742
  * [._generateDocMd(users, type, columnsToPrint)](#AccountUser._generateDocMd) ⇒ <code>string</code>
716
743
  * [.postRetrieveTasks(metadata)](#AccountUser.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
717
744
  * [.parseMetadata(metadata)](#AccountUser.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
718
745
 
719
746
  <a name="AccountUser.retrieve"></a>
720
747
 
721
- ### AccountUser.retrieve(retrieveDir, _, buObject, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
748
+ ### AccountUser.retrieve(retrieveDir, _, [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
722
749
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
723
750
 
724
751
  **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
@@ -728,22 +755,16 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
728
755
  | --- | --- | --- |
729
756
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
730
757
  | _ | <code>void</code> | unused parameter |
731
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
732
- | [___] | <code>void</code> | unused parameter |
758
+ | [__] | <code>void</code> | unused parameter |
733
759
  | [key] | <code>string</code> | customer key of single item to retrieve |
734
760
 
735
761
  <a name="AccountUser.retrieveChangelog"></a>
736
762
 
737
- ### AccountUser.retrieveChangelog(buObject) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
763
+ ### AccountUser.retrieveChangelog() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
738
764
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
739
765
 
740
766
  **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
741
767
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
742
-
743
- | Param | Type | Description |
744
- | --- | --- | --- |
745
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
746
-
747
768
  <a name="AccountUser.timeSinceDate"></a>
748
769
 
749
770
  ### AccountUser.timeSinceDate(date) ⇒ <code>number</code>
@@ -756,7 +777,7 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
756
777
 
757
778
  <a name="AccountUser.getBuName"></a>
758
779
 
759
- ### AccountUser.getBuName(buObject, id) ⇒ <code>string</code>
780
+ ### AccountUser.getBuName(id) ⇒ <code>string</code>
760
781
  helper to print bu names
761
782
 
762
783
  **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
@@ -764,13 +785,11 @@ helper to print bu names
764
785
 
765
786
  | Param | Type | Description |
766
787
  | --- | --- | --- |
767
- | buObject | <code>TYPE.BuObject</code> | needed for eid |
768
- | buObject.eid | <code>string</code> | needed to check for parent bu |
769
788
  | id | <code>number</code> | bu id |
770
789
 
771
790
  <a name="AccountUser.document"></a>
772
791
 
773
- ### AccountUser.document(buObject, [metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
792
+ ### AccountUser.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
774
793
  Creates markdown documentation of all roles
775
794
 
776
795
  **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
@@ -778,7 +797,6 @@ Creates markdown documentation of all roles
778
797
 
779
798
  | Param | Type | Description |
780
799
  | --- | --- | --- |
781
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
782
800
  | [metadata] | <code>TYPE.MetadataTypeMap</code> | user list |
783
801
 
784
802
  <a name="AccountUser._generateDocMd"></a>
@@ -826,22 +844,23 @@ FileTransfer MetadataType
826
844
  **Extends**: [<code>MetadataType</code>](#MetadataType)
827
845
 
828
846
  * [Asset](#Asset) ⇐ [<code>MetadataType</code>](#MetadataType)
829
- * [.retrieve(retrieveDir, _, __, [selectedSubType], [key])](#Asset.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
830
- * [.retrieveForCache(_, [selectedSubType])](#Asset.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
847
+ * [.retrieve(retrieveDir, _, [subTypeArr], [key])](#Asset.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
848
+ * [.retrieveForCache(_, [subTypeArr])](#Asset.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
831
849
  * [.retrieveAsTemplate(templateDir, name, templateVariables, [selectedSubType])](#Asset.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetItem, type: string}&gt;</code>
832
850
  * [.create(metadata)](#Asset.create) ⇒ <code>Promise</code>
833
851
  * [.update(metadata)](#Asset.update) ⇒ <code>Promise</code>
834
- * [.requestSubType(subType, subTypeArray, [retrieveDir], [templateName], [templateVariables], key)](#Asset.requestSubType) ⇒ <code>Promise</code>
852
+ * [.requestSubType(subType, [retrieveDir], [templateName], [templateVariables], key)](#Asset.requestSubType) ⇒ <code>Promise</code>
835
853
  * [.requestAndSaveExtended(items, subType, retrieveDir, [templateVariables])](#Asset.requestAndSaveExtended) ⇒ <code>Promise</code>
836
854
  * [._retrieveExtendedFile(metadata, subType, retrieveDir)](#Asset._retrieveExtendedFile) ⇒ <code>Promise.&lt;void&gt;</code>
837
855
  * [._readExtendedFileFromFS(metadata, subType, deployDir, [pathOnly])](#Asset._readExtendedFileFromFS) ⇒ <code>Promise.&lt;string&gt;</code>
838
856
  * [.postRetrieveTasks(metadata)](#Asset.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
839
- * [.preDeployTasks(metadata, deployDir, buObject)](#Asset.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
857
+ * [.preDeployTasks(metadata, deployDir)](#Asset.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
840
858
  * [._getMainSubtype(extendedSubType)](#Asset._getMainSubtype) ⇒ <code>string</code>
841
859
  * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Asset.buildDefinitionForNested) ⇒ <code>Promise.&lt;void&gt;</code>
842
860
  * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Asset.buildTemplateForNested) ⇒ <code>Promise.&lt;void&gt;</code>
843
861
  * [._buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode)](#Asset._buildForNested) ⇒ <code>Promise.&lt;void&gt;</code>
844
862
  * [.setFolderPath(metadata)](#Asset.setFolderPath)
863
+ * [.setFolderId(metadata)](#Asset.setFolderId)
845
864
  * [._mergeCode(metadata, deployDir, subType, [templateName], [fileListOnly])](#Asset._mergeCode) ⇒ <code>Promise.&lt;Array.&lt;TYPE.CodeExtract&gt;&gt;</code>
846
865
  * [._mergeCode_slots(prefix, metadataSlots, readDirArr, subtypeExtension, subDirArr, fileList, customerKey, [templateName], [fileListOnly])](#Asset._mergeCode_slots) ⇒ <code>Promise.&lt;void&gt;</code>
847
866
  * [._extractCode(metadata)](#Asset._extractCode) ⇒ <code>TYPE.CodeExtractItem</code>
@@ -853,7 +872,7 @@ FileTransfer MetadataType
853
872
 
854
873
  <a name="Asset.retrieve"></a>
855
874
 
856
- ### Asset.retrieve(retrieveDir, _, __, [selectedSubType], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
875
+ ### Asset.retrieve(retrieveDir, _, [subTypeArr], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
857
876
  Retrieves Metadata of Asset
858
877
 
859
878
  **Kind**: static method of [<code>Asset</code>](#Asset)
@@ -863,13 +882,12 @@ Retrieves Metadata of Asset
863
882
  | --- | --- | --- |
864
883
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
865
884
  | _ | <code>void</code> | - |
866
- | __ | <code>void</code> | - |
867
- | [selectedSubType] | <code>TYPE.AssetSubType</code> | optionally limit to a single subtype |
885
+ | [subTypeArr] | <code>Array.&lt;TYPE.AssetSubType&gt;</code> | optionally limit to a single subtype |
868
886
  | [key] | <code>string</code> | customer key |
869
887
 
870
888
  <a name="Asset.retrieveForCache"></a>
871
889
 
872
- ### Asset.retrieveForCache(_, [selectedSubType]) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
890
+ ### Asset.retrieveForCache(_, [subTypeArr]) ⇒ <code>Promise.&lt;{metadata: TYPE.AssetMap, type: string}&gt;</code>
873
891
  Retrieves asset metadata for caching
874
892
 
875
893
  **Kind**: static method of [<code>Asset</code>](#Asset)
@@ -877,8 +895,8 @@ Retrieves asset metadata for caching
877
895
 
878
896
  | Param | Type | Description |
879
897
  | --- | --- | --- |
880
- | _ | <code>void</code> | - |
881
- | [selectedSubType] | <code>string</code> | optionally limit to a single subtype |
898
+ | _ | <code>void</code> | unused |
899
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
882
900
 
883
901
  <a name="Asset.retrieveAsTemplate"></a>
884
902
 
@@ -921,7 +939,7 @@ Updates a single asset
921
939
 
922
940
  <a name="Asset.requestSubType"></a>
923
941
 
924
- ### Asset.requestSubType(subType, subTypeArray, [retrieveDir], [templateName], [templateVariables], key) ⇒ <code>Promise</code>
942
+ ### Asset.requestSubType(subType, [retrieveDir], [templateName], [templateVariables], key) ⇒ <code>Promise</code>
925
943
  Retrieves Metadata of a specific asset type
926
944
 
927
945
  **Kind**: static method of [<code>Asset</code>](#Asset)
@@ -930,7 +948,6 @@ Retrieves Metadata of a specific asset type
930
948
  | Param | Type | Description |
931
949
  | --- | --- | --- |
932
950
  | subType | <code>TYPE.AssetSubType</code> | group of similar assets to put in a folder (ie. images) |
933
- | subTypeArray | <code>Array.&lt;TYPE.AssetSubType&gt;</code> | list of all asset types within this subtype |
934
951
  | [retrieveDir] | <code>string</code> | target directory for saving assets |
935
952
  | [templateName] | <code>string</code> | name of the metadata file |
936
953
  | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
@@ -997,7 +1014,7 @@ manages post retrieve steps
997
1014
 
998
1015
  <a name="Asset.preDeployTasks"></a>
999
1016
 
1000
- ### Asset.preDeployTasks(metadata, deployDir, buObject) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
1017
+ ### Asset.preDeployTasks(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
1001
1018
  prepares an asset definition for deployment
1002
1019
 
1003
1020
  **Kind**: static method of [<code>Asset</code>](#Asset)
@@ -1007,7 +1024,6 @@ prepares an asset definition for deployment
1007
1024
  | --- | --- | --- |
1008
1025
  | metadata | <code>TYPE.AssetItem</code> | a single asset |
1009
1026
  | deployDir | <code>string</code> | directory of deploy files |
1010
- | buObject | <code>TYPE.BuObject</code> | buObject properties for auth |
1011
1027
 
1012
1028
  <a name="Asset._getMainSubtype"></a>
1013
1029
 
@@ -1088,6 +1104,17 @@ generic script that retrieves the folder path from cache and updates the given m
1088
1104
  | --- | --- | --- |
1089
1105
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
1090
1106
 
1107
+ <a name="Asset.setFolderId"></a>
1108
+
1109
+ ### Asset.setFolderId(metadata)
1110
+ Asset-specific script that retrieves the folder ID from cache and updates the given metadata with it before deploy
1111
+
1112
+ **Kind**: static method of [<code>Asset</code>](#Asset)
1113
+
1114
+ | Param | Type | Description |
1115
+ | --- | --- | --- |
1116
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
1117
+
1091
1118
  <a name="Asset._mergeCode"></a>
1092
1119
 
1093
1120
  ### Asset.\_mergeCode(metadata, deployDir, subType, [templateName], [fileListOnly]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.CodeExtract&gt;&gt;</code>
@@ -1212,12 +1239,12 @@ AttributeGroup MetadataType
1212
1239
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1213
1240
 
1214
1241
  * [AttributeGroup](#AttributeGroup) ⇐ [<code>MetadataType</code>](#MetadataType)
1215
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#AttributeGroup.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1242
+ * [.retrieve(retrieveDir, [_], [__], [key])](#AttributeGroup.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1216
1243
  * [.retrieveForCache()](#AttributeGroup.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1217
1244
 
1218
1245
  <a name="AttributeGroup.retrieve"></a>
1219
1246
 
1220
- ### AttributeGroup.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1247
+ ### AttributeGroup.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1221
1248
  Retrieves Metadata of schema attribute groups.
1222
1249
 
1223
1250
  **Kind**: static method of [<code>AttributeGroup</code>](#AttributeGroup)
@@ -1228,7 +1255,6 @@ Retrieves Metadata of schema attribute groups.
1228
1255
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1229
1256
  | [_] | <code>void</code> | unused parameter |
1230
1257
  | [__] | <code>void</code> | unused parameter |
1231
- | [___] | <code>void</code> | unused parameter |
1232
1258
  | [key] | <code>string</code> | customer key of single item to retrieve |
1233
1259
 
1234
1260
  <a name="AttributeGroup.retrieveForCache"></a>
@@ -1247,7 +1273,7 @@ Automation MetadataType
1247
1273
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1248
1274
 
1249
1275
  * [Automation](#Automation) ⇐ [<code>MetadataType</code>](#MetadataType)
1250
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#Automation.retrieve) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1276
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Automation.retrieve) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1251
1277
  * [.retrieveChangelog()](#Automation.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1252
1278
  * [.retrieveForCache()](#Automation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1253
1279
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Automation.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.AutomationItemObj&gt;</code>
@@ -1259,15 +1285,16 @@ Automation MetadataType
1259
1285
  * [.validateDeployMetadata(metadata)](#Automation.validateDeployMetadata) ⇒ <code>boolean</code>
1260
1286
  * [.postDeployTasks(metadata, originalMetadata)](#Automation.postDeployTasks) ⇒ <code>Promise.&lt;void&gt;</code>
1261
1287
  * [.setFolderPath(metadata)](#Automation.setFolderPath)
1262
- * [.parseMetadata(metadata)](#Automation.parseMetadata) ⇒ <code>TYPE.AutomationItem</code>
1288
+ * [.setFolderId(metadata)](#Automation.setFolderId)
1289
+ * [.parseMetadata(metadata)](#Automation.parseMetadata) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
1263
1290
  * [._buildSchedule(scheduleObject)](#Automation._buildSchedule) ⇒ <code>TYPE.AutomationScheduleSoap</code>
1264
1291
  * [._calcTime(offsetServer, dateInput, [offsetInput])](#Automation._calcTime) ⇒ <code>string</code>
1265
- * [.document(buObject, [metadata])](#Automation.document) ⇒ <code>Promise.&lt;void&gt;</code>
1292
+ * [.document([metadata])](#Automation.document) ⇒ <code>Promise.&lt;void&gt;</code>
1266
1293
  * [.getFilesToCommit(keyArr)](#Automation.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
1267
1294
 
1268
1295
  <a name="Automation.retrieve"></a>
1269
1296
 
1270
- ### Automation.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1297
+ ### Automation.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1271
1298
  Retrieves Metadata of Automation
1272
1299
 
1273
1300
  **Kind**: static method of [<code>Automation</code>](#Automation)
@@ -1278,7 +1305,6 @@ Retrieves Metadata of Automation
1278
1305
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1279
1306
  | [_] | <code>void</code> | unused parameter |
1280
1307
  | [__] | <code>void</code> | unused parameter |
1281
- | [___] | <code>void</code> | unused parameter |
1282
1308
  | [key] | <code>string</code> | customer key of single item to retrieve |
1283
1309
 
1284
1310
  <a name="Automation.retrieveChangelog"></a>
@@ -1409,13 +1435,24 @@ generic script that retrieves the folder path from cache and updates the given m
1409
1435
  | --- | --- | --- |
1410
1436
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
1411
1437
 
1438
+ <a name="Automation.setFolderId"></a>
1439
+
1440
+ ### Automation.setFolderId(metadata)
1441
+ automation-specific script that retrieves the folder ID from cache and updates the given metadata with it before deploy
1442
+
1443
+ **Kind**: static method of [<code>Automation</code>](#Automation)
1444
+
1445
+ | Param | Type | Description |
1446
+ | --- | --- | --- |
1447
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
1448
+
1412
1449
  <a name="Automation.parseMetadata"></a>
1413
1450
 
1414
- ### Automation.parseMetadata(metadata) ⇒ <code>TYPE.AutomationItem</code>
1451
+ ### Automation.parseMetadata(metadata) ⇒ <code>TYPE.AutomationItem</code> \| <code>void</code>
1415
1452
  parses retrieved Metadata before saving
1416
1453
 
1417
1454
  **Kind**: static method of [<code>Automation</code>](#Automation)
1418
- **Returns**: <code>TYPE.AutomationItem</code> - parsed item
1455
+ **Returns**: <code>TYPE.AutomationItem</code> \| <code>void</code> - parsed item
1419
1456
 
1420
1457
  | Param | Type | Description |
1421
1458
  | --- | --- | --- |
@@ -1450,7 +1487,7 @@ used to convert dates to the system timezone required for startDate
1450
1487
 
1451
1488
  <a name="Automation.document"></a>
1452
1489
 
1453
- ### Automation.document(buObject, [metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
1490
+ ### Automation.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
1454
1491
  Parses metadata into a readable Markdown/HTML format then saves it
1455
1492
 
1456
1493
  **Kind**: static method of [<code>Automation</code>](#Automation)
@@ -1458,7 +1495,6 @@ Parses metadata into a readable Markdown/HTML format then saves it
1458
1495
 
1459
1496
  | Param | Type | Description |
1460
1497
  | --- | --- | --- |
1461
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1462
1498
  | [metadata] | <code>TYPE.AutomationMap</code> | a list of dataExtension definitions |
1463
1499
 
1464
1500
  <a name="Automation.getFilesToCommit"></a>
@@ -1483,12 +1519,12 @@ Campaign MetadataType
1483
1519
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1484
1520
 
1485
1521
  * [Campaign](#Campaign) ⇐ [<code>MetadataType</code>](#MetadataType)
1486
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#Campaign.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1522
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Campaign.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1487
1523
  * [.getAssetTags(retrieveDir, id, name)](#Campaign.getAssetTags) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1488
1524
 
1489
1525
  <a name="Campaign.retrieve"></a>
1490
1526
 
1491
- ### Campaign.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1527
+ ### Campaign.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1492
1528
  Retrieves Metadata of campaigns. Afterwards, starts metadata retrieval for their campaign assets
1493
1529
 
1494
1530
  **Kind**: static method of [<code>Campaign</code>](#Campaign)
@@ -1499,7 +1535,6 @@ Retrieves Metadata of campaigns. Afterwards, starts metadata retrieval for their
1499
1535
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1500
1536
  | [_] | <code>void</code> | unused parameter |
1501
1537
  | [__] | <code>void</code> | unused parameter |
1502
- | [___] | <code>void</code> | unused parameter |
1503
1538
  | [key] | <code>string</code> | customer key of single item to retrieve |
1504
1539
 
1505
1540
  <a name="Campaign.getAssetTags"></a>
@@ -1525,14 +1560,14 @@ ContentArea MetadataType
1525
1560
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1526
1561
 
1527
1562
  * [ContentArea](#ContentArea) ⇐ [<code>MetadataType</code>](#MetadataType)
1528
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#ContentArea.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1563
+ * [.retrieve(retrieveDir, [_], [__], [key])](#ContentArea.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1529
1564
  * [.postRetrieveTasks(metadata)](#ContentArea.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
1530
1565
  * [.setFolderPath(metadata)](#ContentArea.setFolderPath)
1531
1566
  * [.parseMetadata(metadata)](#ContentArea.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
1532
1567
 
1533
1568
  <a name="ContentArea.retrieve"></a>
1534
1569
 
1535
- ### ContentArea.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1570
+ ### ContentArea.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1536
1571
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
1537
1572
 
1538
1573
  **Kind**: static method of [<code>ContentArea</code>](#ContentArea)
@@ -1543,7 +1578,6 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
1543
1578
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1544
1579
  | [_] | <code>void</code> | unused parameter |
1545
1580
  | [__] | <code>void</code> | unused parameter |
1546
- | [___] | <code>void</code> | unused parameter |
1547
1581
  | [key] | <code>string</code> | customer key of single item to retrieve |
1548
1582
 
1549
1583
  <a name="ContentArea.postRetrieveTasks"></a>
@@ -1590,26 +1624,26 @@ DataExtension MetadataType
1590
1624
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1591
1625
 
1592
1626
  * [DataExtension](#DataExtension) ⇐ [<code>MetadataType</code>](#MetadataType)
1593
- * [.upsert(desToDeploy, _, buObject)](#DataExtension.upsert) ⇒ <code>Promise</code>
1627
+ * [.upsert(desToDeploy)](#DataExtension.upsert) ⇒ <code>Promise</code>
1594
1628
  * [._filterUpsertResults(res)](#DataExtension._filterUpsertResults) ⇒ <code>boolean</code>
1595
1629
  * [.create(metadata)](#DataExtension.create) ⇒ <code>Promise</code>
1596
1630
  * [.update(metadata)](#DataExtension.update) ⇒ <code>Promise</code>
1597
1631
  * [.postDeployTasks(upsertedMetadata, originalMetadata)](#DataExtension.postDeployTasks) ⇒ <code>void</code>
1598
- * [.retrieve(retrieveDir, [additionalFields], buObject, [_], [key])](#DataExtension.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1599
- * [.retrieveChangelog([buObject], [additionalFields])](#DataExtension.retrieveChangelog) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1632
+ * [.retrieve(retrieveDir, [additionalFields], [_], [key])](#DataExtension.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1633
+ * [.retrieveChangelog([additionalFields])](#DataExtension.retrieveChangelog) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1600
1634
  * [.postRetrieveTasks(metadata)](#DataExtension.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionItem</code>
1601
1635
  * [.preDeployTasks(metadata)](#DataExtension.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.DataExtensionItem&gt;</code>
1602
- * [.document(buObject, [metadata])](#DataExtension.document) ⇒ <code>Promise.&lt;void&gt;</code>
1603
- * [.deleteByKey(buObject, customerKey)](#DataExtension.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1604
- * [.postDeleteTasks(buObject, customerKey)](#DataExtension.postDeleteTasks) ⇒ <code>void</code>
1605
- * [.retrieveForCache(buObject)](#DataExtension.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1636
+ * [.document([metadata])](#DataExtension.document) ⇒ <code>Promise.&lt;void&gt;</code>
1637
+ * [.deleteByKey(customerKey)](#DataExtension.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1638
+ * [.postDeleteTasks(customerKey)](#DataExtension.postDeleteTasks) ⇒ <code>void</code>
1639
+ * [.retrieveForCache()](#DataExtension.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1606
1640
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#DataExtension.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1607
1641
  * [.setFolderPath(metadata)](#DataExtension.setFolderPath)
1608
1642
  * [.getFilesToCommit(keyArr)](#DataExtension.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
1609
1643
 
1610
1644
  <a name="DataExtension.upsert"></a>
1611
1645
 
1612
- ### DataExtension.upsert(desToDeploy, _, buObject) ⇒ <code>Promise</code>
1646
+ ### DataExtension.upsert(desToDeploy) ⇒ <code>Promise</code>
1613
1647
  Upserts dataExtensions after retrieving them from source and target to compare
1614
1648
  if create or update operation is needed.
1615
1649
 
@@ -1619,8 +1653,6 @@ if create or update operation is needed.
1619
1653
  | Param | Type | Description |
1620
1654
  | --- | --- | --- |
1621
1655
  | desToDeploy | <code>TYPE.DataExtensionMap</code> | dataExtensions mapped by their customerKey |
1622
- | _ | <code>void</code> | unused parameter |
1623
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1624
1656
 
1625
1657
  <a name="DataExtension._filterUpsertResults"></a>
1626
1658
 
@@ -1672,7 +1704,7 @@ Gets executed after deployment of metadata type
1672
1704
 
1673
1705
  <a name="DataExtension.retrieve"></a>
1674
1706
 
1675
- ### DataExtension.retrieve(retrieveDir, [additionalFields], buObject, [_], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1707
+ ### DataExtension.retrieve(retrieveDir, [additionalFields], [_], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1676
1708
  Retrieves dataExtension metadata. Afterwards starts retrieval of dataExtensionColumn metadata retrieval
1677
1709
 
1678
1710
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1682,13 +1714,12 @@ Retrieves dataExtension metadata. Afterwards starts retrieval of dataExtensionCo
1682
1714
  | --- | --- | --- |
1683
1715
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1684
1716
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
1685
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1686
1717
  | [_] | <code>void</code> | unused parameter |
1687
1718
  | [key] | <code>string</code> | customer key of single item to retrieve |
1688
1719
 
1689
1720
  <a name="DataExtension.retrieveChangelog"></a>
1690
1721
 
1691
- ### DataExtension.retrieveChangelog([buObject], [additionalFields]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1722
+ ### DataExtension.retrieveChangelog([additionalFields]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1692
1723
  Retrieves dataExtension metadata. Afterwards starts retrieval of dataExtensionColumn metadata retrieval
1693
1724
 
1694
1725
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1696,7 +1727,6 @@ Retrieves dataExtension metadata. Afterwards starts retrieval of dataExtensionCo
1696
1727
 
1697
1728
  | Param | Type | Description |
1698
1729
  | --- | --- | --- |
1699
- | [buObject] | <code>TYPE.BuObject</code> | properties for auth |
1700
1730
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
1701
1731
 
1702
1732
  <a name="DataExtension.postRetrieveTasks"></a>
@@ -1725,7 +1755,7 @@ prepares a DataExtension for deployment
1725
1755
 
1726
1756
  <a name="DataExtension.document"></a>
1727
1757
 
1728
- ### DataExtension.document(buObject, [metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
1758
+ ### DataExtension.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
1729
1759
  Parses metadata into a readable Markdown/HTML format then saves it
1730
1760
 
1731
1761
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1733,12 +1763,11 @@ Parses metadata into a readable Markdown/HTML format then saves it
1733
1763
 
1734
1764
  | Param | Type | Description |
1735
1765
  | --- | --- | --- |
1736
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1737
1766
  | [metadata] | <code>TYPE.DataExtensionMap</code> | a list of dataExtension definitions |
1738
1767
 
1739
1768
  <a name="DataExtension.deleteByKey"></a>
1740
1769
 
1741
- ### DataExtension.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1770
+ ### DataExtension.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1742
1771
  Delete a metadata item from the specified business unit
1743
1772
 
1744
1773
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1746,33 +1775,26 @@ Delete a metadata item from the specified business unit
1746
1775
 
1747
1776
  | Param | Type | Description |
1748
1777
  | --- | --- | --- |
1749
- | buObject | <code>TYPE.BuObject</code> | references credentials |
1750
1778
  | customerKey | <code>string</code> | Identifier of data extension |
1751
1779
 
1752
1780
  <a name="DataExtension.postDeleteTasks"></a>
1753
1781
 
1754
- ### DataExtension.postDeleteTasks(buObject, customerKey) ⇒ <code>void</code>
1782
+ ### DataExtension.postDeleteTasks(customerKey) ⇒ <code>void</code>
1755
1783
  clean up after deleting a metadata item
1756
1784
 
1757
1785
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
1758
1786
 
1759
1787
  | Param | Type | Description |
1760
1788
  | --- | --- | --- |
1761
- | buObject | <code>TYPE.BuObject</code> | references credentials |
1762
1789
  | customerKey | <code>string</code> | Identifier of metadata item |
1763
1790
 
1764
1791
  <a name="DataExtension.retrieveForCache"></a>
1765
1792
 
1766
- ### DataExtension.retrieveForCache(buObject) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1793
+ ### DataExtension.retrieveForCache() ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1767
1794
  Retrieves folder metadata into local filesystem. Also creates a uniquePath attribute for each folder.
1768
1795
 
1769
1796
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
1770
1797
  **Returns**: <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code> - Promise
1771
-
1772
- | Param | Type | Description |
1773
- | --- | --- | --- |
1774
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1775
-
1776
1798
  <a name="DataExtension.retrieveAsTemplate"></a>
1777
1799
 
1778
1800
  ### DataExtension.retrieveAsTemplate(templateDir, name, templateVariables) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
@@ -1821,19 +1843,19 @@ DataExtensionField MetadataType
1821
1843
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1822
1844
 
1823
1845
  * [DataExtensionField](#DataExtensionField) ⇐ [<code>MetadataType</code>](#MetadataType)
1824
- * [.retrieve(retrieveDir, [additionalFields], buObject)](#DataExtensionField.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionFieldMap, type: string}&gt;</code>
1846
+ * [.retrieve(retrieveDir, [additionalFields])](#DataExtensionField.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionFieldMap, type: string}&gt;</code>
1825
1847
  * [.retrieveForCache([requestParams], [additionalFields])](#DataExtensionField.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionFieldMap, type: string}&gt;</code>
1826
1848
  * [.convertToSortedArray(fieldsObj)](#DataExtensionField.convertToSortedArray) ⇒ <code>Array.&lt;TYPE.DataExtensionFieldItem&gt;</code>
1827
1849
  * [.sortDeFields(a, b)](#DataExtensionField.sortDeFields) ⇒ <code>boolean</code>
1828
1850
  * [.postRetrieveTasks(metadata, forDataExtension)](#DataExtensionField.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionFieldItem</code>
1829
1851
  * [.prepareDeployColumnsOnUpdate(deployColumns, deKey)](#DataExtensionField.prepareDeployColumnsOnUpdate) ⇒ <code>Object.&lt;string, TYPE.DataExtensionFieldItem&gt;</code>
1830
- * [.deleteByKey(buObject, customerKey)](#DataExtensionField.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1831
- * [.deleteByKeySOAP(buObject, customerKey, [handleOutside])](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
1852
+ * [.deleteByKey(customerKey)](#DataExtensionField.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1853
+ * [.deleteByKeySOAP(customerKey, [handleOutside])](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
1832
1854
  * [.postDeleteTasks(customerKey)](#DataExtensionField.postDeleteTasks) ⇒ <code>void</code>
1833
1855
 
1834
1856
  <a name="DataExtensionField.retrieve"></a>
1835
1857
 
1836
- ### DataExtensionField.retrieve(retrieveDir, [additionalFields], buObject) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionFieldMap, type: string}&gt;</code>
1858
+ ### DataExtensionField.retrieve(retrieveDir, [additionalFields]) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionFieldMap, type: string}&gt;</code>
1837
1859
  Retrieves all records and saves it to disk
1838
1860
 
1839
1861
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
@@ -1843,7 +1865,6 @@ Retrieves all records and saves it to disk
1843
1865
  | --- | --- | --- |
1844
1866
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1845
1867
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
1846
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
1847
1868
 
1848
1869
  <a name="DataExtensionField.retrieveForCache"></a>
1849
1870
 
@@ -1912,7 +1933,7 @@ Removes FieldType field if its the same in deploy and target column, because it
1912
1933
 
1913
1934
  <a name="DataExtensionField.deleteByKey"></a>
1914
1935
 
1915
- ### DataExtensionField.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1936
+ ### DataExtensionField.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1916
1937
  Delete a metadata item from the specified business unit
1917
1938
 
1918
1939
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
@@ -1920,12 +1941,11 @@ Delete a metadata item from the specified business unit
1920
1941
 
1921
1942
  | Param | Type | Description |
1922
1943
  | --- | --- | --- |
1923
- | buObject | <code>TYPE.BuObject</code> | references credentials |
1924
1944
  | customerKey | <code>string</code> | Identifier of data extension |
1925
1945
 
1926
1946
  <a name="DataExtensionField.deleteByKeySOAP"></a>
1927
1947
 
1928
- ### DataExtensionField.deleteByKeySOAP(buObject, customerKey, [handleOutside]) ⇒ <code>boolean</code>
1948
+ ### DataExtensionField.deleteByKeySOAP(customerKey, [handleOutside]) ⇒ <code>boolean</code>
1929
1949
  Delete a data extension from the specified business unit
1930
1950
 
1931
1951
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
@@ -1933,7 +1953,6 @@ Delete a data extension from the specified business unit
1933
1953
 
1934
1954
  | Param | Type | Description |
1935
1955
  | --- | --- | --- |
1936
- | buObject | <code>TYPE.BuObject</code> | references credentials |
1937
1956
  | customerKey | <code>string</code> | Identifier of metadata |
1938
1957
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
1939
1958
 
@@ -1957,7 +1976,7 @@ DataExtensionTemplate MetadataType
1957
1976
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1958
1977
  <a name="DataExtensionTemplate.retrieve"></a>
1959
1978
 
1960
- ### DataExtensionTemplate.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1979
+ ### DataExtensionTemplate.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1961
1980
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
1962
1981
 
1963
1982
  **Kind**: static method of [<code>DataExtensionTemplate</code>](#DataExtensionTemplate)
@@ -1968,7 +1987,6 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
1968
1987
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
1969
1988
  | [_] | <code>void</code> | unused parameter |
1970
1989
  | [__] | <code>void</code> | unused parameter |
1971
- | [___] | <code>void</code> | unused parameter |
1972
1990
  | [key] | <code>string</code> | customer key of single item to retrieve |
1973
1991
 
1974
1992
  <a name="DataExtract"></a>
@@ -1980,7 +1998,7 @@ DataExtract MetadataType
1980
1998
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1981
1999
 
1982
2000
  * [DataExtract](#DataExtract) ⇐ [<code>MetadataType</code>](#MetadataType)
1983
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#DataExtract.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2001
+ * [.retrieve(retrieveDir, [_], [__], [key])](#DataExtract.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1984
2002
  * [.retrieveForCache()](#DataExtract.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1985
2003
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#DataExtract.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
1986
2004
  * [.postRetrieveTasks(fileTransfer)](#DataExtract.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -1991,7 +2009,7 @@ DataExtract MetadataType
1991
2009
 
1992
2010
  <a name="DataExtract.retrieve"></a>
1993
2011
 
1994
- ### DataExtract.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2012
+ ### DataExtract.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1995
2013
  Retrieves Metadata of Data Extract Activity.
1996
2014
  Endpoint /automation/v1/dataextracts/ returns all Data Extracts
1997
2015
 
@@ -2003,7 +2021,6 @@ Endpoint /automation/v1/dataextracts/ returns all Data Extracts
2003
2021
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2004
2022
  | [_] | <code>void</code> | unused parameter |
2005
2023
  | [__] | <code>void</code> | unused parameter |
2006
- | [___] | <code>void</code> | unused parameter |
2007
2024
  | [key] | <code>string</code> | customer key of single item to retrieve |
2008
2025
 
2009
2026
  <a name="DataExtract.retrieveForCache"></a>
@@ -2098,12 +2115,12 @@ as this is a configuration in the EID
2098
2115
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2099
2116
 
2100
2117
  * [DataExtractType](#DataExtractType) ⇐ [<code>MetadataType</code>](#MetadataType)
2101
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#DataExtractType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2118
+ * [.retrieve(retrieveDir, [_], [__], [key])](#DataExtractType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2102
2119
  * [.retrieveForCache()](#DataExtractType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2103
2120
 
2104
2121
  <a name="DataExtractType.retrieve"></a>
2105
2122
 
2106
- ### DataExtractType.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2123
+ ### DataExtractType.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2107
2124
  Retrieves Metadata of Data Extract Type.
2108
2125
 
2109
2126
  **Kind**: static method of [<code>DataExtractType</code>](#DataExtractType)
@@ -2114,7 +2131,6 @@ Retrieves Metadata of Data Extract Type.
2114
2131
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2115
2132
  | [_] | <code>void</code> | unused parameter |
2116
2133
  | [__] | <code>void</code> | unused parameter |
2117
- | [___] | <code>void</code> | unused parameter |
2118
2134
  | [key] | <code>string</code> | customer key of single item to retrieve |
2119
2135
 
2120
2136
  <a name="DataExtractType.retrieveForCache"></a>
@@ -2133,7 +2149,7 @@ ImportFile MetadataType
2133
2149
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2134
2150
  <a name="Discovery.retrieve"></a>
2135
2151
 
2136
- ### Discovery.retrieve(retrieveDir, [_], buObject, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2152
+ ### Discovery.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2137
2153
  Retrieves API endpoint
2138
2154
  documentation: https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-apis.meta/mc-apis/routes.htm
2139
2155
 
@@ -2144,8 +2160,7 @@ documentation: https://developer.salesforce.com/docs/atlas.en-us.noversion.mc-ap
2144
2160
  | --- | --- | --- |
2145
2161
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2146
2162
  | [_] | <code>void</code> | not used |
2147
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2148
- | [___] | <code>void</code> | unused parameter |
2163
+ | [__] | <code>void</code> | unused parameter |
2149
2164
  | [key] | <code>string</code> | customer key of single item to retrieve |
2150
2165
 
2151
2166
  <a name="Email"></a>
@@ -2157,13 +2172,14 @@ Email MetadataType
2157
2172
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2158
2173
 
2159
2174
  * [Email](#Email) ⇐ [<code>MetadataType</code>](#MetadataType)
2160
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#Email.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2175
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Email.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2176
+ * [.saveResults(results, retrieveDir, [overrideType], [templateVariables])](#Email.saveResults) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2161
2177
  * [.postRetrieveTasks(metadata)](#Email.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2162
2178
  * [.parseMetadata(metadata)](#Email.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2163
2179
 
2164
2180
  <a name="Email.retrieve"></a>
2165
2181
 
2166
- ### Email.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2182
+ ### Email.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2167
2183
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
2168
2184
 
2169
2185
  **Kind**: static method of [<code>Email</code>](#Email)
@@ -2174,9 +2190,23 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
2174
2190
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2175
2191
  | [_] | <code>void</code> | unused parameter |
2176
2192
  | [__] | <code>void</code> | unused parameter |
2177
- | [___] | <code>void</code> | unused parameter |
2178
2193
  | [key] | <code>string</code> | customer key of single item to retrieve |
2179
2194
 
2195
+ <a name="Email.saveResults"></a>
2196
+
2197
+ ### Email.saveResults(results, retrieveDir, [overrideType], [templateVariables]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2198
+ Helper for writing Metadata to disk, used for Retrieve and deploy
2199
+
2200
+ **Kind**: static method of [<code>Email</code>](#Email)
2201
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of saved metadata
2202
+
2203
+ | Param | Type | Description |
2204
+ | --- | --- | --- |
2205
+ | results | <code>TYPE.MetadataTypeMap</code> | metadata results from deploy |
2206
+ | retrieveDir | <code>string</code> | directory where metadata should be stored after deploy/retrieve |
2207
+ | [overrideType] | <code>string</code> | for use when there is a subtype (such as folder-queries) |
2208
+ | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
2209
+
2180
2210
  <a name="Email.postRetrieveTasks"></a>
2181
2211
 
2182
2212
  ### Email.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -2210,17 +2240,17 @@ MessageSendActivity MetadataType
2210
2240
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2211
2241
 
2212
2242
  * [EmailSendDefinition](#EmailSendDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
2213
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#EmailSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2243
+ * [.retrieve(retrieveDir, [_], [__], [key])](#EmailSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2214
2244
  * [.update(metadataItem)](#EmailSendDefinition.update) ⇒ <code>Promise</code>
2215
2245
  * [.create(metadataItem)](#EmailSendDefinition.create) ⇒ <code>Promise</code>
2216
- * [.deleteByKey(buObject, customerKey)](#EmailSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2246
+ * [.deleteByKey(customerKey)](#EmailSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2217
2247
  * [.preDeployTasks(metadata)](#EmailSendDefinition.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2218
2248
  * [.postRetrieveTasks(metadata)](#EmailSendDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2219
2249
  * [.parseMetadata(metadata)](#EmailSendDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2220
2250
 
2221
2251
  <a name="EmailSendDefinition.retrieve"></a>
2222
2252
 
2223
- ### EmailSendDefinition.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2253
+ ### EmailSendDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2224
2254
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
2225
2255
 
2226
2256
  **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
@@ -2231,7 +2261,6 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
2231
2261
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2232
2262
  | [_] | <code>void</code> | unused parameter |
2233
2263
  | [__] | <code>void</code> | unused parameter |
2234
- | [___] | <code>void</code> | unused parameter |
2235
2264
  | [key] | <code>string</code> | customer key of single item to retrieve |
2236
2265
 
2237
2266
  <a name="EmailSendDefinition.update"></a>
@@ -2260,7 +2289,7 @@ Creates a single item
2260
2289
 
2261
2290
  <a name="EmailSendDefinition.deleteByKey"></a>
2262
2291
 
2263
- ### EmailSendDefinition.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2292
+ ### EmailSendDefinition.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2264
2293
  Delete a metadata item from the specified business unit
2265
2294
 
2266
2295
  **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
@@ -2268,7 +2297,6 @@ Delete a metadata item from the specified business unit
2268
2297
 
2269
2298
  | Param | Type | Description |
2270
2299
  | --- | --- | --- |
2271
- | buObject | <code>TYPE.BuObject</code> | references credentials |
2272
2300
  | customerKey | <code>string</code> | Identifier of data extension |
2273
2301
 
2274
2302
  <a name="EmailSendDefinition.preDeployTasks"></a>
@@ -2316,10 +2344,12 @@ EventDefinition MetadataType
2316
2344
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2317
2345
 
2318
2346
  * [EventDefinition](#EventDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
2319
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#EventDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2347
+ * [.retrieve(retrieveDir, [_], [__], [key])](#EventDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2320
2348
  * [.retrieveForCache()](#EventDefinition.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2321
2349
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#EventDefinition.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2322
2350
  * [.postRetrieveTasks(eventDef)](#EventDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2351
+ * [.deleteByKey(key)](#EventDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2352
+ * [.deploy(metadata, deployDir, retrieveDir)](#EventDefinition.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2323
2353
  * [.create(EventDefinition)](#EventDefinition.create) ⇒ <code>Promise</code>
2324
2354
  * [.update(metadataEntry)](#EventDefinition.update) ⇒ <code>Promise</code>
2325
2355
  * [.preDeployTasks(metadata)](#EventDefinition.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -2327,7 +2357,7 @@ EventDefinition MetadataType
2327
2357
 
2328
2358
  <a name="EventDefinition.retrieve"></a>
2329
2359
 
2330
- ### EventDefinition.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2360
+ ### EventDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2331
2361
  Retrieves Metadata of Event Definition.
2332
2362
  Endpoint /interaction/v1/EventDefinitions return all Event Definitions with all details.
2333
2363
  Currently it is not needed to loop over Imports with endpoint /interaction/v1/EventDefinitions/{id}
@@ -2340,7 +2370,6 @@ Currently it is not needed to loop over Imports with endpoint /interaction/v1/Ev
2340
2370
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2341
2371
  | [_] | <code>void</code> | unused parameter |
2342
2372
  | [__] | <code>void</code> | unused parameter |
2343
- | [___] | <code>void</code> | unused parameter |
2344
2373
  | [key] | <code>string</code> | customer key of single item to retrieve |
2345
2374
 
2346
2375
  <a name="EventDefinition.retrieveForCache"></a>
@@ -2376,6 +2405,32 @@ manages post retrieve steps
2376
2405
  | --- | --- | --- |
2377
2406
  | eventDef | <code>TYPE.MetadataTypeItem</code> | a single item of Event Definition |
2378
2407
 
2408
+ <a name="EventDefinition.deleteByKey"></a>
2409
+
2410
+ ### EventDefinition.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2411
+ Delete a metadata item from the specified business unit
2412
+
2413
+ **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2414
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
2415
+
2416
+ | Param | Type | Description |
2417
+ | --- | --- | --- |
2418
+ | key | <code>string</code> | Identifier of item |
2419
+
2420
+ <a name="EventDefinition.deploy"></a>
2421
+
2422
+ ### EventDefinition.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2423
+ Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta) once per deploy
2424
+
2425
+ **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2426
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of keyField => metadata map
2427
+
2428
+ | Param | Type | Description |
2429
+ | --- | --- | --- |
2430
+ | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
2431
+ | deployDir | <code>string</code> | directory where deploy metadata are saved |
2432
+ | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
2433
+
2379
2434
  <a name="EventDefinition.create"></a>
2380
2435
 
2381
2436
  ### EventDefinition.create(EventDefinition) ⇒ <code>Promise</code>
@@ -2433,7 +2488,7 @@ FileTransfer MetadataType
2433
2488
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2434
2489
 
2435
2490
  * [FileTransfer](#FileTransfer) ⇐ [<code>MetadataType</code>](#MetadataType)
2436
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#FileTransfer.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2491
+ * [.retrieve(retrieveDir, [_], [__], [key])](#FileTransfer.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2437
2492
  * [.retrieveForCache()](#FileTransfer.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2438
2493
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#FileTransfer.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2439
2494
  * [.postRetrieveTasks(metadata)](#FileTransfer.postRetrieveTasks) ⇒ <code>Array.&lt;object&gt;</code>
@@ -2444,7 +2499,7 @@ FileTransfer MetadataType
2444
2499
 
2445
2500
  <a name="FileTransfer.retrieve"></a>
2446
2501
 
2447
- ### FileTransfer.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2502
+ ### FileTransfer.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2448
2503
  Retrieves Metadata of FileTransfer Activity.
2449
2504
  Endpoint /automation/v1/filetransfers/ returns all File Transfers
2450
2505
 
@@ -2456,7 +2511,6 @@ Endpoint /automation/v1/filetransfers/ returns all File Transfers
2456
2511
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2457
2512
  | [_] | <code>void</code> | unused parameter |
2458
2513
  | [__] | <code>void</code> | unused parameter |
2459
- | [___] | <code>void</code> | unused parameter |
2460
2514
  | [key] | <code>string</code> | customer key of single item to retrieve |
2461
2515
 
2462
2516
  <a name="FileTransfer.retrieveForCache"></a>
@@ -2549,7 +2603,7 @@ Filter MetadataType
2549
2603
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2550
2604
  <a name="Filter.retrieve"></a>
2551
2605
 
2552
- ### Filter.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2606
+ ### Filter.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2553
2607
  Retrieves Metadata of Filter.
2554
2608
  Endpoint /automation/v1/filters/ returns all Filters,
2555
2609
  but only with some of the fields. So it is needed to loop over
@@ -2563,7 +2617,6 @@ Filters with the endpoint /automation/v1/filters/{id}
2563
2617
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2564
2618
  | [_] | <code>void</code> | unused parameter |
2565
2619
  | [__] | <code>void</code> | unused parameter |
2566
- | [___] | <code>void</code> | unused parameter |
2567
2620
  | [key] | <code>string</code> | customer key of single item to retrieve |
2568
2621
 
2569
2622
  <a name="Folder"></a>
@@ -2575,8 +2628,8 @@ Folder MetadataType
2575
2628
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2576
2629
 
2577
2630
  * [Folder](#Folder) ⇐ [<code>MetadataType</code>](#MetadataType)
2578
- * [.retrieve(retrieveDir, [additionalFields], buObject, [___], [key], [contentTypeList])](#Folder.retrieve) ⇒ <code>Promise</code>
2579
- * [.retrieveForCache(buObject, [contentTypeList])](#Folder.retrieveForCache) ⇒ <code>Promise</code>
2631
+ * [.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key])](#Folder.retrieve) ⇒ <code>Promise</code>
2632
+ * [.retrieveForCache(_, [subTypeArr])](#Folder.retrieveForCache) ⇒ <code>Promise</code>
2580
2633
  * [.upsert(metadata)](#Folder.upsert) ⇒ <code>Promise.&lt;object&gt;</code>
2581
2634
  * [.create(metadataEntry)](#Folder.create) ⇒ <code>Promise</code>
2582
2635
  * [.update(metadataEntry)](#Folder.update) ⇒ <code>Promise</code>
@@ -2588,7 +2641,7 @@ Folder MetadataType
2588
2641
 
2589
2642
  <a name="Folder.retrieve"></a>
2590
2643
 
2591
- ### Folder.retrieve(retrieveDir, [additionalFields], buObject, [___], [key], [contentTypeList]) ⇒ <code>Promise</code>
2644
+ ### Folder.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key]) ⇒ <code>Promise</code>
2592
2645
  Retrieves metadata of metadata type into local filesystem. executes callback with retrieved metadata
2593
2646
 
2594
2647
  **Kind**: static method of [<code>Folder</code>](#Folder)
@@ -2598,14 +2651,12 @@ Retrieves metadata of metadata type into local filesystem. executes callback wit
2598
2651
  | --- | --- | --- |
2599
2652
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2600
2653
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
2601
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2602
- | [___] | <code>void</code> | unused parameter |
2654
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | content type of folder |
2603
2655
  | [key] | <code>string</code> | customer key of single item to retrieve |
2604
- | [contentTypeList] | <code>Array.&lt;string&gt;</code> | content type of folder |
2605
2656
 
2606
2657
  <a name="Folder.retrieveForCache"></a>
2607
2658
 
2608
- ### Folder.retrieveForCache(buObject, [contentTypeList]) ⇒ <code>Promise</code>
2659
+ ### Folder.retrieveForCache(_, [subTypeArr]) ⇒ <code>Promise</code>
2609
2660
  Retrieves folder metadata for caching
2610
2661
 
2611
2662
  **Kind**: static method of [<code>Folder</code>](#Folder)
@@ -2613,8 +2664,8 @@ Retrieves folder metadata for caching
2613
2664
 
2614
2665
  | Param | Type | Description |
2615
2666
  | --- | --- | --- |
2616
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2617
- | [contentTypeList] | <code>Array.&lt;string&gt;</code> | content type of folder |
2667
+ | _ | <code>void</code> | unused |
2668
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | content type of folder |
2618
2669
 
2619
2670
  <a name="Folder.upsert"></a>
2620
2671
 
@@ -2728,12 +2779,12 @@ ImportFile MetadataType
2728
2779
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2729
2780
 
2730
2781
  * [FtpLocation](#FtpLocation) ⇐ [<code>MetadataType</code>](#MetadataType)
2731
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#FtpLocation.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2782
+ * [.retrieve(retrieveDir, [_], [__], [key])](#FtpLocation.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2732
2783
  * [.retrieveForCache()](#FtpLocation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2733
2784
 
2734
2785
  <a name="FtpLocation.retrieve"></a>
2735
2786
 
2736
- ### FtpLocation.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2787
+ ### FtpLocation.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2737
2788
  Retrieves Metadata of FtpLocation
2738
2789
  Endpoint /automation/v1/ftplocations/ return all FtpLocations
2739
2790
 
@@ -2745,7 +2796,6 @@ Endpoint /automation/v1/ftplocations/ return all FtpLocations
2745
2796
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2746
2797
  | [_] | <code>void</code> | unused parameter |
2747
2798
  | [__] | <code>void</code> | unused parameter |
2748
- | [___] | <code>void</code> | unused parameter |
2749
2799
  | [key] | <code>string</code> | customer key of single item to retrieve |
2750
2800
 
2751
2801
  <a name="FtpLocation.retrieveForCache"></a>
@@ -2764,7 +2814,7 @@ ImportFile MetadataType
2764
2814
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2765
2815
 
2766
2816
  * [ImportFile](#ImportFile) ⇐ [<code>MetadataType</code>](#MetadataType)
2767
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#ImportFile.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2817
+ * [.retrieve(retrieveDir, [_], [__], [key])](#ImportFile.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2768
2818
  * [.retrieveForCache()](#ImportFile.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2769
2819
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#ImportFile.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2770
2820
  * [.postRetrieveTasks(importDef)](#ImportFile.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
@@ -2775,7 +2825,7 @@ ImportFile MetadataType
2775
2825
 
2776
2826
  <a name="ImportFile.retrieve"></a>
2777
2827
 
2778
- ### ImportFile.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2828
+ ### ImportFile.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2779
2829
  Retrieves Metadata of Import File.
2780
2830
  Endpoint /automation/v1/imports/ return all Import Files with all details.
2781
2831
  Currently it is not needed to loop over Imports with endpoint /automation/v1/imports/{id}
@@ -2788,7 +2838,6 @@ Currently it is not needed to loop over Imports with endpoint /automation/v1/imp
2788
2838
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2789
2839
  | [_] | <code>void</code> | unused parameter |
2790
2840
  | [__] | <code>void</code> | unused parameter |
2791
- | [___] | <code>void</code> | unused parameter |
2792
2841
  | [key] | <code>string</code> | customer key of single item to retrieve |
2793
2842
 
2794
2843
  <a name="ImportFile.retrieveForCache"></a>
@@ -2875,15 +2924,31 @@ parses retrieved Metadata before saving
2875
2924
  <a name="Interaction"></a>
2876
2925
 
2877
2926
  ## Interaction ⇐ [<code>MetadataType</code>](#MetadataType)
2878
- Script MetadataType
2927
+ Interaction MetadataType
2928
+ ! BETA RELEASE of journey support (v4.3.0); it so far only resolves a limited amount of dependencies and will likely break during cross-BU deployments!
2929
+ id: A unique id of the journey assigned by the journey’s API during its creation
2930
+ key: A unique id of the journey within the MID. Can be generated by the developer
2931
+ definitionId: A unique UUID provided by Salesforce Marketing Cloud. Each version of a journey has a unique DefinitionID while the Id and Key remain the same. Version 1 will have id == definitionId
2879
2932
 
2880
2933
  **Kind**: global class
2881
2934
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2935
+
2936
+ * [Interaction](#Interaction) ⇐ [<code>MetadataType</code>](#MetadataType)
2937
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Interaction.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2938
+ * [.deleteByKey(key)](#Interaction.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2939
+ * [.deploy(metadata, deployDir, retrieveDir)](#Interaction.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2940
+ * [.update(metadata)](#Interaction.update) ⇒ <code>Promise</code>
2941
+ * [.create(metadata)](#Interaction.create) ⇒ <code>Promise</code>
2942
+ * [.saveResults(results, retrieveDir, [overrideType], [templateVariables])](#Interaction.saveResults) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2943
+ * [._postRetrieveTasksBulk(metadataMap)](#Interaction._postRetrieveTasksBulk)
2944
+ * [.postRetrieveTasks(metadata)](#Interaction.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2945
+ * [.preDeployTasks(metadata)](#Interaction.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2946
+ * [.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#Interaction.createOrUpdate)
2947
+
2882
2948
  <a name="Interaction.retrieve"></a>
2883
2949
 
2884
- ### Interaction.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2950
+ ### Interaction.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2885
2951
  Retrieves Metadata of Interaction
2886
- Endpoint /interaction/v1/interactions?extras=all&pageSize=50000 return 50000 Scripts with all details.
2887
2952
 
2888
2953
  **Kind**: static method of [<code>Interaction</code>](#Interaction)
2889
2954
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
@@ -2893,9 +2958,123 @@ Endpoint /interaction/v1/interactions?extras=all&pageSize=50000 return 50000 Scr
2893
2958
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2894
2959
  | [_] | <code>void</code> | unused parameter |
2895
2960
  | [__] | <code>void</code> | unused parameter |
2896
- | [___] | <code>void</code> | unused parameter |
2897
2961
  | [key] | <code>string</code> | customer key of single item to retrieve |
2898
2962
 
2963
+ <a name="Interaction.deleteByKey"></a>
2964
+
2965
+ ### Interaction.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2966
+ Delete a metadata item from the specified business unit
2967
+
2968
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
2969
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
2970
+
2971
+ | Param | Type | Description |
2972
+ | --- | --- | --- |
2973
+ | key | <code>string</code> | Identifier of item |
2974
+
2975
+ <a name="Interaction.deploy"></a>
2976
+
2977
+ ### Interaction.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2978
+ Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta) once per deploy
2979
+
2980
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
2981
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of keyField => metadata map
2982
+
2983
+ | Param | Type | Description |
2984
+ | --- | --- | --- |
2985
+ | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
2986
+ | deployDir | <code>string</code> | directory where deploy metadata are saved |
2987
+ | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
2988
+
2989
+ <a name="Interaction.update"></a>
2990
+
2991
+ ### Interaction.update(metadata) ⇒ <code>Promise</code>
2992
+ Updates a single item
2993
+
2994
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
2995
+ **Returns**: <code>Promise</code> - Promise
2996
+
2997
+ | Param | Type | Description |
2998
+ | --- | --- | --- |
2999
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3000
+
3001
+ <a name="Interaction.create"></a>
3002
+
3003
+ ### Interaction.create(metadata) ⇒ <code>Promise</code>
3004
+ Creates a single item
3005
+
3006
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3007
+ **Returns**: <code>Promise</code> - Promise
3008
+
3009
+ | Param | Type | Description |
3010
+ | --- | --- | --- |
3011
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3012
+
3013
+ <a name="Interaction.saveResults"></a>
3014
+
3015
+ ### Interaction.saveResults(results, retrieveDir, [overrideType], [templateVariables]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3016
+ Helper for writing Metadata to disk, used for Retrieve and deploy
3017
+
3018
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3019
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of saved metadata
3020
+
3021
+ | Param | Type | Description |
3022
+ | --- | --- | --- |
3023
+ | results | <code>TYPE.MetadataTypeMap</code> | metadata results from deploy |
3024
+ | retrieveDir | <code>string</code> | directory where metadata should be stored after deploy/retrieve |
3025
+ | [overrideType] | <code>string</code> | for use when there is a subtype (such as folder-queries) |
3026
+ | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
3027
+
3028
+ <a name="Interaction._postRetrieveTasksBulk"></a>
3029
+
3030
+ ### Interaction.\_postRetrieveTasksBulk(metadataMap)
3031
+ helper for Interaction's [saveResults](saveResults). Gets executed after retreive of metadata type and
3032
+
3033
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3034
+
3035
+ | Param | Type | Description |
3036
+ | --- | --- | --- |
3037
+ | metadataMap | <code>TYPE.MetadataTypeMap</code> | key=customer key, value=metadata |
3038
+
3039
+ <a name="Interaction.postRetrieveTasks"></a>
3040
+
3041
+ ### Interaction.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3042
+ manages post retrieve steps
3043
+ ! BETA RELEASE of journey support (v4.3.0); it so far only resolves a limited amount of dependencies and will likely break during cross-BU deployments!
3044
+
3045
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3046
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one query string
3047
+
3048
+ | Param | Type | Description |
3049
+ | --- | --- | --- |
3050
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
3051
+
3052
+ <a name="Interaction.preDeployTasks"></a>
3053
+
3054
+ ### Interaction.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3055
+ prepares a TSD for deployment
3056
+ ! BETA RELEASE of journey support (v4.3.0); it so far only resolves a limited amount of dependencies and will likely break during cross-BU deployments!
3057
+
3058
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3059
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - metadata object
3060
+
3061
+ | Param | Type | Description |
3062
+ | --- | --- | --- |
3063
+ | metadata | <code>TYPE.MetadataTypeItem</code> | of a single TSD |
3064
+
3065
+ <a name="Interaction.createOrUpdate"></a>
3066
+
3067
+ ### Interaction.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)
3068
+ **Kind**: static method of [<code>Interaction</code>](#Interaction)
3069
+
3070
+ | Param | Type | Description |
3071
+ | --- | --- | --- |
3072
+ | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata itme |
3073
+ | metadataKey | <code>string</code> | key of item we are looking at |
3074
+ | hasError | <code>boolean</code> | error flag from previous code |
3075
+ | metadataToUpdate | <code>Array.&lt;TYPE.MetadataTypeItemDiff&gt;</code> | list of items to update |
3076
+ | metadataToCreate | <code>Array.&lt;TYPE.MetadataTypeItem&gt;</code> | list of items to create |
3077
+
2899
3078
  <a name="List"></a>
2900
3079
 
2901
3080
  ## List ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -2905,16 +3084,15 @@ List MetadataType
2905
3084
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2906
3085
 
2907
3086
  * [List](#List) ⇐ [<code>MetadataType</code>](#MetadataType)
2908
- * [.retrieve(retrieveDir, [_], buObject, [___], [key])](#List.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2909
- * [.retrieveForCache(buObject)](#List.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2910
- * [._retrieveParentAllSubs(buObject, results)](#List._retrieveParentAllSubs) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2911
- * [.deleteByKey(buObject, customerKey)](#List.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
3087
+ * [.retrieve(retrieveDir, [_], [__], [key])](#List.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3088
+ * [.retrieveForCache()](#List.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3089
+ * [.deleteByKey(customerKey)](#List.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2912
3090
  * [.postRetrieveTasks(list)](#List.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2913
3091
  * [.parseMetadata(metadata, [parseForCache])](#List.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2914
3092
 
2915
3093
  <a name="List.retrieve"></a>
2916
3094
 
2917
- ### List.retrieve(retrieveDir, [_], buObject, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3095
+ ### List.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2918
3096
  Retrieves Metadata of Lists
2919
3097
 
2920
3098
  **Kind**: static method of [<code>List</code>](#List)
@@ -2924,38 +3102,19 @@ Retrieves Metadata of Lists
2924
3102
  | --- | --- | --- |
2925
3103
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2926
3104
  | [_] | <code>void</code> | unused parameter |
2927
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2928
- | [___] | <code>void</code> | unused parameter |
3105
+ | [__] | <code>void</code> | unused parameter |
2929
3106
  | [key] | <code>string</code> | customer key of single item to retrieve |
2930
3107
 
2931
3108
  <a name="List.retrieveForCache"></a>
2932
3109
 
2933
- ### List.retrieveForCache(buObject) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3110
+ ### List.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2934
3111
  Gets metadata cache with limited fields and does not store value to disk
2935
3112
 
2936
3113
  **Kind**: static method of [<code>List</code>](#List)
2937
3114
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
2938
-
2939
- | Param | Type | Description |
2940
- | --- | --- | --- |
2941
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2942
-
2943
- <a name="List._retrieveParentAllSubs"></a>
2944
-
2945
- ### List.\_retrieveParentAllSubs(buObject, results) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2946
- helper for @link retrieveForCache and @link retrieve
2947
-
2948
- **Kind**: static method of [<code>List</code>](#List)
2949
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2950
-
2951
- | Param | Type | Description |
2952
- | --- | --- | --- |
2953
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
2954
- | results | <code>TYPE.MetadataTypeMapObj</code> | metadata from retrieve for current BU |
2955
-
2956
3115
  <a name="List.deleteByKey"></a>
2957
3116
 
2958
- ### List.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
3117
+ ### List.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2959
3118
  Delete a metadata item from the specified business unit
2960
3119
 
2961
3120
  **Kind**: static method of [<code>List</code>](#List)
@@ -2963,7 +3122,6 @@ Delete a metadata item from the specified business unit
2963
3122
 
2964
3123
  | Param | Type | Description |
2965
3124
  | --- | --- | --- |
2966
- | buObject | <code>TYPE.BuObject</code> | references credentials |
2967
3125
  | customerKey | <code>string</code> | Identifier of data extension |
2968
3126
 
2969
3127
  <a name="List.postRetrieveTasks"></a>
@@ -3006,27 +3164,31 @@ Provides default functionality that can be overwritten by child metadata type cl
3006
3164
  * [.buObject](#MetadataType.buObject) : <code>TYPE.BuObject</code>
3007
3165
  * [.getJsonFromFS(dir, [listBadKeys])](#MetadataType.getJsonFromFS) ⇒ <code>TYPE.MetadataTypeMap</code>
3008
3166
  * [.getFieldNamesToRetrieve([additionalFields])](#MetadataType.getFieldNamesToRetrieve) ⇒ <code>Array.&lt;string&gt;</code>
3009
- * [.deploy(metadata, deployDir, retrieveDir, buObject)](#MetadataType.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3167
+ * [.deploy(metadata, deployDir, retrieveDir)](#MetadataType.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3010
3168
  * [.postDeployTasks(metadata, originalMetadata)](#MetadataType.postDeployTasks) ⇒ <code>void</code>
3011
3169
  * [.postRetrieveTasks(metadata, targetDir, [isTemplating])](#MetadataType.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
3012
3170
  * [.setFolderPath(metadata)](#MetadataType.setFolderPath)
3013
- * [.retrieve(retrieveDir, [additionalFields], buObject, [subType], [key])](#MetadataType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3014
- * [.retrieveChangelog([buObject], [additionalFields], [subType])](#MetadataType.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3015
- * [.retrieveForCache(buObject, [subType])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3171
+ * [.setFolderId(metadata)](#MetadataType.setFolderId)
3172
+ * [.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key])](#MetadataType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3173
+ * [.retrieveChangelog([additionalFields], [subTypeArr])](#MetadataType.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3174
+ * [.retrieveForCache([additionalFields], [subTypeArr])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3016
3175
  * [.retrieveAsTemplate(templateDir, name, templateVariables, [subType])](#MetadataType.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3017
3176
  * [.buildTemplate(retrieveDir, templateDir, key, templateVariables)](#MetadataType.buildTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3018
- * [.preDeployTasks(metadata, deployDir, buObject)](#MetadataType.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
3177
+ * [.preDeployTasks(metadata, deployDir)](#MetadataType.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
3019
3178
  * [.create(metadata, deployDir)](#MetadataType.create) ⇒ <code>void</code>
3020
3179
  * [.update(metadata, [metadataBefore])](#MetadataType.update) ⇒ <code>void</code>
3180
+ * [.refresh()](#MetadataType.refresh) ⇒ <code>void</code>
3021
3181
  * [.hasChanged(cachedVersion, metadata, [fieldName])](#MetadataType.hasChanged) ⇒ <code>boolean</code>
3022
3182
  * [.hasChangedGeneric(cachedVersion, metadata, [fieldName], [silent])](#MetadataType.hasChangedGeneric) ⇒ <code>boolean</code>
3023
- * [.upsert(metadata, deployDir, [buObject])](#MetadataType.upsert) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3024
- * [.createREST(metadataEntry, uri)](#MetadataType.createREST) ⇒ <code>Promise</code>
3025
- * [.createSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.createSOAP) ⇒ <code>Promise</code>
3026
- * [.updateREST(metadataEntry, uri)](#MetadataType.updateREST) ⇒ <code>Promise</code>
3027
- * [.updateSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.updateSOAP) ⇒ <code>Promise</code>
3183
+ * [.upsert(metadata, deployDir)](#MetadataType.upsert) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3184
+ * [.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#MetadataType.createOrUpdate) ⇒ <code>void</code>
3185
+ * [.createREST(metadataEntry, uri)](#MetadataType.createREST) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3186
+ * [.createSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.createSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3187
+ * [.updateREST(metadataEntry, uri, [usePut])](#MetadataType.updateREST) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3188
+ * [.updateSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.updateSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3028
3189
  * [._handleSOAPErrors(ex, msg, [metadataEntry], [handleOutside])](#MetadataType._handleSOAPErrors)
3029
- * [.retrieveSOAP(retrieveDir, buObject, [requestParams], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3190
+ * [.getSOAPErrorMsg(ex)](#MetadataType.getSOAPErrorMsg) ⇒ <code>string</code>
3191
+ * [.retrieveSOAP(retrieveDir, [requestParams], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3030
3192
  * [.retrieveREST(retrieveDir, uri, [overrideType], [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3031
3193
  * [.parseResponseBody(body, [singleRetrieve])](#MetadataType.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
3032
3194
  * [.deleteFieldByDefinition(metadataEntry, fieldPath, definitionProperty, origin)](#MetadataType.deleteFieldByDefinition) ⇒ <code>void</code>
@@ -3044,12 +3206,12 @@ Provides default functionality that can be overwritten by child metadata type cl
3044
3206
  * [.findSubType(templateDir, templateName)](#MetadataType.findSubType) ⇒ <code>Promise.&lt;string&gt;</code>
3045
3207
  * [.readSecondaryFolder(templateDir, typeDirArr, templateName, fileName, ex)](#MetadataType.readSecondaryFolder) ⇒ <code>object</code>
3046
3208
  * [.buildDefinition(templateDir, targetDir, templateName, variables)](#MetadataType.buildDefinition) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3047
- * [.checkForErrors(ex)](#MetadataType.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code>
3048
- * [.document([buObject], [metadata], [isDeploy])](#MetadataType.document) ⇒ <code>void</code>
3049
- * [.deleteByKey(buObject, customerKey)](#MetadataType.deleteByKey) ⇒ <code>boolean</code>
3050
- * [.postDeleteTasks(buObject, customerKey)](#MetadataType.postDeleteTasks) ⇒ <code>void</code>
3051
- * [.deleteByKeySOAP(buObject, customerKey, [handleOutside])](#MetadataType.deleteByKeySOAP) ⇒ <code>boolean</code>
3052
- * [.deleteByKeyREST(buObject, url, key, [handleOutside])](#MetadataType.deleteByKeyREST) ⇒ <code>boolean</code>
3209
+ * [.checkForErrors(ex)](#MetadataType.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
3210
+ * [.document([metadata], [isDeploy])](#MetadataType.document) ⇒ <code>void</code>
3211
+ * [.deleteByKey(customerKey)](#MetadataType.deleteByKey) ⇒ <code>boolean</code>
3212
+ * [.postDeleteTasks(customerKey)](#MetadataType.postDeleteTasks) ⇒ <code>void</code>
3213
+ * [.deleteByKeySOAP(customerKey, [handleOutside])](#MetadataType.deleteByKeySOAP) ⇒ <code>boolean</code>
3214
+ * [.deleteByKeyREST(url, key, [handleOutside])](#MetadataType.deleteByKeyREST) ⇒ <code>boolean</code>
3053
3215
  * [.readBUMetadataForType(readDir, [listBadKeys], [buMetadata])](#MetadataType.readBUMetadataForType) ⇒ <code>object</code>
3054
3216
  * [.getFilesToCommit(keyArr)](#MetadataType.getFilesToCommit) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
3055
3217
 
@@ -3096,7 +3258,7 @@ Returns fieldnames of Metadata Type. 'this.definition.fields' variable only set
3096
3258
 
3097
3259
  <a name="MetadataType.deploy"></a>
3098
3260
 
3099
- ### MetadataType.deploy(metadata, deployDir, retrieveDir, buObject) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3261
+ ### MetadataType.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3100
3262
  Deploys metadata
3101
3263
 
3102
3264
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3107,7 +3269,6 @@ Deploys metadata
3107
3269
  | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3108
3270
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
3109
3271
  | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
3110
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
3111
3272
 
3112
3273
  <a name="MetadataType.postDeployTasks"></a>
3113
3274
 
@@ -3144,11 +3305,22 @@ generic script that retrieves the folder path from cache and updates the given m
3144
3305
 
3145
3306
  | Param | Type | Description |
3146
3307
  | --- | --- | --- |
3147
- | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
3308
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3309
+
3310
+ <a name="MetadataType.setFolderId"></a>
3311
+
3312
+ ### MetadataType.setFolderId(metadata)
3313
+ generic script that retrieves the folder ID from cache and updates the given metadata with it before deploy
3314
+
3315
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3316
+
3317
+ | Param | Type | Description |
3318
+ | --- | --- | --- |
3319
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3148
3320
 
3149
3321
  <a name="MetadataType.retrieve"></a>
3150
3322
 
3151
- ### MetadataType.retrieve(retrieveDir, [additionalFields], buObject, [subType], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3323
+ ### MetadataType.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3152
3324
  Gets metadata from Marketing Cloud
3153
3325
 
3154
3326
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3158,13 +3330,12 @@ Gets metadata from Marketing Cloud
3158
3330
  | --- | --- | --- |
3159
3331
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3160
3332
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3161
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
3162
- | [subType] | <code>string</code> | optionally limit to a single subtype |
3333
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
3163
3334
  | [key] | <code>string</code> | customer key of single item to retrieve |
3164
3335
 
3165
3336
  <a name="MetadataType.retrieveChangelog"></a>
3166
3337
 
3167
- ### MetadataType.retrieveChangelog([buObject], [additionalFields], [subType]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3338
+ ### MetadataType.retrieveChangelog([additionalFields], [subTypeArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3168
3339
  Gets metadata from Marketing Cloud
3169
3340
 
3170
3341
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3172,13 +3343,12 @@ Gets metadata from Marketing Cloud
3172
3343
 
3173
3344
  | Param | Type | Description |
3174
3345
  | --- | --- | --- |
3175
- | [buObject] | <code>TYPE.BuObject</code> | properties for auth |
3176
3346
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3177
- | [subType] | <code>string</code> | optionally limit to a single subtype |
3347
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
3178
3348
 
3179
3349
  <a name="MetadataType.retrieveForCache"></a>
3180
3350
 
3181
- ### MetadataType.retrieveForCache(buObject, [subType]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3351
+ ### MetadataType.retrieveForCache([additionalFields], [subTypeArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3182
3352
  Gets metadata cache with limited fields and does not store value to disk
3183
3353
 
3184
3354
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3186,8 +3356,8 @@ Gets metadata cache with limited fields and does not store value to disk
3186
3356
 
3187
3357
  | Param | Type | Description |
3188
3358
  | --- | --- | --- |
3189
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
3190
- | [subType] | <code>string</code> | optionally limit to a single subtype |
3359
+ | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3360
+ | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
3191
3361
 
3192
3362
  <a name="MetadataType.retrieveAsTemplate"></a>
3193
3363
 
@@ -3221,7 +3391,7 @@ Gets metadata cache with limited fields and does not store value to disk
3221
3391
 
3222
3392
  <a name="MetadataType.preDeployTasks"></a>
3223
3393
 
3224
- ### MetadataType.preDeployTasks(metadata, deployDir, buObject) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
3394
+ ### MetadataType.preDeployTasks(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
3225
3395
  Gets executed before deploying metadata
3226
3396
 
3227
3397
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3231,7 +3401,6 @@ Gets executed before deploying metadata
3231
3401
  | --- | --- | --- |
3232
3402
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single metadata item |
3233
3403
  | deployDir | <code>string</code> | folder where files for deployment are stored |
3234
- | buObject | <code>TYPE.BuObject</code> | buObject properties for auth |
3235
3404
 
3236
3405
  <a name="MetadataType.create"></a>
3237
3406
 
@@ -3257,6 +3426,12 @@ Abstract update method that needs to be implemented in child metadata type
3257
3426
  | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
3258
3427
  | [metadataBefore] | <code>TYPE.MetadataTypeItem</code> | metadata mapped by their keyField |
3259
3428
 
3429
+ <a name="MetadataType.refresh"></a>
3430
+
3431
+ ### MetadataType.refresh() ⇒ <code>void</code>
3432
+ Abstract refresh method that needs to be implemented in child metadata type
3433
+
3434
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3260
3435
  <a name="MetadataType.hasChanged"></a>
3261
3436
 
3262
3437
  ### MetadataType.hasChanged(cachedVersion, metadata, [fieldName]) ⇒ <code>boolean</code>
@@ -3288,7 +3463,7 @@ test if metadata was actually changed or not to potentially skip it during deplo
3288
3463
 
3289
3464
  <a name="MetadataType.upsert"></a>
3290
3465
 
3291
- ### MetadataType.upsert(metadata, deployDir, [buObject]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3466
+ ### MetadataType.upsert(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3292
3467
  MetadataType upsert, after retrieving from target and comparing to check if create or update operation is needed.
3293
3468
 
3294
3469
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3298,15 +3473,27 @@ MetadataType upsert, after retrieving from target and comparing to check if crea
3298
3473
  | --- | --- | --- |
3299
3474
  | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3300
3475
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
3301
- | [buObject] | <code>TYPE.BuObject</code> | properties for auth |
3476
+
3477
+ <a name="MetadataType.createOrUpdate"></a>
3478
+
3479
+ ### MetadataType.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>void</code>
3480
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3481
+
3482
+ | Param | Type | Description |
3483
+ | --- | --- | --- |
3484
+ | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata itme |
3485
+ | metadataKey | <code>string</code> | key of item we are looking at |
3486
+ | hasError | <code>boolean</code> | error flag from previous code |
3487
+ | metadataToUpdate | <code>Array.&lt;TYPE.MetadataTypeItemDiff&gt;</code> | list of items to update |
3488
+ | metadataToCreate | <code>Array.&lt;TYPE.MetadataTypeItem&gt;</code> | list of items to create |
3302
3489
 
3303
3490
  <a name="MetadataType.createREST"></a>
3304
3491
 
3305
- ### MetadataType.createREST(metadataEntry, uri) ⇒ <code>Promise</code>
3492
+ ### MetadataType.createREST(metadataEntry, uri) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3306
3493
  Creates a single metadata entry via REST
3307
3494
 
3308
3495
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3309
- **Returns**: <code>Promise</code> - Promise
3496
+ **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>null</code> - Promise of API response or null in case of an error
3310
3497
 
3311
3498
  | Param | Type | Description |
3312
3499
  | --- | --- | --- |
@@ -3315,11 +3502,11 @@ Creates a single metadata entry via REST
3315
3502
 
3316
3503
  <a name="MetadataType.createSOAP"></a>
3317
3504
 
3318
- ### MetadataType.createSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise</code>
3505
+ ### MetadataType.createSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3319
3506
  Creates a single metadata entry via fuel-soap (generic lib not wrapper)
3320
3507
 
3321
3508
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3322
- **Returns**: <code>Promise</code> - Promise
3509
+ **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>null</code> - Promise of API response or null in case of an error
3323
3510
 
3324
3511
  | Param | Type | Description |
3325
3512
  | --- | --- | --- |
@@ -3329,24 +3516,25 @@ Creates a single metadata entry via fuel-soap (generic lib not wrapper)
3329
3516
 
3330
3517
  <a name="MetadataType.updateREST"></a>
3331
3518
 
3332
- ### MetadataType.updateREST(metadataEntry, uri) ⇒ <code>Promise</code>
3519
+ ### MetadataType.updateREST(metadataEntry, uri, [usePut]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3333
3520
  Updates a single metadata entry via REST
3334
3521
 
3335
3522
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3336
- **Returns**: <code>Promise</code> - Promise
3523
+ **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>null</code> - Promise of API response or null in case of an error
3337
3524
 
3338
3525
  | Param | Type | Description |
3339
3526
  | --- | --- | --- |
3340
3527
  | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3341
3528
  | uri | <code>string</code> | rest endpoint for PATCH |
3529
+ | [usePut] | <code>boolean</code> | some update requests require PUT instead of PATCH |
3342
3530
 
3343
3531
  <a name="MetadataType.updateSOAP"></a>
3344
3532
 
3345
- ### MetadataType.updateSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise</code>
3533
+ ### MetadataType.updateSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3346
3534
  Updates a single metadata entry via fuel-soap (generic lib not wrapper)
3347
3535
 
3348
3536
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3349
- **Returns**: <code>Promise</code> - Promise
3537
+ **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>null</code> - Promise of API response or null in case of an error
3350
3538
 
3351
3539
  | Param | Type | Description |
3352
3540
  | --- | --- | --- |
@@ -3366,9 +3554,21 @@ Updates a single metadata entry via fuel-soap (generic lib not wrapper)
3366
3554
  | [metadataEntry] | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
3367
3555
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3368
3556
 
3557
+ <a name="MetadataType.getSOAPErrorMsg"></a>
3558
+
3559
+ ### MetadataType.getSOAPErrorMsg(ex) ⇒ <code>string</code>
3560
+ helper for [_handleSOAPErrors](_handleSOAPErrors)
3561
+
3562
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3563
+ **Returns**: <code>string</code> - error message
3564
+
3565
+ | Param | Type | Description |
3566
+ | --- | --- | --- |
3567
+ | ex | <code>Error</code> | error that occured |
3568
+
3369
3569
  <a name="MetadataType.retrieveSOAP"></a>
3370
3570
 
3371
- ### MetadataType.retrieveSOAP(retrieveDir, buObject, [requestParams], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3571
+ ### MetadataType.retrieveSOAP(retrieveDir, [requestParams], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3372
3572
  Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type into local filesystem. executes callback with retrieved metadata
3373
3573
 
3374
3574
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3377,7 +3577,6 @@ Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type int
3377
3577
  | Param | Type | Description |
3378
3578
  | --- | --- | --- |
3379
3579
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3380
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
3381
3580
  | [requestParams] | <code>TYPE.SoapRequestParams</code> | required for the specific request (filter for example) |
3382
3581
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3383
3582
 
@@ -3624,11 +3823,11 @@ parsing is required (for example scripts & queries)
3624
3823
 
3625
3824
  <a name="MetadataType.checkForErrors"></a>
3626
3825
 
3627
- ### MetadataType.checkForErrors(ex) ⇒ <code>Array.&lt;string&gt;</code>
3826
+ ### MetadataType.checkForErrors(ex) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
3628
3827
  Standardizes a check for multiple messages
3629
3828
 
3630
3829
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3631
- **Returns**: <code>Array.&lt;string&gt;</code> - formatted Error Message
3830
+ **Returns**: <code>Array.&lt;string&gt;</code> \| <code>void</code> - formatted Error Message
3632
3831
 
3633
3832
  | Param | Type | Description |
3634
3833
  | --- | --- | --- |
@@ -3636,20 +3835,19 @@ Standardizes a check for multiple messages
3636
3835
 
3637
3836
  <a name="MetadataType.document"></a>
3638
3837
 
3639
- ### MetadataType.document([buObject], [metadata], [isDeploy]) ⇒ <code>void</code>
3838
+ ### MetadataType.document([metadata], [isDeploy]) ⇒ <code>void</code>
3640
3839
  Gets metadata cache with limited fields and does not store value to disk
3641
3840
 
3642
3841
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3643
3842
 
3644
3843
  | Param | Type | Description |
3645
3844
  | --- | --- | --- |
3646
- | [buObject] | <code>TYPE.BuObject</code> | properties for auth |
3647
3845
  | [metadata] | <code>TYPE.MetadataTypeMap</code> | a list of type definitions |
3648
3846
  | [isDeploy] | <code>boolean</code> | used to skip non-supported message during deploy |
3649
3847
 
3650
3848
  <a name="MetadataType.deleteByKey"></a>
3651
3849
 
3652
- ### MetadataType.deleteByKey(buObject, customerKey) ⇒ <code>boolean</code>
3850
+ ### MetadataType.deleteByKey(customerKey) ⇒ <code>boolean</code>
3653
3851
  Delete a metadata item from the specified business unit
3654
3852
 
3655
3853
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3657,24 +3855,22 @@ Delete a metadata item from the specified business unit
3657
3855
 
3658
3856
  | Param | Type | Description |
3659
3857
  | --- | --- | --- |
3660
- | buObject | <code>TYPE.BuObject</code> | references credentials |
3661
3858
  | customerKey | <code>string</code> | Identifier of data extension |
3662
3859
 
3663
3860
  <a name="MetadataType.postDeleteTasks"></a>
3664
3861
 
3665
- ### MetadataType.postDeleteTasks(buObject, customerKey) ⇒ <code>void</code>
3862
+ ### MetadataType.postDeleteTasks(customerKey) ⇒ <code>void</code>
3666
3863
  clean up after deleting a metadata item
3667
3864
 
3668
3865
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3669
3866
 
3670
3867
  | Param | Type | Description |
3671
3868
  | --- | --- | --- |
3672
- | buObject | <code>TYPE.BuObject</code> | references credentials |
3673
3869
  | customerKey | <code>string</code> | Identifier of metadata item |
3674
3870
 
3675
3871
  <a name="MetadataType.deleteByKeySOAP"></a>
3676
3872
 
3677
- ### MetadataType.deleteByKeySOAP(buObject, customerKey, [handleOutside]) ⇒ <code>boolean</code>
3873
+ ### MetadataType.deleteByKeySOAP(customerKey, [handleOutside]) ⇒ <code>boolean</code>
3678
3874
  Delete a data extension from the specified business unit
3679
3875
 
3680
3876
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3682,13 +3878,12 @@ Delete a data extension from the specified business unit
3682
3878
 
3683
3879
  | Param | Type | Description |
3684
3880
  | --- | --- | --- |
3685
- | buObject | <code>TYPE.BuObject</code> | references credentials |
3686
3881
  | customerKey | <code>string</code> | Identifier of metadata |
3687
3882
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3688
3883
 
3689
3884
  <a name="MetadataType.deleteByKeyREST"></a>
3690
3885
 
3691
- ### MetadataType.deleteByKeyREST(buObject, url, key, [handleOutside]) ⇒ <code>boolean</code>
3886
+ ### MetadataType.deleteByKeyREST(url, key, [handleOutside]) ⇒ <code>boolean</code>
3692
3887
  Delete a data extension from the specified business unit
3693
3888
 
3694
3889
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3696,7 +3891,6 @@ Delete a data extension from the specified business unit
3696
3891
 
3697
3892
  | Param | Type | Description |
3698
3893
  | --- | --- | --- |
3699
- | buObject | <code>TYPE.BuObject</code> | references credentials |
3700
3894
  | url | <code>string</code> | endpoint |
3701
3895
  | key | <code>string</code> | Identifier of metadata |
3702
3896
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
@@ -3737,12 +3931,12 @@ MobileCode MetadataType
3737
3931
  **Extends**: [<code>MetadataType</code>](#MetadataType)
3738
3932
 
3739
3933
  * [MobileCode](#MobileCode) ⇐ [<code>MetadataType</code>](#MetadataType)
3740
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#MobileCode.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3934
+ * [.retrieve(retrieveDir, [_], [__], [key])](#MobileCode.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3741
3935
  * [.retrieveForCache()](#MobileCode.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3742
3936
 
3743
3937
  <a name="MobileCode.retrieve"></a>
3744
3938
 
3745
- ### MobileCode.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3939
+ ### MobileCode.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3746
3940
  Retrieves Metadata of Mobile Keywords
3747
3941
  Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
3748
3942
 
@@ -3754,7 +3948,6 @@ Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
3754
3948
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3755
3949
  | [_] | <code>void</code> | unused parameter |
3756
3950
  | [__] | <code>void</code> | unused parameter |
3757
- | [___] | <code>void</code> | unused parameter |
3758
3951
  | [key] | <code>string</code> | customer key of single item to retrieve |
3759
3952
 
3760
3953
  <a name="MobileCode.retrieveForCache"></a>
@@ -3773,7 +3966,7 @@ MobileKeyword MetadataType
3773
3966
  **Extends**: [<code>MetadataType</code>](#MetadataType)
3774
3967
 
3775
3968
  * [MobileKeyword](#MobileKeyword) ⇐ [<code>MetadataType</code>](#MetadataType)
3776
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#MobileKeyword.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3969
+ * [.retrieve(retrieveDir, [_], [__], [key])](#MobileKeyword.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3777
3970
  * [.retrieveForCache()](#MobileKeyword.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3778
3971
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#MobileKeyword.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3779
3972
  * [.create(MobileKeyword)](#MobileKeyword.create) ⇒ <code>Promise</code>
@@ -3781,7 +3974,7 @@ MobileKeyword MetadataType
3781
3974
 
3782
3975
  <a name="MobileKeyword.retrieve"></a>
3783
3976
 
3784
- ### MobileKeyword.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3977
+ ### MobileKeyword.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3785
3978
  Retrieves Metadata of Mobile Keywords
3786
3979
  Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all details.
3787
3980
 
@@ -3793,7 +3986,6 @@ Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all det
3793
3986
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3794
3987
  | [_] | <code>void</code> | unused parameter |
3795
3988
  | [__] | <code>void</code> | unused parameter |
3796
- | [___] | <code>void</code> | unused parameter |
3797
3989
  | [key] | <code>string</code> | customer key of single item to retrieve |
3798
3990
 
3799
3991
  <a name="MobileKeyword.retrieveForCache"></a>
@@ -3850,7 +4042,7 @@ Query MetadataType
3850
4042
  **Extends**: [<code>MetadataType</code>](#MetadataType)
3851
4043
 
3852
4044
  * [Query](#Query) ⇐ [<code>MetadataType</code>](#MetadataType)
3853
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#Query.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4045
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Query.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
3854
4046
  * [.retrieveForCache()](#Query.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
3855
4047
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Query.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: Query, type: string}&gt;</code>
3856
4048
  * [.postRetrieveTasks(metadata)](#Query.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
@@ -3862,11 +4054,11 @@ Query MetadataType
3862
4054
  * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Query.buildTemplateForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
3863
4055
  * [.parseMetadata(metadata)](#Query.parseMetadata) ⇒ <code>TYPE.CodeExtractItem</code>
3864
4056
  * [.getFilesToCommit(keyArr)](#Query.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
3865
- * [.checkForErrors(ex)](#Query.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code>
4057
+ * [.checkForErrors(ex)](#Query.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
3866
4058
 
3867
4059
  <a name="Query.retrieve"></a>
3868
4060
 
3869
- ### Query.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4061
+ ### Query.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
3870
4062
  Retrieves Metadata of queries
3871
4063
 
3872
4064
  **Kind**: static method of [<code>Query</code>](#Query)
@@ -3877,7 +4069,6 @@ Retrieves Metadata of queries
3877
4069
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3878
4070
  | [_] | <code>void</code> | unused parameter |
3879
4071
  | [__] | <code>void</code> | unused parameter |
3880
- | [___] | <code>void</code> | unused parameter |
3881
4072
  | [key] | <code>string</code> | customer key of single item to retrieve |
3882
4073
 
3883
4074
  <a name="Query.retrieveForCache"></a>
@@ -4029,11 +4220,11 @@ additionally, the documentation for dataExtension and automation should be retur
4029
4220
 
4030
4221
  <a name="Query.checkForErrors"></a>
4031
4222
 
4032
- ### Query.checkForErrors(ex) ⇒ <code>Array.&lt;string&gt;</code>
4223
+ ### Query.checkForErrors(ex) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
4033
4224
  Standardizes a check for multiple messages but adds query specific filters to error texts
4034
4225
 
4035
4226
  **Kind**: static method of [<code>Query</code>](#Query)
4036
- **Returns**: <code>Array.&lt;string&gt;</code> - formatted Error Message
4227
+ **Returns**: <code>Array.&lt;string&gt;</code> \| <code>void</code> - formatted Error Message
4037
4228
 
4038
4229
  | Param | Type | Description |
4039
4230
  | --- | --- | --- |
@@ -4048,16 +4239,16 @@ ImportFile MetadataType
4048
4239
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4049
4240
 
4050
4241
  * [Role](#Role) ⇐ [<code>MetadataType</code>](#MetadataType)
4051
- * [.retrieve(retrieveDir, _, buObject, [___], [key])](#Role.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4242
+ * [.retrieve(retrieveDir, _, [___], [key])](#Role.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4052
4243
  * [.preDeployTasks(metadata)](#Role.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4053
4244
  * [.create(metadata)](#Role.create) ⇒ <code>Promise</code>
4054
4245
  * [.update(metadata)](#Role.update) ⇒ <code>Promise</code>
4055
- * [.document(buObject, [metadata])](#Role.document) ⇒ <code>Promise.&lt;void&gt;</code>
4246
+ * [.document([metadata])](#Role.document) ⇒ <code>Promise.&lt;void&gt;</code>
4056
4247
  * [._traverseRoles(role, element, [permission], [isAllowed])](#Role._traverseRoles) ⇒ <code>void</code>
4057
4248
 
4058
4249
  <a name="Role.retrieve"></a>
4059
4250
 
4060
- ### Role.retrieve(retrieveDir, _, buObject, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4251
+ ### Role.retrieve(retrieveDir, _, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4061
4252
  Gets metadata from Marketing Cloud
4062
4253
 
4063
4254
  **Kind**: static method of [<code>Role</code>](#Role)
@@ -4067,7 +4258,6 @@ Gets metadata from Marketing Cloud
4067
4258
  | --- | --- | --- |
4068
4259
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4069
4260
  | _ | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
4070
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
4071
4261
  | [___] | <code>void</code> | unused parameter |
4072
4262
  | [key] | <code>string</code> | customer key of single item to retrieve |
4073
4263
 
@@ -4109,7 +4299,7 @@ Updates a single Role.
4109
4299
 
4110
4300
  <a name="Role.document"></a>
4111
4301
 
4112
- ### Role.document(buObject, [metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
4302
+ ### Role.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
4113
4303
  Creates markdown documentation of all roles
4114
4304
 
4115
4305
  **Kind**: static method of [<code>Role</code>](#Role)
@@ -4117,7 +4307,6 @@ Creates markdown documentation of all roles
4117
4307
 
4118
4308
  | Param | Type | Description |
4119
4309
  | --- | --- | --- |
4120
- | buObject | <code>TYPE.BuObject</code> | properties for auth |
4121
4310
  | [metadata] | <code>TYPE.MetadataTypeMap</code> | role definitions |
4122
4311
 
4123
4312
  <a name="Role._traverseRoles"></a>
@@ -4143,7 +4332,7 @@ Script MetadataType
4143
4332
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4144
4333
 
4145
4334
  * [Script](#Script) ⇐ [<code>MetadataType</code>](#MetadataType)
4146
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#Script.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.ScriptMap, type: string}&gt;</code>
4335
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Script.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.ScriptMap, type: string}&gt;</code>
4147
4336
  * [.retrieveForCache()](#Script.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.ScriptMap, type: string}&gt;</code>
4148
4337
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Script.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: TYPE.Script, type: string}&gt;</code>
4149
4338
  * [.postRetrieveTasks(metadata)](#Script.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
@@ -4160,7 +4349,7 @@ Script MetadataType
4160
4349
 
4161
4350
  <a name="Script.retrieve"></a>
4162
4351
 
4163
- ### Script.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.ScriptMap, type: string}&gt;</code>
4352
+ ### Script.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;{metadata: TYPE.ScriptMap, type: string}&gt;</code>
4164
4353
  Retrieves Metadata of Script
4165
4354
  Endpoint /automation/v1/scripts/ return all Scripts with all details.
4166
4355
 
@@ -4172,7 +4361,6 @@ Endpoint /automation/v1/scripts/ return all Scripts with all details.
4172
4361
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4173
4362
  | [_] | <code>void</code> | unused parameter |
4174
4363
  | [__] | <code>void</code> | unused parameter |
4175
- | [___] | <code>void</code> | unused parameter |
4176
4364
  | [key] | <code>string</code> | customer key of single item to retrieve |
4177
4365
 
4178
4366
  <a name="Script.retrieveForCache"></a>
@@ -4362,12 +4550,12 @@ SetDefinition MetadataType
4362
4550
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4363
4551
 
4364
4552
  * [SetDefinition](#SetDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
4365
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#SetDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4553
+ * [.retrieve(retrieveDir, [_], [__], [key])](#SetDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4366
4554
  * [.retrieveForCache()](#SetDefinition.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4367
4555
 
4368
4556
  <a name="SetDefinition.retrieve"></a>
4369
4557
 
4370
- ### SetDefinition.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4558
+ ### SetDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4371
4559
  Retrieves Metadata of schema set Definitions.
4372
4560
 
4373
4561
  **Kind**: static method of [<code>SetDefinition</code>](#SetDefinition)
@@ -4378,7 +4566,6 @@ Retrieves Metadata of schema set Definitions.
4378
4566
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4379
4567
  | [_] | <code>void</code> | unused parameter |
4380
4568
  | [__] | <code>void</code> | unused parameter |
4381
- | [___] | <code>void</code> | unused parameter |
4382
4569
  | [key] | <code>string</code> | customer key of single item to retrieve |
4383
4570
 
4384
4571
  <a name="SetDefinition.retrieveForCache"></a>
@@ -4446,15 +4633,15 @@ TransactionalMessage MetadataType
4446
4633
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4447
4634
 
4448
4635
  * [TransactionalMessage](#TransactionalMessage) ⇐ [<code>MetadataType</code>](#MetadataType)
4449
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#TransactionalMessage.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4636
+ * [.retrieve(retrieveDir, [_], [__], [key])](#TransactionalMessage.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4450
4637
  * [.retrieveForCache()](#TransactionalMessage.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4451
4638
  * [.update(metadata)](#TransactionalMessage.update) ⇒ <code>Promise</code>
4452
4639
  * [.create(metadata)](#TransactionalMessage.create) ⇒ <code>Promise</code>
4453
- * [.deleteByKey(buObject, key)](#TransactionalMessage.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4640
+ * [.deleteByKey(key)](#TransactionalMessage.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4454
4641
 
4455
4642
  <a name="TransactionalMessage.retrieve"></a>
4456
4643
 
4457
- ### TransactionalMessage.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4644
+ ### TransactionalMessage.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4458
4645
  Retrieves Metadata of Mobile Keywords
4459
4646
  Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
4460
4647
 
@@ -4466,7 +4653,6 @@ Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
4466
4653
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4467
4654
  | [_] | <code>void</code> | unused parameter |
4468
4655
  | [__] | <code>void</code> | unused parameter |
4469
- | [___] | <code>void</code> | unused parameter |
4470
4656
  | [key] | <code>string</code> | customer key of single item to retrieve |
4471
4657
 
4472
4658
  <a name="TransactionalMessage.retrieveForCache"></a>
@@ -4502,7 +4688,7 @@ Creates a single item
4502
4688
 
4503
4689
  <a name="TransactionalMessage.deleteByKey"></a>
4504
4690
 
4505
- ### TransactionalMessage.deleteByKey(buObject, key) ⇒ <code>Promise.&lt;boolean&gt;</code>
4691
+ ### TransactionalMessage.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
4506
4692
  Delete a metadata item from the specified business unit
4507
4693
 
4508
4694
  **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
@@ -4510,7 +4696,6 @@ Delete a metadata item from the specified business unit
4510
4696
 
4511
4697
  | Param | Type | Description |
4512
4698
  | --- | --- | --- |
4513
- | buObject | <code>TYPE.BuObject</code> | references credentials |
4514
4699
  | key | <code>string</code> | Identifier of item |
4515
4700
 
4516
4701
  <a name="TransactionalPush"></a>
@@ -4558,7 +4743,7 @@ TransactionalSMS MetadataType
4558
4743
  **Extends**: [<code>TransactionalMessage</code>](#TransactionalMessage)
4559
4744
 
4560
4745
  * [TransactionalSMS](#TransactionalSMS) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4561
- * [.postDeleteTasks(buObject, customerKey)](#TransactionalSMS.postDeleteTasks) ⇒ <code>void</code>
4746
+ * [.postDeleteTasks(customerKey)](#TransactionalSMS.postDeleteTasks) ⇒ <code>void</code>
4562
4747
  * [.preDeployTasks(metadata, dir)](#TransactionalSMS.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4563
4748
  * [._mergeCode(metadata, deployDir, [templateName])](#TransactionalSMS._mergeCode) ⇒ <code>Promise.&lt;string&gt;</code>
4564
4749
  * [.postRetrieveTasks(metadata)](#TransactionalSMS.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
@@ -4571,14 +4756,13 @@ TransactionalSMS MetadataType
4571
4756
 
4572
4757
  <a name="TransactionalSMS.postDeleteTasks"></a>
4573
4758
 
4574
- ### TransactionalSMS.postDeleteTasks(buObject, customerKey) ⇒ <code>void</code>
4759
+ ### TransactionalSMS.postDeleteTasks(customerKey) ⇒ <code>void</code>
4575
4760
  clean up after deleting a metadata item
4576
4761
 
4577
4762
  **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4578
4763
 
4579
4764
  | Param | Type | Description |
4580
4765
  | --- | --- | --- |
4581
- | buObject | <code>TYPE.BuObject</code> | references credentials |
4582
4766
  | customerKey | <code>string</code> | Identifier of metadata item |
4583
4767
 
4584
4768
  <a name="TransactionalSMS.preDeployTasks"></a>
@@ -4722,17 +4906,21 @@ MessageSendActivity MetadataType
4722
4906
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4723
4907
 
4724
4908
  * [TriggeredSendDefinition](#TriggeredSendDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
4725
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#TriggeredSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4909
+ * [.retrieve(retrieveDir, [_], [__], [key])](#TriggeredSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4726
4910
  * [.create(metadata)](#TriggeredSendDefinition.create) ⇒ <code>Promise</code>
4727
- * [.update(metadata)](#TriggeredSendDefinition.update) ⇒ <code>Promise</code>
4728
- * [.deleteByKey(buObject, customerKey)](#TriggeredSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4911
+ * [.update(metadata, [handleOutside])](#TriggeredSendDefinition.update) ⇒ <code>Promise</code>
4912
+ * [.deleteByKey(customerKey)](#TriggeredSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4729
4913
  * [.postRetrieveTasks(metadata)](#TriggeredSendDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4730
- * [.parseMetadata(metadata)](#TriggeredSendDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4914
+ * [.setFolderPath(metadata)](#TriggeredSendDefinition.setFolderPath)
4915
+ * [.parseMetadata(metadata)](#TriggeredSendDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
4731
4916
  * [.preDeployTasks(metadata)](#TriggeredSendDefinition.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4917
+ * [.refresh([keyArr])](#TriggeredSendDefinition.refresh) ⇒ <code>Promise.&lt;void&gt;</code>
4918
+ * [._findRefreshableItems()](#TriggeredSendDefinition._findRefreshableItems) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
4919
+ * [._refreshItem(key, checkKey)](#TriggeredSendDefinition._refreshItem) ⇒ <code>Promise.&lt;boolean&gt;</code>
4732
4920
 
4733
4921
  <a name="TriggeredSendDefinition.retrieve"></a>
4734
4922
 
4735
- ### TriggeredSendDefinition.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4923
+ ### TriggeredSendDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4736
4924
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
4737
4925
 
4738
4926
  **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
@@ -4743,7 +4931,6 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
4743
4931
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4744
4932
  | [_] | <code>void</code> | unused parameter |
4745
4933
  | [__] | <code>void</code> | unused parameter |
4746
- | [___] | <code>void</code> | unused parameter |
4747
4934
  | [key] | <code>string</code> | customer key of single item to retrieve |
4748
4935
 
4749
4936
  <a name="TriggeredSendDefinition.create"></a>
@@ -4760,7 +4947,7 @@ Create a single TSD.
4760
4947
 
4761
4948
  <a name="TriggeredSendDefinition.update"></a>
4762
4949
 
4763
- ### TriggeredSendDefinition.update(metadata) ⇒ <code>Promise</code>
4950
+ ### TriggeredSendDefinition.update(metadata, [handleOutside]) ⇒ <code>Promise</code>
4764
4951
  Updates a single TSD.
4765
4952
 
4766
4953
  **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
@@ -4769,10 +4956,11 @@ Updates a single TSD.
4769
4956
  | Param | Type | Description |
4770
4957
  | --- | --- | --- |
4771
4958
  | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
4959
+ | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
4772
4960
 
4773
4961
  <a name="TriggeredSendDefinition.deleteByKey"></a>
4774
4962
 
4775
- ### TriggeredSendDefinition.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4963
+ ### TriggeredSendDefinition.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4776
4964
  Delete a metadata item from the specified business unit
4777
4965
 
4778
4966
  **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
@@ -4780,7 +4968,6 @@ Delete a metadata item from the specified business unit
4780
4968
 
4781
4969
  | Param | Type | Description |
4782
4970
  | --- | --- | --- |
4783
- | buObject | <code>TYPE.BuObject</code> | references credentials |
4784
4971
  | customerKey | <code>string</code> | Identifier of data extension |
4785
4972
 
4786
4973
  <a name="TriggeredSendDefinition.postRetrieveTasks"></a>
@@ -4795,13 +4982,24 @@ manages post retrieve steps
4795
4982
  | --- | --- | --- |
4796
4983
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
4797
4984
 
4985
+ <a name="TriggeredSendDefinition.setFolderPath"></a>
4986
+
4987
+ ### TriggeredSendDefinition.setFolderPath(metadata)
4988
+ generic script that retrieves the folder path from cache and updates the given metadata with it after retrieve
4989
+
4990
+ **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
4991
+
4992
+ | Param | Type | Description |
4993
+ | --- | --- | --- |
4994
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
4995
+
4798
4996
  <a name="TriggeredSendDefinition.parseMetadata"></a>
4799
4997
 
4800
- ### TriggeredSendDefinition.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4998
+ ### TriggeredSendDefinition.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
4801
4999
  parses retrieved Metadata before saving
4802
5000
 
4803
5001
  **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
4804
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one sql string
5002
+ **Returns**: <code>TYPE.MetadataTypeItem</code> \| <code>void</code> - Array with one metadata object and one sql string
4805
5003
 
4806
5004
  | Param | Type | Description |
4807
5005
  | --- | --- | --- |
@@ -4819,6 +5017,38 @@ prepares a TSD for deployment
4819
5017
  | --- | --- | --- |
4820
5018
  | metadata | <code>TYPE.MetadataTypeItem</code> | of a single TSD |
4821
5019
 
5020
+ <a name="TriggeredSendDefinition.refresh"></a>
5021
+
5022
+ ### TriggeredSendDefinition.refresh([keyArr]) ⇒ <code>Promise.&lt;void&gt;</code>
5023
+ TSD-specific refresh method that finds active TSDs and refreshes them
5024
+
5025
+ **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5026
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
5027
+
5028
+ | Param | Type | Description |
5029
+ | --- | --- | --- |
5030
+ | [keyArr] | <code>Array.&lt;string&gt;</code> | metadata keys |
5031
+
5032
+ <a name="TriggeredSendDefinition._findRefreshableItems"></a>
5033
+
5034
+ ### TriggeredSendDefinition.\_findRefreshableItems() ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5035
+ helper for [refresh](refresh) that finds active TSDs on the server and filters it by the same rules that [retrieve](retrieve) is using to avoid refreshing TSDs with broken dependencies
5036
+
5037
+ **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5038
+ **Returns**: <code>Promise.&lt;Array.&lt;string&gt;&gt;</code> - keyArr
5039
+ <a name="TriggeredSendDefinition._refreshItem"></a>
5040
+
5041
+ ### TriggeredSendDefinition.\_refreshItem(key, checkKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5042
+ helper for [refresh](refresh) that pauses, publishes and starts a triggered send
5043
+
5044
+ **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5045
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - true if refresh was successful
5046
+
5047
+ | Param | Type | Description |
5048
+ | --- | --- | --- |
5049
+ | key | <code>string</code> | external key of triggered send item |
5050
+ | checkKey | <code>boolean</code> | whether to check if key exists on the server |
5051
+
4822
5052
  <a name="Retriever"></a>
4823
5053
 
4824
5054
  ## Retriever
@@ -4887,16 +5117,22 @@ CLI entry for SFMC DevTools
4887
5117
  * [.signalFatalError()](#Util.signalFatalError) ⇒ <code>void</code>
4888
5118
  * [.isTrue(attrValue)](#Util.isTrue) ⇒ <code>boolean</code>
4889
5119
  * [.isFalse(attrValue)](#Util.isFalse) ⇒ <code>boolean</code>
4890
- * [._isValidType(selectedType)](#Util._isValidType) ⇒ <code>boolean</code>
5120
+ * [._isValidType(selectedType, [handleOutside])](#Util._isValidType) ⇒ <code>boolean</code>
5121
+ * [.getTypeAndSubType(selectedType)](#Util.getTypeAndSubType) ⇒ <code>Array.&lt;string&gt;</code>
4891
5122
  * [.getRetrieveTypeChoices()](#Util.getRetrieveTypeChoices) ⇒ <code>Array.&lt;TYPE.SupportedMetadataTypes&gt;</code>
4892
5123
  * [.metadataLogger(level, type, method, payload, [source])](#Util.metadataLogger) ⇒ <code>void</code>
4893
5124
  * [.replaceByObject(str, obj)](#Util.replaceByObject) ⇒ <code>string</code> \| <code>object</code>
4894
5125
  * [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
4895
- * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Array.&lt;string&gt;</code>
5126
+ * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code>
4896
5127
  * [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
4897
5128
  * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
4898
5129
  * [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
4899
5130
  * [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
5131
+ * [.logBeta(type)](#Util.logBeta)
5132
+ * [.getGrayMsg(msg)](#Util.getGrayMsg) ⇒ <code>string</code>
5133
+ * [.logSubtypes(subTypeArr)](#Util.logSubtypes) ⇒ <code>void</code>
5134
+ * [.getKeysString(keyArr, [isId])](#Util.getKeysString) ⇒ <code>string</code>
5135
+ * [.sleep(ms)](#Util.sleep) ⇒ <code>Promise.&lt;void&gt;</code>
4900
5136
 
4901
5137
  <a name="Util.skipInteraction"></a>
4902
5138
 
@@ -5005,7 +5241,7 @@ SFMC accepts multiple false values for Boolean attributes for which we are check
5005
5241
 
5006
5242
  <a name="Util._isValidType"></a>
5007
5243
 
5008
- ### Util.\_isValidType(selectedType) ⇒ <code>boolean</code>
5244
+ ### Util.\_isValidType(selectedType, [handleOutside]) ⇒ <code>boolean</code>
5009
5245
  helper for [retrieve](#Mcdev.retrieve), [retrieveAsTemplate](#Mcdev.retrieveAsTemplate) and [deploy](#Mcdev.deploy)
5010
5246
 
5011
5247
  **Kind**: static method of [<code>Util</code>](#Util)
@@ -5014,6 +5250,19 @@ helper for [retrieve](#Mcdev.retrieve), [retrieveAsTemplate](#Mcdev.retrieveAsTe
5014
5250
  | Param | Type | Description |
5015
5251
  | --- | --- | --- |
5016
5252
  | selectedType | <code>TYPE.SupportedMetadataTypes</code> | type or type-subtype |
5253
+ | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
5254
+
5255
+ <a name="Util.getTypeAndSubType"></a>
5256
+
5257
+ ### Util.getTypeAndSubType(selectedType) ⇒ <code>Array.&lt;string&gt;</code>
5258
+ helper that deals with extracting type and subtype
5259
+
5260
+ **Kind**: static method of [<code>Util</code>](#Util)
5261
+ **Returns**: <code>Array.&lt;string&gt;</code> - first elem is type, second elem is subType
5262
+
5263
+ | Param | Type | Description |
5264
+ | --- | --- | --- |
5265
+ | selectedType | <code>string</code> | "type" or "type-subtype" |
5017
5266
 
5018
5267
  <a name="Util.getRetrieveTypeChoices"></a>
5019
5268
 
@@ -5066,11 +5315,11 @@ get key of an object based on the first matching value
5066
5315
 
5067
5316
  <a name="Util.getMetadataHierachy"></a>
5068
5317
 
5069
- ### Util.getMetadataHierachy(metadataTypes) ⇒ <code>Array.&lt;string&gt;</code>
5318
+ ### Util.getMetadataHierachy(metadataTypes) ⇒ <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code>
5070
5319
  Returns Order in which metadata needs to be retrieved/deployed
5071
5320
 
5072
5321
  **Kind**: static method of [<code>Util</code>](#Util)
5073
- **Returns**: <code>Array.&lt;string&gt;</code> - retrieve/deploy order as array
5322
+ **Returns**: <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code> - retrieve/deploy order as array
5074
5323
 
5075
5324
  | Param | Type | Description |
5076
5325
  | --- | --- | --- |
@@ -5131,6 +5380,65 @@ configures what is displayed in the console
5131
5380
  | [argv.verbose] | <code>boolean</code> | chatty user CLI output |
5132
5381
  | [argv.debug] | <code>boolean</code> | enables developer output & features |
5133
5382
 
5383
+ <a name="Util.logBeta"></a>
5384
+
5385
+ ### Util.logBeta(type)
5386
+ outputs a warning that the given type is still in beta
5387
+
5388
+ **Kind**: static method of [<code>Util</code>](#Util)
5389
+
5390
+ | Param | Type | Description |
5391
+ | --- | --- | --- |
5392
+ | type | <code>string</code> | api name of the type thats in beta |
5393
+
5394
+ <a name="Util.getGrayMsg"></a>
5395
+
5396
+ ### Util.getGrayMsg(msg) ⇒ <code>string</code>
5397
+ helper that wraps a message in the correct color codes to have them printed gray
5398
+
5399
+ **Kind**: static method of [<code>Util</code>](#Util)
5400
+ **Returns**: <code>string</code> - gray msg
5401
+
5402
+ | Param | Type | Description |
5403
+ | --- | --- | --- |
5404
+ | msg | <code>string</code> | log message that should be wrapped with color codes |
5405
+
5406
+ <a name="Util.logSubtypes"></a>
5407
+
5408
+ ### Util.logSubtypes(subTypeArr) ⇒ <code>void</code>
5409
+ helper to print the subtypes we filtered by
5410
+
5411
+ **Kind**: static method of [<code>Util</code>](#Util)
5412
+
5413
+ | Param | Type | Description |
5414
+ | --- | --- | --- |
5415
+ | subTypeArr | <code>Array.&lt;string&gt;</code> | list of subtypes to be printed |
5416
+
5417
+ <a name="Util.getKeysString"></a>
5418
+
5419
+ ### Util.getKeysString(keyArr, [isId]) ⇒ <code>string</code>
5420
+ helper to print the subtypes we filtered by
5421
+
5422
+ **Kind**: static method of [<code>Util</code>](#Util)
5423
+ **Returns**: <code>string</code> - string to be appended to log message
5424
+
5425
+ | Param | Type | Description |
5426
+ | --- | --- | --- |
5427
+ | keyArr | <code>Array.&lt;string&gt;</code> \| <code>string</code> | list of subtypes to be printed |
5428
+ | [isId] | <code>boolean</code> | optional flag to indicate if key is an id |
5429
+
5430
+ <a name="Util.sleep"></a>
5431
+
5432
+ ### Util.sleep(ms) ⇒ <code>Promise.&lt;void&gt;</code>
5433
+ pause execution of code; useful when multiple server calls are dependent on each other and might not be executed right away
5434
+
5435
+ **Kind**: static method of [<code>Util</code>](#Util)
5436
+ **Returns**: <code>Promise.&lt;void&gt;</code> - - promise to wait for
5437
+
5438
+ | Param | Type | Description |
5439
+ | --- | --- | --- |
5440
+ | ms | <code>number</code> | time in miliseconds to wait |
5441
+
5134
5442
  <a name="MetadataTypeDefinitions"></a>
5135
5443
 
5136
5444
  ## MetadataTypeDefinitions
@@ -5492,10 +5800,10 @@ File extends fs-extra. It adds logger and util methods for file handling
5492
5800
  * [.writePrettyToFile(directory, filename, filetype, content, [templateVariables])](#File.writePrettyToFile) ⇒ <code>Promise.&lt;boolean&gt;</code>
5493
5801
  * [._beautify_prettier(directory, filename, filetype, content)](#File._beautify_prettier) ⇒ <code>string</code>
5494
5802
  * [.writeToFile(directory, filename, filetype, content, [encoding])](#File.writeToFile) ⇒ <code>Promise.&lt;boolean&gt;</code>
5495
- * [.readJSONFile(directory, filename, sync, cleanPath)](#File.readJSONFile) ⇒ <code>Promise</code> \| <code>object</code>
5496
- * [.readFilteredFilename(directory, filename, filetype, [encoding])](#File.readFilteredFilename) ⇒ <code>Promise.&lt;string&gt;</code>
5803
+ * [.readJSONFile(directory, filename, sync, cleanPath)](#File.readJSONFile) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>object</code> \| <code>void</code>
5804
+ * [.readFilteredFilename(directory, filename, filetype, [encoding])](#File.readFilteredFilename) ⇒ <code>Promise.&lt;string&gt;</code> \| <code>void</code>
5497
5805
  * [.readDirectories(directory, depth, [includeStem], [_stemLength])](#File.readDirectories) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5498
- * [.readDirectoriesSync(directory, [depth], [includeStem], [_stemLength])](#File.readDirectoriesSync) ⇒ <code>Array.&lt;string&gt;</code>
5806
+ * [.readDirectoriesSync(directory, [depth], [includeStem], [_stemLength])](#File.readDirectoriesSync) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
5499
5807
  * [.saveConfigFile(properties)](#File.saveConfigFile) ⇒ <code>Promise.&lt;void&gt;</code>
5500
5808
  * [.initPrettier([filetype])](#File.initPrettier) ⇒ <code>Promise.&lt;boolean&gt;</code>
5501
5809
 
@@ -5625,11 +5933,11 @@ Saves text content to a file in the local file system. Will create the parent di
5625
5933
 
5626
5934
  <a name="File.readJSONFile"></a>
5627
5935
 
5628
- ### File.readJSONFile(directory, filename, sync, cleanPath) ⇒ <code>Promise</code> \| <code>object</code>
5936
+ ### File.readJSONFile(directory, filename, sync, cleanPath) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>object</code> \| <code>void</code>
5629
5937
  Saves json content to a file in the local file system. Will create the parent directory if it does not exist
5630
5938
 
5631
5939
  **Kind**: static method of [<code>File</code>](#File)
5632
- **Returns**: <code>Promise</code> \| <code>object</code> - Promise or JSON object depending on if async or not
5940
+ **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>object</code> \| <code>void</code> - Promise or JSON object depending on if async or not; void on error
5633
5941
 
5634
5942
  | Param | Type | Description |
5635
5943
  | --- | --- | --- |
@@ -5640,11 +5948,11 @@ Saves json content to a file in the local file system. Will create the parent di
5640
5948
 
5641
5949
  <a name="File.readFilteredFilename"></a>
5642
5950
 
5643
- ### File.readFilteredFilename(directory, filename, filetype, [encoding]) ⇒ <code>Promise.&lt;string&gt;</code>
5951
+ ### File.readFilteredFilename(directory, filename, filetype, [encoding]) ⇒ <code>Promise.&lt;string&gt;</code> \| <code>void</code>
5644
5952
  reads file from local file system.
5645
5953
 
5646
5954
  **Kind**: static method of [<code>File</code>](#File)
5647
- **Returns**: <code>Promise.&lt;string&gt;</code> - file contents
5955
+ **Returns**: <code>Promise.&lt;string&gt;</code> \| <code>void</code> - file contents; void on error
5648
5956
 
5649
5957
  | Param | Type | Default | Description |
5650
5958
  | --- | --- | --- | --- |
@@ -5675,13 +5983,13 @@ of file paths to be iterated over
5675
5983
  ```
5676
5984
  <a name="File.readDirectoriesSync"></a>
5677
5985
 
5678
- ### File.readDirectoriesSync(directory, [depth], [includeStem], [_stemLength]) ⇒ <code>Array.&lt;string&gt;</code>
5986
+ ### File.readDirectoriesSync(directory, [depth], [includeStem], [_stemLength]) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
5679
5987
  reads directories to a specific depth returning an array
5680
5988
  of file paths to be iterated over using sync api (required in constructors)
5681
5989
  TODO - merge with readDirectories. so far the logic is really different
5682
5990
 
5683
5991
  **Kind**: static method of [<code>File</code>](#File)
5684
- **Returns**: <code>Array.&lt;string&gt;</code> - array of fully defined file paths
5992
+ **Returns**: <code>Array.&lt;string&gt;</code> \| <code>void</code> - array of fully defined file paths; void on error
5685
5993
 
5686
5994
  | Param | Type | Description |
5687
5995
  | --- | --- | --- |
@@ -5738,6 +6046,7 @@ CLI helper class
5738
6046
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5739
6047
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5740
6048
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6049
+ * [.joinProject()](#Init.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
5741
6050
  * [._initMarkets()](#Init._initMarkets)
5742
6051
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5743
6052
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -5861,6 +6170,13 @@ Creates template file for properties.json
5861
6170
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
5862
6171
  | credentialName | <code>string</code> | identifying name of the installed package / project |
5863
6172
 
6173
+ <a name="Init.joinProject"></a>
6174
+
6175
+ ### Init.joinProject() ⇒ <code>Promise.&lt;void&gt;</code>
6176
+ Creates template file for properties.json
6177
+
6178
+ **Kind**: static method of [<code>Init</code>](#Init)
6179
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
5864
6180
  <a name="Init._initMarkets"></a>
5865
6181
 
5866
6182
  ### Init.\_initMarkets()
@@ -5952,6 +6268,7 @@ CLI helper class
5952
6268
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5953
6269
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5954
6270
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6271
+ * [.joinProject()](#Init.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
5955
6272
  * [._initMarkets()](#Init._initMarkets)
5956
6273
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5957
6274
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -6075,6 +6392,13 @@ Creates template file for properties.json
6075
6392
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
6076
6393
  | credentialName | <code>string</code> | identifying name of the installed package / project |
6077
6394
 
6395
+ <a name="Init.joinProject"></a>
6396
+
6397
+ ### Init.joinProject() ⇒ <code>Promise.&lt;void&gt;</code>
6398
+ Creates template file for properties.json
6399
+
6400
+ **Kind**: static method of [<code>Init</code>](#Init)
6401
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
6078
6402
  <a name="Init._initMarkets"></a>
6079
6403
 
6080
6404
  ### Init.\_initMarkets()
@@ -6166,6 +6490,7 @@ CLI helper class
6166
6490
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
6167
6491
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
6168
6492
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6493
+ * [.joinProject()](#Init.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
6169
6494
  * [._initMarkets()](#Init._initMarkets)
6170
6495
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
6171
6496
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -6289,6 +6614,13 @@ Creates template file for properties.json
6289
6614
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
6290
6615
  | credentialName | <code>string</code> | identifying name of the installed package / project |
6291
6616
 
6617
+ <a name="Init.joinProject"></a>
6618
+
6619
+ ### Init.joinProject() ⇒ <code>Promise.&lt;void&gt;</code>
6620
+ Creates template file for properties.json
6621
+
6622
+ **Kind**: static method of [<code>Init</code>](#Init)
6623
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
6292
6624
  <a name="Init._initMarkets"></a>
6293
6625
 
6294
6626
  ### Init.\_initMarkets()
@@ -6380,6 +6712,7 @@ CLI helper class
6380
6712
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
6381
6713
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
6382
6714
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6715
+ * [.joinProject()](#Init.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
6383
6716
  * [._initMarkets()](#Init._initMarkets)
6384
6717
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
6385
6718
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -6503,6 +6836,13 @@ Creates template file for properties.json
6503
6836
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
6504
6837
  | credentialName | <code>string</code> | identifying name of the installed package / project |
6505
6838
 
6839
+ <a name="Init.joinProject"></a>
6840
+
6841
+ ### Init.joinProject() ⇒ <code>Promise.&lt;void&gt;</code>
6842
+ Creates template file for properties.json
6843
+
6844
+ **Kind**: static method of [<code>Init</code>](#Init)
6845
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
6506
6846
  <a name="Init._initMarkets"></a>
6507
6847
 
6508
6848
  ### Init.\_initMarkets()
@@ -6592,16 +6932,22 @@ Util that contains logger and simple util methods
6592
6932
  * [.signalFatalError()](#Util.signalFatalError) ⇒ <code>void</code>
6593
6933
  * [.isTrue(attrValue)](#Util.isTrue) ⇒ <code>boolean</code>
6594
6934
  * [.isFalse(attrValue)](#Util.isFalse) ⇒ <code>boolean</code>
6595
- * [._isValidType(selectedType)](#Util._isValidType) ⇒ <code>boolean</code>
6935
+ * [._isValidType(selectedType, [handleOutside])](#Util._isValidType) ⇒ <code>boolean</code>
6936
+ * [.getTypeAndSubType(selectedType)](#Util.getTypeAndSubType) ⇒ <code>Array.&lt;string&gt;</code>
6596
6937
  * [.getRetrieveTypeChoices()](#Util.getRetrieveTypeChoices) ⇒ <code>Array.&lt;TYPE.SupportedMetadataTypes&gt;</code>
6597
6938
  * [.metadataLogger(level, type, method, payload, [source])](#Util.metadataLogger) ⇒ <code>void</code>
6598
6939
  * [.replaceByObject(str, obj)](#Util.replaceByObject) ⇒ <code>string</code> \| <code>object</code>
6599
6940
  * [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
6600
- * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Array.&lt;string&gt;</code>
6941
+ * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code>
6601
6942
  * [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
6602
6943
  * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
6603
6944
  * [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
6604
6945
  * [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
6946
+ * [.logBeta(type)](#Util.logBeta)
6947
+ * [.getGrayMsg(msg)](#Util.getGrayMsg) ⇒ <code>string</code>
6948
+ * [.logSubtypes(subTypeArr)](#Util.logSubtypes) ⇒ <code>void</code>
6949
+ * [.getKeysString(keyArr, [isId])](#Util.getKeysString) ⇒ <code>string</code>
6950
+ * [.sleep(ms)](#Util.sleep) ⇒ <code>Promise.&lt;void&gt;</code>
6605
6951
 
6606
6952
  <a name="Util.skipInteraction"></a>
6607
6953
 
@@ -6710,7 +7056,7 @@ SFMC accepts multiple false values for Boolean attributes for which we are check
6710
7056
 
6711
7057
  <a name="Util._isValidType"></a>
6712
7058
 
6713
- ### Util.\_isValidType(selectedType) ⇒ <code>boolean</code>
7059
+ ### Util.\_isValidType(selectedType, [handleOutside]) ⇒ <code>boolean</code>
6714
7060
  helper for [retrieve](#Mcdev.retrieve), [retrieveAsTemplate](#Mcdev.retrieveAsTemplate) and [deploy](#Mcdev.deploy)
6715
7061
 
6716
7062
  **Kind**: static method of [<code>Util</code>](#Util)
@@ -6719,6 +7065,19 @@ helper for [retrieve](#Mcdev.retrieve), [retrieveAsTemplate](#Mcdev.retrieveAsTe
6719
7065
  | Param | Type | Description |
6720
7066
  | --- | --- | --- |
6721
7067
  | selectedType | <code>TYPE.SupportedMetadataTypes</code> | type or type-subtype |
7068
+ | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
7069
+
7070
+ <a name="Util.getTypeAndSubType"></a>
7071
+
7072
+ ### Util.getTypeAndSubType(selectedType) ⇒ <code>Array.&lt;string&gt;</code>
7073
+ helper that deals with extracting type and subtype
7074
+
7075
+ **Kind**: static method of [<code>Util</code>](#Util)
7076
+ **Returns**: <code>Array.&lt;string&gt;</code> - first elem is type, second elem is subType
7077
+
7078
+ | Param | Type | Description |
7079
+ | --- | --- | --- |
7080
+ | selectedType | <code>string</code> | "type" or "type-subtype" |
6722
7081
 
6723
7082
  <a name="Util.getRetrieveTypeChoices"></a>
6724
7083
 
@@ -6771,11 +7130,11 @@ get key of an object based on the first matching value
6771
7130
 
6772
7131
  <a name="Util.getMetadataHierachy"></a>
6773
7132
 
6774
- ### Util.getMetadataHierachy(metadataTypes) ⇒ <code>Array.&lt;string&gt;</code>
7133
+ ### Util.getMetadataHierachy(metadataTypes) ⇒ <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code>
6775
7134
  Returns Order in which metadata needs to be retrieved/deployed
6776
7135
 
6777
7136
  **Kind**: static method of [<code>Util</code>](#Util)
6778
- **Returns**: <code>Array.&lt;string&gt;</code> - retrieve/deploy order as array
7137
+ **Returns**: <code>Object.&lt;string, Array.&lt;string&gt;&gt;</code> - retrieve/deploy order as array
6779
7138
 
6780
7139
  | Param | Type | Description |
6781
7140
  | --- | --- | --- |
@@ -6836,6 +7195,65 @@ configures what is displayed in the console
6836
7195
  | [argv.verbose] | <code>boolean</code> | chatty user CLI output |
6837
7196
  | [argv.debug] | <code>boolean</code> | enables developer output & features |
6838
7197
 
7198
+ <a name="Util.logBeta"></a>
7199
+
7200
+ ### Util.logBeta(type)
7201
+ outputs a warning that the given type is still in beta
7202
+
7203
+ **Kind**: static method of [<code>Util</code>](#Util)
7204
+
7205
+ | Param | Type | Description |
7206
+ | --- | --- | --- |
7207
+ | type | <code>string</code> | api name of the type thats in beta |
7208
+
7209
+ <a name="Util.getGrayMsg"></a>
7210
+
7211
+ ### Util.getGrayMsg(msg) ⇒ <code>string</code>
7212
+ helper that wraps a message in the correct color codes to have them printed gray
7213
+
7214
+ **Kind**: static method of [<code>Util</code>](#Util)
7215
+ **Returns**: <code>string</code> - gray msg
7216
+
7217
+ | Param | Type | Description |
7218
+ | --- | --- | --- |
7219
+ | msg | <code>string</code> | log message that should be wrapped with color codes |
7220
+
7221
+ <a name="Util.logSubtypes"></a>
7222
+
7223
+ ### Util.logSubtypes(subTypeArr) ⇒ <code>void</code>
7224
+ helper to print the subtypes we filtered by
7225
+
7226
+ **Kind**: static method of [<code>Util</code>](#Util)
7227
+
7228
+ | Param | Type | Description |
7229
+ | --- | --- | --- |
7230
+ | subTypeArr | <code>Array.&lt;string&gt;</code> | list of subtypes to be printed |
7231
+
7232
+ <a name="Util.getKeysString"></a>
7233
+
7234
+ ### Util.getKeysString(keyArr, [isId]) ⇒ <code>string</code>
7235
+ helper to print the subtypes we filtered by
7236
+
7237
+ **Kind**: static method of [<code>Util</code>](#Util)
7238
+ **Returns**: <code>string</code> - string to be appended to log message
7239
+
7240
+ | Param | Type | Description |
7241
+ | --- | --- | --- |
7242
+ | keyArr | <code>Array.&lt;string&gt;</code> \| <code>string</code> | list of subtypes to be printed |
7243
+ | [isId] | <code>boolean</code> | optional flag to indicate if key is an id |
7244
+
7245
+ <a name="Util.sleep"></a>
7246
+
7247
+ ### Util.sleep(ms) ⇒ <code>Promise.&lt;void&gt;</code>
7248
+ pause execution of code; useful when multiple server calls are dependent on each other and might not be executed right away
7249
+
7250
+ **Kind**: static method of [<code>Util</code>](#Util)
7251
+ **Returns**: <code>Promise.&lt;void&gt;</code> - - promise to wait for
7252
+
7253
+ | Param | Type | Description |
7254
+ | --- | --- | --- |
7255
+ | ms | <code>number</code> | time in miliseconds to wait |
7256
+
6839
7257
  <a name="csvToArray"></a>
6840
7258
 
6841
7259
  ## csvToArray(csv) ⇒ <code>Array.&lt;string&gt;</code>
@@ -6892,9 +7310,9 @@ initiate winston logger
6892
7310
  object-key=metadata type, value=array of external keys
6893
7311
 
6894
7312
  **Kind**: global typedef
6895
- <a name="Cache"></a>
7313
+ <a name="MetadataTypeItemDiff"></a>
6896
7314
 
6897
- ## Cache : <code>Object.&lt;string, any&gt;</code>
7315
+ ## MetadataTypeItemDiff : <code>Object.&lt;string, any&gt;</code>
6898
7316
  key=customer key
6899
7317
 
6900
7318
  **Kind**: global typedef