mcdev 4.2.1 → 4.3.0

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