mcdev 4.3.3 → 5.0.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 (231) hide show
  1. package/.coverage-comment-template.md +20 -0
  2. package/.coverage-comment-template.svelte +178 -0
  3. package/.eslintrc.json +2 -0
  4. package/.fork/.prettierrc +6 -0
  5. package/.fork/custom-commands.json +13 -1
  6. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  7. package/.github/workflows/code-test.yml +36 -0
  8. package/.github/workflows/coverage-base-update.yml +57 -0
  9. package/.github/workflows/coverage-develop-branch.yml +41 -0
  10. package/.github/workflows/coverage-main-branch.yml +41 -0
  11. package/.github/workflows/coverage.yml +77 -0
  12. package/.husky/post-checkout +1 -1
  13. package/.prettierrc +1 -1
  14. package/.vscode/extensions.json +0 -4
  15. package/boilerplate/config.json +1 -1
  16. package/boilerplate/files/.prettierrc +1 -1
  17. package/boilerplate/files/.vscode/extensions.json +1 -1
  18. package/boilerplate/files/.vscode/settings.json +1 -0
  19. package/boilerplate/forcedUpdates.json +8 -0
  20. package/docs/dist/documentation.md +1261 -433
  21. package/lib/Builder.js +6 -1
  22. package/lib/Deployer.js +34 -10
  23. package/lib/MetadataTypeDefinitions.js +8 -6
  24. package/lib/MetadataTypeInfo.js +8 -6
  25. package/lib/Retriever.js +4 -1
  26. package/lib/cli.js +54 -42
  27. package/lib/index.js +82 -8
  28. package/lib/metadataTypes/Asset.js +185 -31
  29. package/lib/metadataTypes/AttributeGroup.js +0 -1
  30. package/lib/metadataTypes/Automation.js +48 -5
  31. package/lib/metadataTypes/Campaign.js +20 -7
  32. package/lib/metadataTypes/ContentArea.js +1 -1
  33. package/lib/metadataTypes/DataExtension.js +221 -184
  34. package/lib/metadataTypes/DataExtensionField.js +12 -19
  35. package/lib/metadataTypes/DataExtensionTemplate.js +1 -1
  36. package/lib/metadataTypes/DataExtract.js +1 -1
  37. package/lib/metadataTypes/DataExtractType.js +1 -1
  38. package/lib/metadataTypes/Email.js +1 -1
  39. package/lib/metadataTypes/{EmailSendDefinition.js → EmailSend.js} +5 -5
  40. package/lib/metadataTypes/{EventDefinition.js → Event.js} +17 -35
  41. package/lib/metadataTypes/{FtpLocation.js → FileLocation.js} +2 -2
  42. package/lib/metadataTypes/FileTransfer.js +8 -7
  43. package/lib/metadataTypes/Filter.js +1 -1
  44. package/lib/metadataTypes/Folder.js +8 -3
  45. package/lib/metadataTypes/ImportFile.js +6 -6
  46. package/lib/metadataTypes/{Interaction.js → Journey.js} +311 -147
  47. package/lib/metadataTypes/List.js +2 -2
  48. package/lib/metadataTypes/MetadataType.js +318 -90
  49. package/lib/metadataTypes/MobileCode.js +0 -1
  50. package/lib/metadataTypes/MobileKeyword.js +336 -40
  51. package/lib/metadataTypes/MobileMessage.js +473 -0
  52. package/lib/metadataTypes/Query.js +114 -32
  53. package/lib/metadataTypes/Role.js +60 -21
  54. package/lib/metadataTypes/Script.js +5 -7
  55. package/lib/metadataTypes/SendClassification.js +40 -0
  56. package/lib/metadataTypes/SetDefinition.js +1 -7
  57. package/lib/metadataTypes/TransactionalEmail.js +2 -3
  58. package/lib/metadataTypes/TransactionalMessage.js +1 -2
  59. package/lib/metadataTypes/TransactionalSMS.js +8 -15
  60. package/lib/metadataTypes/{TriggeredSendDefinition.js → TriggeredSend.js} +35 -27
  61. package/lib/metadataTypes/User.js +1177 -0
  62. package/lib/metadataTypes/definitions/Asset.definition.js +2 -4
  63. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  64. package/lib/metadataTypes/definitions/Automation.definition.js +3 -2
  65. package/lib/metadataTypes/definitions/Campaign.definition.js +79 -4
  66. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  67. package/lib/metadataTypes/definitions/DataExtension.definition.js +2 -1
  68. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  69. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  70. package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
  71. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  72. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  73. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  74. package/lib/metadataTypes/definitions/{EmailSendDefinition.definition.js → EmailSend.definition.js} +4 -2
  75. package/lib/metadataTypes/definitions/{EventDefinition.definition.js → Event.definition.js} +2 -1
  76. package/lib/metadataTypes/definitions/{FtpLocation.definition.js → FileLocation.definition.js} +4 -3
  77. package/lib/metadataTypes/definitions/FileTransfer.definition.js +3 -2
  78. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  79. package/lib/metadataTypes/definitions/Folder.definition.js +2 -0
  80. package/lib/metadataTypes/definitions/ImportFile.definition.js +4 -3
  81. package/lib/metadataTypes/definitions/{Interaction.definition.js → Journey.definition.js} +11 -2
  82. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  83. package/lib/metadataTypes/definitions/MobileCode.definition.js +3 -1
  84. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +27 -17
  85. package/lib/metadataTypes/definitions/MobileMessage.definition.js +743 -0
  86. package/lib/metadataTypes/definitions/Query.definition.js +3 -2
  87. package/lib/metadataTypes/definitions/Role.definition.js +5 -0
  88. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  89. package/lib/metadataTypes/definitions/SendClassification.definition.js +114 -0
  90. package/lib/metadataTypes/definitions/SetDefinition.definition.js +1 -0
  91. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +2 -1
  92. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +1 -0
  93. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +1 -0
  94. package/lib/metadataTypes/definitions/{TriggeredSendDefinition.definition.js → TriggeredSend.definition.js} +5 -3
  95. package/lib/metadataTypes/definitions/User.definition.js +365 -0
  96. package/lib/retrieveChangelog.js +1 -2
  97. package/lib/util/auth.js +29 -9
  98. package/lib/util/businessUnit.js +3 -3
  99. package/lib/util/cli.js +55 -7
  100. package/lib/util/devops.js +93 -8
  101. package/lib/util/file.js +55 -13
  102. package/lib/util/init.config.js +1 -2
  103. package/lib/util/init.npm.js +3 -3
  104. package/lib/util/util.js +68 -14
  105. package/package.json +16 -15
  106. package/test/general.test.js +62 -0
  107. package/test/mockRoot/.mcdevrc.json +7 -5
  108. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testBlocked_user.user-meta.json +23 -0
  109. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testExisting_user.user-meta.json +31 -0
  110. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testNew_user.user-meta.json +27 -0
  111. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/{childBU_dataextension_test.dataExtension-meta.json → testExisting_dataExtension.dataExtension-meta.json} +2 -2
  112. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/{testDataExtension.dataExtension-meta.json → testNew_dataExtension.dataExtension-meta.json} +2 -2
  113. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_interaction.interaction-meta.json +576 -0
  114. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword.mobileKeyword-meta.amp +2 -0
  115. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword.mobileKeyword-meta.json +10 -0
  116. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword_blocked.mobileKeyword-meta.amp +2 -0
  117. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword_blocked.mobileKeyword-meta.json +10 -0
  118. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.amp +1 -0
  119. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.json +61 -0
  120. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.amp +1 -0
  121. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.json +60 -0
  122. package/test/mockRoot/deploy/testInstance/testBU/query/testExistingQuery.query-meta.json +1 -1
  123. package/test/mockRoot/deploy/testInstance/testBU/query/testNewQuery.query-meta.json +1 -1
  124. package/test/mockRoot/deploy/testInstance/testBU/query/testNewQuery.query-meta.sql +1 -1
  125. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +1 -1
  126. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -1
  127. package/test/resourceFactory.js +13 -0
  128. package/test/resources/1111111/accountUser/configure-response.xml +70 -0
  129. package/test/resources/1111111/accountUser/create-response.xml +97 -0
  130. package/test/resources/1111111/accountUser/retrieve-response.xml +156 -0
  131. package/test/resources/1111111/accountUser/update-response.xml +111 -0
  132. package/test/resources/1111111/accountUserAccount/retrieve-response.xml +77 -0
  133. package/test/resources/1111111/platform/v1/setup/quickflow/data/get-response.json +455 -0
  134. package/test/resources/1111111/role/retrieve-response.xml +76 -0
  135. package/test/resources/1111111/user/build-expected.json +16 -0
  136. package/test/resources/1111111/user/create-expected.json +21 -0
  137. package/test/resources/1111111/user/retrieve-expected.json +24 -0
  138. package/test/resources/1111111/user/template-expected.json +16 -0
  139. package/test/resources/1111111/user/update-expected.json +21 -0
  140. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/delete-response.json +1 -0
  141. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +17 -0
  142. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +3 -3
  143. package/test/resources/9999999/automation/v1/queries/get-response.json +21 -4
  144. package/test/resources/9999999/automation/v1/queries/post-response.json +4 -4
  145. package/test/resources/9999999/data/v1/customobjectdata/key/{childBU_dataextension_test → testExisting_dataExtension}/rowset/get-response.json +1 -1
  146. package/test/resources/9999999/dataExtension/build-expected.json +3 -3
  147. package/test/resources/9999999/dataExtension/create-expected.json +2 -2
  148. package/test/resources/9999999/dataExtension/create-response.xml +8 -3
  149. package/test/resources/9999999/dataExtension/retrieve-expected.json +3 -3
  150. package/test/resources/9999999/dataExtension/retrieve-response.xml +9 -4
  151. package/test/resources/9999999/dataExtension/template-expected.json +3 -3
  152. package/test/resources/9999999/dataExtension/update-expected.json +3 -3
  153. package/test/resources/9999999/dataExtension/update-response.xml +9 -4
  154. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +14 -9
  155. package/test/resources/9999999/interaction/v1/interactions/get-response.json +312 -0
  156. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +312 -0
  157. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/put-response.json +592 -0
  158. package/test/resources/9999999/journey/build-expected.json +572 -0
  159. package/test/resources/9999999/journey/get-expected.json +576 -0
  160. package/test/resources/9999999/journey/put-expected.json +576 -0
  161. package/test/resources/9999999/journey/template-expected.json +572 -0
  162. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/NXV4ZFMwTEFwRVczd3RaLUF5X3p5dzo4Njow/get-response.json +42 -0
  163. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/cTVJaG5oSDJPVUNHcUh6Z3pQT2tVdzo4Njow/delete-response.json +0 -0
  164. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +1 -0
  165. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/post-response.json +3 -0
  166. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/delete-response.json +0 -0
  167. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/get-response.json +106 -0
  168. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/post-response.json +0 -0
  169. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTQ3Ojc4OjA/get-response.json +127 -0
  170. package/test/resources/9999999/legacy/v1/beta/mobile/message/get-response.json +129 -0
  171. package/test/resources/9999999/legacy/v1/beta/mobile/message/post-response.json +3 -0
  172. package/test/resources/9999999/legacy/v1/beta2/data/campaign/get-response.json +29 -0
  173. package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
  174. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +1 -1
  175. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +1 -1
  176. package/test/resources/9999999/mobileKeyword/build-expected.amp +2 -0
  177. package/test/resources/9999999/mobileKeyword/build-expected.json +9 -0
  178. package/test/resources/9999999/mobileKeyword/get-expected.amp +2 -0
  179. package/test/resources/9999999/mobileKeyword/get-expected.json +15 -0
  180. package/test/resources/9999999/mobileKeyword/post-create-expected.amp +2 -0
  181. package/test/resources/9999999/mobileKeyword/post-create-expected.json +17 -0
  182. package/test/resources/9999999/mobileKeyword/template-expected.amp +2 -0
  183. package/test/resources/9999999/mobileKeyword/template-expected.json +9 -0
  184. package/test/resources/9999999/mobileMessage/build-expected.amp +1 -0
  185. package/test/resources/9999999/mobileMessage/build-expected.json +60 -0
  186. package/test/resources/9999999/mobileMessage/get-expected.amp +1 -0
  187. package/test/resources/9999999/mobileMessage/get-expected.json +61 -0
  188. package/test/resources/9999999/mobileMessage/post-create-expected.amp +1 -0
  189. package/test/resources/9999999/mobileMessage/post-create-expected.json +63 -0
  190. package/test/resources/9999999/mobileMessage/post-update-expected.amp +1 -0
  191. package/test/resources/9999999/mobileMessage/post-update-expected.json +61 -0
  192. package/test/resources/9999999/mobileMessage/template-expected.amp +1 -0
  193. package/test/resources/9999999/mobileMessage/template-expected.json +60 -0
  194. package/test/resources/9999999/query/build-expected.json +1 -1
  195. package/test/resources/9999999/query/get-expected.json +1 -1
  196. package/test/resources/9999999/query/get2-expected.json +11 -0
  197. package/test/resources/9999999/query/patch-expected.json +1 -1
  198. package/test/resources/9999999/query/post-expected.json +1 -1
  199. package/test/resources/9999999/query/template-expected.json +1 -1
  200. package/test/resources/9999999/queryDefinition/retrieve-response.xml +30 -0
  201. package/test/resources/9999999/transactionalEmail/build-expected.json +5 -5
  202. package/test/resources/9999999/transactionalEmail/get-expected.json +1 -1
  203. package/test/resources/9999999/transactionalEmail/patch-expected.json +1 -1
  204. package/test/resources/9999999/transactionalEmail/post-expected.json +1 -1
  205. package/test/resources/9999999/transactionalEmail/template-expected.json +5 -5
  206. package/test/resources/9999999/transactionalPush/build-expected.json +2 -2
  207. package/test/resources/9999999/transactionalPush/template-expected.json +2 -2
  208. package/test/resources/9999999/transactionalSMS/build-expected.json +3 -3
  209. package/test/resources/9999999/transactionalSMS/template-expected.json +3 -3
  210. package/test/{dataExtension.test.js → type.dataExtension.test.js} +78 -21
  211. package/test/{interaction.test.js → type.journey.test.js} +64 -30
  212. package/test/type.mobileKeyword.test.js +250 -0
  213. package/test/type.mobileMessage.test.js +205 -0
  214. package/test/{query.test.js → type.query.test.js} +102 -5
  215. package/test/{transactionalEmail.test.js → type.transactionalEmail.test.js} +40 -2
  216. package/test/{transactionalPush.test.js → type.transactionalPush.test.js} +41 -2
  217. package/test/{transactionalSMS.test.js → type.transactionalSMS.test.js} +73 -3
  218. package/test/type.user.test.js +160 -0
  219. package/test/utils.js +17 -5
  220. package/types/mcdev.d.js +48 -15
  221. package/.github/workflows/code-analysis.yml +0 -57
  222. package/lib/metadataTypes/AccountUser.js +0 -426
  223. package/lib/metadataTypes/definitions/AccountUser.definition.js +0 -227
  224. package/test/mockRoot/deploy/testInstance/testBU/interaction/testExisting_interaction.interaction-meta.json +0 -266
  225. package/test/resources/9999999/interaction/build-expected.json +0 -260
  226. package/test/resources/9999999/interaction/get-expected.json +0 -264
  227. package/test/resources/9999999/interaction/put-expected.json +0 -264
  228. package/test/resources/9999999/interaction/template-expected.json +0 -260
  229. package/test/resources/9999999/interaction/v1/interactions/put-response.json +0 -280
  230. /package/test/mockRoot/deploy/testInstance/testBU/{interaction → journey}/testNew_interaction.interaction-meta.json +0 -0
  231. /package/test/resources/9999999/{interaction → journey}/post-expected.json +0 -0
@@ -11,9 +11,6 @@ Source and target business units are also compared before the deployment to appl
11
11
  <dt><a href="#Mcdev">Mcdev</a></dt>
12
12
  <dd><p>main class</p>
13
13
  </dd>
14
- <dt><a href="#AccountUser">AccountUser</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
15
- <dd><p>MessageSendActivity MetadataType</p>
16
- </dd>
17
14
  <dt><a href="#Asset">Asset</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
18
15
  <dd><p>FileTransfer MetadataType</p>
19
16
  </dd>
@@ -52,11 +49,14 @@ as this is a configuration in the EID</p>
52
49
  <dt><a href="#Email">Email</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
53
50
  <dd><p>Email MetadataType</p>
54
51
  </dd>
55
- <dt><a href="#EmailSendDefinition">EmailSendDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
52
+ <dt><a href="#EmailSend">EmailSend</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
56
53
  <dd><p>MessageSendActivity MetadataType</p>
57
54
  </dd>
58
- <dt><a href="#EventDefinition">EventDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
59
- <dd><p>EventDefinition MetadataType</p>
55
+ <dt><a href="#Event">Event</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
56
+ <dd><p>Event MetadataType</p>
57
+ </dd>
58
+ <dt><a href="#FtpLocation">FtpLocation</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
59
+ <dd><p>ImportFile MetadataType</p>
60
60
  </dd>
61
61
  <dt><a href="#FileTransfer">FileTransfer</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
62
62
  <dd><p>FileTransfer MetadataType</p>
@@ -67,14 +67,11 @@ as this is a configuration in the EID</p>
67
67
  <dt><a href="#Folder">Folder</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
68
68
  <dd><p>Folder MetadataType</p>
69
69
  </dd>
70
- <dt><a href="#FtpLocation">FtpLocation</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
71
- <dd><p>ImportFile MetadataType</p>
72
- </dd>
73
70
  <dt><a href="#ImportFile">ImportFile</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
74
71
  <dd><p>ImportFile MetadataType</p>
75
72
  </dd>
76
- <dt><a href="#Interaction">Interaction</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
77
- <dd><p>Interaction MetadataType
73
+ <dt><a href="#Journey">Journey</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
74
+ <dd><p>Journey MetadataType
78
75
  ! 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
76
  id: A unique id of the journey assigned by the journey’s API during its creation
80
77
  key: A unique id of the journey within the MID. Can be generated by the developer
@@ -93,6 +90,9 @@ Provides default functionality that can be overwritten by child metadata type cl
93
90
  <dt><a href="#MobileKeyword">MobileKeyword</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
94
91
  <dd><p>MobileKeyword MetadataType</p>
95
92
  </dd>
93
+ <dt><a href="#MobileMessage">MobileMessage</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
94
+ <dd><p>MobileMessage MetadataType</p>
95
+ </dd>
96
96
  <dt><a href="#Query">Query</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
97
97
  <dd><p>Query MetadataType</p>
98
98
  </dd>
@@ -102,6 +102,9 @@ Provides default functionality that can be overwritten by child metadata type cl
102
102
  <dt><a href="#Script">Script</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
103
103
  <dd><p>Script MetadataType</p>
104
104
  </dd>
105
+ <dt><a href="#SendClassification">SendClassification</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
106
+ <dd><p>SendClassification MetadataType</p>
107
+ </dd>
105
108
  <dt><a href="#SetDefinition">SetDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
106
109
  <dd><p>SetDefinition MetadataType</p>
107
110
  </dd>
@@ -117,9 +120,12 @@ Provides default functionality that can be overwritten by child metadata type cl
117
120
  <dt><a href="#TransactionalSMS">TransactionalSMS</a> ⇐ <code><a href="#TransactionalMessage">TransactionalMessage</a></code></dt>
118
121
  <dd><p>TransactionalSMS MetadataType</p>
119
122
  </dd>
120
- <dt><a href="#TriggeredSendDefinition">TriggeredSendDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
123
+ <dt><a href="#TriggeredSend">TriggeredSend</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
121
124
  <dd><p>MessageSendActivity MetadataType</p>
122
125
  </dd>
126
+ <dt><a href="#User">User</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
127
+ <dd><p>MetadataType</p>
128
+ </dd>
123
129
  <dt><a href="#Retriever">Retriever</a></dt>
124
130
  <dd><p>Retrieves metadata from a business unit and saves it to the local filesystem.</p>
125
131
  </dd>
@@ -216,7 +222,10 @@ Provides default functionality that can be overwritten by child metadata type cl
216
222
  <dd></dd>
217
223
  <dt><a href="#DataExtensionMap">DataExtensionMap</a> : <code>object</code></dt>
218
224
  <dd></dd>
219
- <dt><a href="#AccountUserDocument">AccountUserDocument</a> : <code>object</code></dt>
225
+ <dt><a href="#UserDocumentMap">UserDocumentMap</a> : <code>object</code></dt>
226
+ <dd><p>key=customer key</p>
227
+ </dd>
228
+ <dt><a href="#BusinessUnitAssignmentConfiguration">BusinessUnitAssignmentConfiguration</a> : <code>object</code></dt>
220
229
  <dd></dd>
221
230
  <dt><a href="#AutomationActivity">AutomationActivity</a> : <code>object</code></dt>
222
231
  <dd></dd>
@@ -362,7 +371,7 @@ Source and target business units are also compared before the deployment to appl
362
371
  * [new Deployer(properties, buObject)](#new_Deployer_new)
363
372
  * _instance_
364
373
  * [.metadata](#Deployer+metadata) : <code>TYPE.MultiMetadataTypeMap</code>
365
- * [._deploy([typeArr], [keyArr], [fromRetrieve])](#Deployer+_deploy) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeMap&gt;</code>
374
+ * [._deploy([typeArr], [keyArr], [fromRetrieve], [isRefresh])](#Deployer+_deploy) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeMap&gt;</code>
366
375
  * _static_
367
376
  * [.deploy(businessUnit, [selectedTypesArr], [keyArr], [fromRetrieve])](#Deployer.deploy) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.MultiMetadataTypeMap&gt;&gt;</code>
368
377
  * [._deployBU(cred, bu, properties, [typeArr], [keyArr], [fromRetrieve])](#Deployer._deployBU) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeMap&gt;</code>
@@ -386,7 +395,7 @@ Creates a Deployer, uses v2 auth if v2AuthOptions are passed.
386
395
  **Kind**: instance property of [<code>Deployer</code>](#Deployer)
387
396
  <a name="Deployer+_deploy"></a>
388
397
 
389
- ### deployer.\_deploy([typeArr], [keyArr], [fromRetrieve]) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeMap&gt;</code>
398
+ ### deployer.\_deploy([typeArr], [keyArr], [fromRetrieve], [isRefresh]) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeMap&gt;</code>
390
399
  Deploy all metadata that is located in the deployDir
391
400
 
392
401
  **Kind**: instance method of [<code>Deployer</code>](#Deployer)
@@ -397,6 +406,7 @@ Deploy all metadata that is located in the deployDir
397
406
  | [typeArr] | <code>Array.&lt;TYPE.SupportedMetadataTypes&gt;</code> | limit deployment to given metadata type (can include subtype) |
398
407
  | [keyArr] | <code>Array.&lt;string&gt;</code> | limit deployment to given metadata keys |
399
408
  | [fromRetrieve] | <code>boolean</code> | if true, no folders will be updated/created |
409
+ | [isRefresh] | <code>boolean</code> | optional flag to indicate that triggeredSend should be refreshed after deployment of assets |
400
410
 
401
411
  <a name="Deployer.deploy"></a>
402
412
 
@@ -467,9 +477,10 @@ main class
467
477
  * [Mcdev](#Mcdev)
468
478
  * [.setSkipInteraction([skipInteraction])](#Mcdev.setSkipInteraction) ⇒ <code>void</code>
469
479
  * [.setLoggingLevel(argv)](#Mcdev.setLoggingLevel) ⇒ <code>void</code>
480
+ * [.setOptions(argv)](#Mcdev.setOptions) ⇒ <code>void</code>
470
481
  * [.createDeltaPkg(argv)](#Mcdev.createDeltaPkg) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
471
482
  * [.selectTypes()](#Mcdev.selectTypes) ⇒ <code>Promise</code>
472
- * [.explainTypes()](#Mcdev.explainTypes) ⇒ <code>void</code>
483
+ * [.explainTypes()](#Mcdev.explainTypes) ⇒ <code>Array.&lt;object&gt;</code>
473
484
  * [.upgrade()](#Mcdev.upgrade) ⇒ <code>Promise.&lt;boolean&gt;</code>
474
485
  * [.retrieve(businessUnit, [selectedTypesArr], [keys], [changelogOnly])](#Mcdev.retrieve) ⇒ <code>Promise.&lt;object&gt;</code>
475
486
  * [.deploy(businessUnit, [selectedTypesArr], [keyArr], [fromRetrieve])](#Mcdev.deploy) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.MultiMetadataTypeMap&gt;&gt;</code>
@@ -477,7 +488,7 @@ main class
477
488
  * [.joinProject()](#Mcdev.joinProject) ⇒ <code>Promise.&lt;void&gt;</code>
478
489
  * [.findBUs(credentialsName)](#Mcdev.findBUs) ⇒ <code>Promise.&lt;void&gt;</code>
479
490
  * [.document(businessUnit, type)](#Mcdev.document) ⇒ <code>Promise.&lt;void&gt;</code>
480
- * [.deleteByKey(businessUnit, type, customerKey)](#Mcdev.deleteByKey) ⇒ <code>Promise.&lt;void&gt;</code>
491
+ * [.deleteByKey(businessUnit, type, customerKey)](#Mcdev.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
481
492
  * [.refresh(businessUnit, type, [keyArr])](#Mcdev.refresh) ⇒ <code>Promise.&lt;void&gt;</code>
482
493
  * [.badKeys(businessUnit)](#Mcdev.badKeys) ⇒ <code>Promise.&lt;void&gt;</code>
483
494
  * [.retrieveAsTemplate(businessUnit, selectedType, name, market)](#Mcdev.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MultiMetadataTypeList&gt;</code>
@@ -511,6 +522,17 @@ configures what is displayed in the console
511
522
  | [argv.verbose] | <code>boolean</code> | chatty user CLI output |
512
523
  | [argv.debug] | <code>boolean</code> | enables developer output & features |
513
524
 
525
+ <a name="Mcdev.setOptions"></a>
526
+
527
+ ### Mcdev.setOptions(argv) ⇒ <code>void</code>
528
+ allows setting system wide / command related options
529
+
530
+ **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
531
+
532
+ | Param | Type | Description |
533
+ | --- | --- | --- |
534
+ | argv | <code>object</code> | list of command line parameters given by user |
535
+
514
536
  <a name="Mcdev.createDeltaPkg"></a>
515
537
 
516
538
  ### Mcdev.createDeltaPkg(argv) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
@@ -533,8 +555,9 @@ handler for 'mcdev createDeltaPkg
533
555
  **Returns**: <code>Promise</code> - .
534
556
  <a name="Mcdev.explainTypes"></a>
535
557
 
536
- ### Mcdev.explainTypes() ⇒ <code>void</code>
558
+ ### Mcdev.explainTypes() ⇒ <code>Array.&lt;object&gt;</code>
537
559
  **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
560
+ **Returns**: <code>Array.&lt;object&gt;</code> - list of supported types with their apiNames
538
561
  <a name="Mcdev.upgrade"></a>
539
562
 
540
563
  ### Mcdev.upgrade() ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -616,11 +639,11 @@ Creates docs for supported metadata types in Markdown and/or HTML format
616
639
 
617
640
  <a name="Mcdev.deleteByKey"></a>
618
641
 
619
- ### Mcdev.deleteByKey(businessUnit, type, customerKey) ⇒ <code>Promise.&lt;void&gt;</code>
642
+ ### Mcdev.deleteByKey(businessUnit, type, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
620
643
  deletes metadata from MC instance by key
621
644
 
622
645
  **Kind**: static method of [<code>Mcdev</code>](#Mcdev)
623
- **Returns**: <code>Promise.&lt;void&gt;</code> - -
646
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - true if successful, false otherwise
624
647
 
625
648
  | Param | Type | Description |
626
649
  | --- | --- | --- |
@@ -725,79 +748,6 @@ Build a specific metadata file based on a template using a list of bu-market com
725
748
  | selectedType | <code>string</code> | supported metadata type |
726
749
  | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
727
750
 
728
- <a name="AccountUser"></a>
729
-
730
- ## AccountUser ⇐ [<code>MetadataType</code>](#MetadataType)
731
- MessageSendActivity MetadataType
732
-
733
- **Kind**: global class
734
- **Extends**: [<code>MetadataType</code>](#MetadataType)
735
-
736
- * [AccountUser](#AccountUser) ⇐ [<code>MetadataType</code>](#MetadataType)
737
- * [.retrieve(retrieveDir, _, [__], [key])](#AccountUser.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
738
- * [.retrieveChangelog()](#AccountUser.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
739
- * [.document([metadata])](#AccountUser.document) ⇒ <code>Promise.&lt;void&gt;</code>
740
- * [.postRetrieveTasks(metadata)](#AccountUser.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
741
- * [.parseMetadata(metadata)](#AccountUser.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
742
-
743
- <a name="AccountUser.retrieve"></a>
744
-
745
- ### AccountUser.retrieve(retrieveDir, _, [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
746
- Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
747
-
748
- **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
749
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
750
-
751
- | Param | Type | Description |
752
- | --- | --- | --- |
753
- | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
754
- | _ | <code>void</code> | unused parameter |
755
- | [__] | <code>void</code> | unused parameter |
756
- | [key] | <code>string</code> | customer key of single item to retrieve |
757
-
758
- <a name="AccountUser.retrieveChangelog"></a>
759
-
760
- ### AccountUser.retrieveChangelog() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
761
- Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
762
-
763
- **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
764
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
765
- <a name="AccountUser.document"></a>
766
-
767
- ### AccountUser.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
768
- Creates markdown documentation of all roles
769
-
770
- **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
771
- **Returns**: <code>Promise.&lt;void&gt;</code> - -
772
-
773
- | Param | Type | Description |
774
- | --- | --- | --- |
775
- | [metadata] | <code>TYPE.MetadataTypeMap</code> | user list |
776
-
777
- <a name="AccountUser.postRetrieveTasks"></a>
778
-
779
- ### AccountUser.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
780
- manages post retrieve steps
781
-
782
- **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
783
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one query string
784
-
785
- | Param | Type | Description |
786
- | --- | --- | --- |
787
- | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
788
-
789
- <a name="AccountUser.parseMetadata"></a>
790
-
791
- ### AccountUser.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
792
- parses retrieved Metadata before saving
793
-
794
- **Kind**: static method of [<code>AccountUser</code>](#AccountUser)
795
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one sql string
796
-
797
- | Param | Type | Description |
798
- | --- | --- | --- |
799
- | metadata | <code>TYPE.MetadataTypeItem</code> | a single query activity definition |
800
-
801
751
  <a name="Asset"></a>
802
752
 
803
753
  ## Asset ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -817,6 +767,7 @@ FileTransfer MetadataType
817
767
  * [._retrieveExtendedFile(metadata, subType, retrieveDir)](#Asset._retrieveExtendedFile) ⇒ <code>Promise.&lt;void&gt;</code>
818
768
  * [._readExtendedFileFromFS(metadata, subType, deployDir, [pathOnly])](#Asset._readExtendedFileFromFS) ⇒ <code>Promise.&lt;string&gt;</code>
819
769
  * [.postRetrieveTasks(metadata)](#Asset.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
770
+ * [.postDeployTasks(metadata, _, createdUpdated, [isRefresh])](#Asset.postDeployTasks) ⇒ <code>Promise.&lt;void&gt;</code>
820
771
  * [.preDeployTasks(metadata, deployDir)](#Asset.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
821
772
  * [._getMainSubtype(extendedSubType)](#Asset._getMainSubtype) ⇒ <code>string</code>
822
773
  * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Asset.buildDefinitionForNested) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -975,6 +926,21 @@ manages post retrieve steps
975
926
  | --- | --- | --- |
976
927
  | metadata | <code>TYPE.AssetItem</code> | a single asset |
977
928
 
929
+ <a name="Asset.postDeployTasks"></a>
930
+
931
+ ### Asset.postDeployTasks(metadata, _, createdUpdated, [isRefresh]) ⇒ <code>Promise.&lt;void&gt;</code>
932
+ Gets executed after deployment of metadata type
933
+
934
+ **Kind**: static method of [<code>Asset</code>](#Asset)
935
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
936
+
937
+ | Param | Type | Description |
938
+ | --- | --- | --- |
939
+ | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
940
+ | _ | <code>TYPE.MetadataTypeMap</code> | originalMetadata to be updated (contains additioanl fields) |
941
+ | createdUpdated | <code>Object</code> | counter representing successful creates/updates |
942
+ | [isRefresh] | <code>boolean</code> | optional flag to indicate that triggeredSend should be refreshed after deployment of assets |
943
+
978
944
  <a name="Asset.preDeployTasks"></a>
979
945
 
980
946
  ### Asset.preDeployTasks(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.AssetItem&gt;</code>
@@ -1241,7 +1207,7 @@ Automation MetadataType
1241
1207
  * [.retrieveForCache()](#Automation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.AutomationMapObj&gt;</code>
1242
1208
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Automation.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.AutomationItemObj&gt;</code>
1243
1209
  * [.postRetrieveTasks(metadata)](#Automation.postRetrieveTasks) ⇒ <code>TYPE.AutomationItem</code>
1244
- * [.deploy(metadata, targetBU, retrieveDir)](#Automation.deploy) ⇒ <code>Promise.&lt;TYPE.AutomationMap&gt;</code>
1210
+ * [.deploy(metadata, targetBU, retrieveDir, [isRefresh])](#Automation.deploy) ⇒ <code>Promise.&lt;TYPE.AutomationMap&gt;</code>
1245
1211
  * [.create(metadata)](#Automation.create) ⇒ <code>Promise</code>
1246
1212
  * [.update(metadata, metadataBefore)](#Automation.update) ⇒ <code>Promise</code>
1247
1213
  * [.preDeployTasks(metadata)](#Automation.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.AutomationItem&gt;</code>
@@ -1254,6 +1220,8 @@ Automation MetadataType
1254
1220
  * [._calcTime(offsetServer, dateInput, [offsetInput])](#Automation._calcTime) ⇒ <code>string</code>
1255
1221
  * [.document([metadata])](#Automation.document) ⇒ <code>Promise.&lt;void&gt;</code>
1256
1222
  * [.getFilesToCommit(keyArr)](#Automation.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
1223
+ * [.deleteByKey(customerKey)](#Automation.deleteByKey) ⇒ <code>boolean</code>
1224
+ * [.postDeleteTasks(customerKey)](#Automation.postDeleteTasks) ⇒ <code>void</code>
1257
1225
 
1258
1226
  <a name="Automation.retrieve"></a>
1259
1227
 
@@ -1312,7 +1280,7 @@ manages post retrieve steps
1312
1280
 
1313
1281
  <a name="Automation.deploy"></a>
1314
1282
 
1315
- ### Automation.deploy(metadata, targetBU, retrieveDir) ⇒ <code>Promise.&lt;TYPE.AutomationMap&gt;</code>
1283
+ ### Automation.deploy(metadata, targetBU, retrieveDir, [isRefresh]) ⇒ <code>Promise.&lt;TYPE.AutomationMap&gt;</code>
1316
1284
  Deploys automation - the saved file is the original one due to large differences required for deployment
1317
1285
 
1318
1286
  **Kind**: static method of [<code>Automation</code>](#Automation)
@@ -1323,6 +1291,7 @@ Deploys automation - the saved file is the original one due to large differences
1323
1291
  | metadata | <code>TYPE.AutomationMap</code> | metadata mapped by their keyField |
1324
1292
  | targetBU | <code>string</code> | name/shorthand of target businessUnit for mapping |
1325
1293
  | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
1294
+ | [isRefresh] | <code>boolean</code> | optional flag - so far not used by automation |
1326
1295
 
1327
1296
  <a name="Automation.create"></a>
1328
1297
 
@@ -1473,6 +1442,29 @@ additionally, the documentation for dataExtension and automation should be retur
1473
1442
  | --- | --- | --- |
1474
1443
  | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
1475
1444
 
1445
+ <a name="Automation.deleteByKey"></a>
1446
+
1447
+ ### Automation.deleteByKey(customerKey) ⇒ <code>boolean</code>
1448
+ Delete a metadata item from the specified business unit
1449
+
1450
+ **Kind**: static method of [<code>Automation</code>](#Automation)
1451
+ **Returns**: <code>boolean</code> - deletion success status
1452
+
1453
+ | Param | Type | Description |
1454
+ | --- | --- | --- |
1455
+ | customerKey | <code>string</code> | Identifier of data extension |
1456
+
1457
+ <a name="Automation.postDeleteTasks"></a>
1458
+
1459
+ ### Automation.postDeleteTasks(customerKey) ⇒ <code>void</code>
1460
+ clean up after deleting a metadata item
1461
+
1462
+ **Kind**: static method of [<code>Automation</code>](#Automation)
1463
+
1464
+ | Param | Type | Description |
1465
+ | --- | --- | --- |
1466
+ | customerKey | <code>string</code> | Identifier of metadata item |
1467
+
1476
1468
  <a name="Campaign"></a>
1477
1469
 
1478
1470
  ## Campaign ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -1483,7 +1475,8 @@ Campaign MetadataType
1483
1475
 
1484
1476
  * [Campaign](#Campaign) ⇐ [<code>MetadataType</code>](#MetadataType)
1485
1477
  * [.retrieve(retrieveDir, [_], [__], [key])](#Campaign.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1486
- * [.getAssetTags(retrieveDir, id, name)](#Campaign.getAssetTags) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1478
+ * [.retrieveForCache()](#Campaign.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1479
+ * [.getAssetTags(retrieveDir, campaignId, name)](#Campaign.getAssetTags) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1487
1480
 
1488
1481
  <a name="Campaign.retrieve"></a>
1489
1482
 
@@ -1500,9 +1493,16 @@ Retrieves Metadata of campaigns. Afterwards, starts metadata retrieval for their
1500
1493
  | [__] | <code>void</code> | unused parameter |
1501
1494
  | [key] | <code>string</code> | customer key of single item to retrieve |
1502
1495
 
1496
+ <a name="Campaign.retrieveForCache"></a>
1497
+
1498
+ ### Campaign.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1499
+ Retrieves event definition metadata for caching
1500
+
1501
+ **Kind**: static method of [<code>Campaign</code>](#Campaign)
1502
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
1503
1503
  <a name="Campaign.getAssetTags"></a>
1504
1504
 
1505
- ### Campaign.getAssetTags(retrieveDir, id, name) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1505
+ ### Campaign.getAssetTags(retrieveDir, campaignId, name) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
1506
1506
  Parses campaign asset response body and returns metadata entries mapped to their id
1507
1507
 
1508
1508
  **Kind**: static method of [<code>Campaign</code>](#Campaign)
@@ -1511,7 +1511,7 @@ Parses campaign asset response body and returns metadata entries mapped to their
1511
1511
  | Param | Type | Description |
1512
1512
  | --- | --- | --- |
1513
1513
  | retrieveDir | <code>string</code> | folder where to save |
1514
- | id | <code>string</code> | of camapaign to retrieve |
1514
+ | campaignId | <code>string</code> | of camapaign to retrieve |
1515
1515
  | name | <code>string</code> | of camapaign for saving |
1516
1516
 
1517
1517
  <a name="ContentArea"></a>
@@ -1587,18 +1587,18 @@ DataExtension MetadataType
1587
1587
  **Extends**: [<code>MetadataType</code>](#MetadataType)
1588
1588
 
1589
1589
  * [DataExtension](#DataExtension) ⇐ [<code>MetadataType</code>](#MetadataType)
1590
- * [.upsert(desToDeploy)](#DataExtension.upsert) ⇒ <code>Promise</code>
1591
- * [._filterUpsertResults(res)](#DataExtension._filterUpsertResults) ⇒ <code>boolean</code>
1590
+ * [.upsert(metadataMap)](#DataExtension.upsert) ⇒ <code>Promise</code>
1591
+ * [.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#DataExtension.createOrUpdate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
1592
1592
  * [.create(metadata)](#DataExtension.create) ⇒ <code>Promise</code>
1593
1593
  * [.update(metadata)](#DataExtension.update) ⇒ <code>Promise</code>
1594
- * [.postDeployTasks(upsertedMetadata, originalMetadata)](#DataExtension.postDeployTasks) ⇒ <code>void</code>
1594
+ * [.postDeployTasks(upsertedMetadata, originalMetadata, createdUpdated)](#DataExtension.postDeployTasks) ⇒ <code>void</code>
1595
1595
  * [.retrieve(retrieveDir, [additionalFields], [_], [key])](#DataExtension.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1596
1596
  * [.retrieveChangelog([additionalFields])](#DataExtension.retrieveChangelog) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1597
1597
  * [.postRetrieveTasks(metadata)](#DataExtension.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionItem</code>
1598
1598
  * [.preDeployTasks(metadata)](#DataExtension.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.DataExtensionItem&gt;</code>
1599
- * [.document([metadata])](#DataExtension.document) ⇒ <code>Promise.&lt;void&gt;</code>
1599
+ * [.document([metadataMap])](#DataExtension.document) ⇒ <code>Promise.&lt;void&gt;</code>
1600
1600
  * [.deleteByKey(customerKey)](#DataExtension.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1601
- * [.postDeleteTasks(customerKey)](#DataExtension.postDeleteTasks) ⇒ <code>void</code>
1601
+ * [.postDeleteTasks(customerKey)](#DataExtension.postDeleteTasks) ⇒ <code>Promise.&lt;void&gt;</code>
1602
1602
  * [.retrieveForCache()](#DataExtension.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1603
1603
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#DataExtension.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: TYPE.DataExtensionMap, type: string}&gt;</code>
1604
1604
  * [.setFolderPath(metadata)](#DataExtension.setFolderPath)
@@ -1606,7 +1606,7 @@ DataExtension MetadataType
1606
1606
 
1607
1607
  <a name="DataExtension.upsert"></a>
1608
1608
 
1609
- ### DataExtension.upsert(desToDeploy) ⇒ <code>Promise</code>
1609
+ ### DataExtension.upsert(metadataMap) ⇒ <code>Promise</code>
1610
1610
  Upserts dataExtensions after retrieving them from source and target to compare
1611
1611
  if create or update operation is needed.
1612
1612
 
@@ -1615,19 +1615,23 @@ if create or update operation is needed.
1615
1615
 
1616
1616
  | Param | Type | Description |
1617
1617
  | --- | --- | --- |
1618
- | desToDeploy | <code>TYPE.DataExtensionMap</code> | dataExtensions mapped by their customerKey |
1618
+ | metadataMap | <code>TYPE.DataExtensionMap</code> | dataExtensions mapped by their customerKey |
1619
1619
 
1620
- <a name="DataExtension._filterUpsertResults"></a>
1620
+ <a name="DataExtension.createOrUpdate"></a>
1621
1621
 
1622
- ### DataExtension.\_filterUpsertResults(res) ⇒ <code>boolean</code>
1623
- helper for [upsert](upsert)
1622
+ ### DataExtension.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
1623
+ helper for [upsert](#MetadataType.upsert)
1624
1624
 
1625
1625
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
1626
- **Returns**: <code>boolean</code> - true: keep, false: discard
1626
+ **Returns**: <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code> - action to take
1627
1627
 
1628
1628
  | Param | Type | Description |
1629
1629
  | --- | --- | --- |
1630
- | res | <code>object</code> | - |
1630
+ | metadataMap | <code>TYPE.MetadataTypeMap</code> | list of metadata |
1631
+ | metadataKey | <code>string</code> | key of item we are looking at |
1632
+ | hasError | <code>boolean</code> | error flag from previous code |
1633
+ | metadataToUpdate | <code>Array.&lt;TYPE.MetadataTypeItemDiff&gt;</code> | list of items to update |
1634
+ | metadataToCreate | <code>Array.&lt;TYPE.MetadataTypeItem&gt;</code> | list of items to create |
1631
1635
 
1632
1636
  <a name="DataExtension.create"></a>
1633
1637
 
@@ -1655,7 +1659,7 @@ Updates a single dataExtension. Also updates their columns in 'dataExtension.col
1655
1659
 
1656
1660
  <a name="DataExtension.postDeployTasks"></a>
1657
1661
 
1658
- ### DataExtension.postDeployTasks(upsertedMetadata, originalMetadata) ⇒ <code>void</code>
1662
+ ### DataExtension.postDeployTasks(upsertedMetadata, originalMetadata, createdUpdated) ⇒ <code>void</code>
1659
1663
  Gets executed after deployment of metadata type
1660
1664
 
1661
1665
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1664,6 +1668,7 @@ Gets executed after deployment of metadata type
1664
1668
  | --- | --- | --- |
1665
1669
  | upsertedMetadata | <code>TYPE.DataExtensionMap</code> | metadata mapped by their keyField |
1666
1670
  | originalMetadata | <code>TYPE.DataExtensionMap</code> | metadata to be updated (contains additioanl fields) |
1671
+ | createdUpdated | <code>Object</code> | counter representing successful creates/updates |
1667
1672
 
1668
1673
  <a name="DataExtension.retrieve"></a>
1669
1674
 
@@ -1718,7 +1723,7 @@ prepares a DataExtension for deployment
1718
1723
 
1719
1724
  <a name="DataExtension.document"></a>
1720
1725
 
1721
- ### DataExtension.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
1726
+ ### DataExtension.document([metadataMap]) ⇒ <code>Promise.&lt;void&gt;</code>
1722
1727
  Parses metadata into a readable Markdown/HTML format then saves it
1723
1728
 
1724
1729
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
@@ -1726,7 +1731,7 @@ Parses metadata into a readable Markdown/HTML format then saves it
1726
1731
 
1727
1732
  | Param | Type | Description |
1728
1733
  | --- | --- | --- |
1729
- | [metadata] | <code>TYPE.DataExtensionMap</code> | a list of dataExtension definitions |
1734
+ | [metadataMap] | <code>TYPE.DataExtensionMap</code> | a list of dataExtension definitions |
1730
1735
 
1731
1736
  <a name="DataExtension.deleteByKey"></a>
1732
1737
 
@@ -1742,10 +1747,11 @@ Delete a metadata item from the specified business unit
1742
1747
 
1743
1748
  <a name="DataExtension.postDeleteTasks"></a>
1744
1749
 
1745
- ### DataExtension.postDeleteTasks(customerKey) ⇒ <code>void</code>
1750
+ ### DataExtension.postDeleteTasks(customerKey) ⇒ <code>Promise.&lt;void&gt;</code>
1746
1751
  clean up after deleting a metadata item
1747
1752
 
1748
1753
  **Kind**: static method of [<code>DataExtension</code>](#DataExtension)
1754
+ **Returns**: <code>Promise.&lt;void&gt;</code> - - promise
1749
1755
 
1750
1756
  | Param | Type | Description |
1751
1757
  | --- | --- | --- |
@@ -1811,9 +1817,9 @@ DataExtensionField MetadataType
1811
1817
  * [.convertToSortedArray(fieldsObj)](#DataExtensionField.convertToSortedArray) ⇒ <code>Array.&lt;TYPE.DataExtensionFieldItem&gt;</code>
1812
1818
  * [.sortDeFields(a, b)](#DataExtensionField.sortDeFields) ⇒ <code>boolean</code>
1813
1819
  * [.postRetrieveTasks(metadata, forDataExtension)](#DataExtensionField.postRetrieveTasks) ⇒ <code>TYPE.DataExtensionFieldItem</code>
1814
- * [.prepareDeployColumnsOnUpdate(deployColumns, deKey)](#DataExtensionField.prepareDeployColumnsOnUpdate) ⇒ <code>Object.&lt;string, TYPE.DataExtensionFieldItem&gt;</code>
1820
+ * [.prepareDeployColumnsOnUpdate(deployColumns, deKey)](#DataExtensionField.prepareDeployColumnsOnUpdate) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.DataExtensionFieldItem&gt;&gt;</code>
1815
1821
  * [.deleteByKey(customerKey)](#DataExtensionField.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
1816
- * [.deleteByKeySOAP(customerKey, [handleOutside])](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
1822
+ * [.deleteByKeySOAP(customerKey)](#DataExtensionField.deleteByKeySOAP) ⇒ <code>boolean</code>
1817
1823
  * [.postDeleteTasks(customerKey)](#DataExtensionField.postDeleteTasks) ⇒ <code>void</code>
1818
1824
 
1819
1825
  <a name="DataExtensionField.retrieve"></a>
@@ -1882,12 +1888,12 @@ manages post retrieve steps
1882
1888
 
1883
1889
  <a name="DataExtensionField.prepareDeployColumnsOnUpdate"></a>
1884
1890
 
1885
- ### DataExtensionField.prepareDeployColumnsOnUpdate(deployColumns, deKey) ⇒ <code>Object.&lt;string, TYPE.DataExtensionFieldItem&gt;</code>
1891
+ ### DataExtensionField.prepareDeployColumnsOnUpdate(deployColumns, deKey) ⇒ <code>Promise.&lt;Object.&lt;string, TYPE.DataExtensionFieldItem&gt;&gt;</code>
1886
1892
  Mofifies passed deployColumns for update by mapping ObjectID to their target column's values.
1887
1893
  Removes FieldType field if its the same in deploy and target column, because it results in an error even if its of the same type
1888
1894
 
1889
1895
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
1890
- **Returns**: <code>Object.&lt;string, TYPE.DataExtensionFieldItem&gt;</code> - existing fields by their original name to allow re-adding FieldType after update
1896
+ **Returns**: <code>Promise.&lt;Object.&lt;string, TYPE.DataExtensionFieldItem&gt;&gt;</code> - existing fields by their original name to allow re-adding FieldType after update
1891
1897
 
1892
1898
  | Param | Type | Description |
1893
1899
  | --- | --- | --- |
@@ -1908,7 +1914,7 @@ Delete a metadata item from the specified business unit
1908
1914
 
1909
1915
  <a name="DataExtensionField.deleteByKeySOAP"></a>
1910
1916
 
1911
- ### DataExtensionField.deleteByKeySOAP(customerKey, [handleOutside]) ⇒ <code>boolean</code>
1917
+ ### DataExtensionField.deleteByKeySOAP(customerKey) ⇒ <code>boolean</code>
1912
1918
  Delete a data extension from the specified business unit
1913
1919
 
1914
1920
  **Kind**: static method of [<code>DataExtensionField</code>](#DataExtensionField)
@@ -1917,7 +1923,6 @@ Delete a data extension from the specified business unit
1917
1923
  | Param | Type | Description |
1918
1924
  | --- | --- | --- |
1919
1925
  | customerKey | <code>string</code> | Identifier of metadata |
1920
- | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
1921
1926
 
1922
1927
  <a name="DataExtensionField.postDeleteTasks"></a>
1923
1928
 
@@ -2194,29 +2199,29 @@ parses retrieved Metadata before saving
2194
2199
  | --- | --- | --- |
2195
2200
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query activity definition |
2196
2201
 
2197
- <a name="EmailSendDefinition"></a>
2202
+ <a name="EmailSend"></a>
2198
2203
 
2199
- ## EmailSendDefinition ⇐ [<code>MetadataType</code>](#MetadataType)
2204
+ ## EmailSend ⇐ [<code>MetadataType</code>](#MetadataType)
2200
2205
  MessageSendActivity MetadataType
2201
2206
 
2202
2207
  **Kind**: global class
2203
2208
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2204
2209
 
2205
- * [EmailSendDefinition](#EmailSendDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
2206
- * [.retrieve(retrieveDir, [_], [__], [key])](#EmailSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2207
- * [.update(metadataItem)](#EmailSendDefinition.update) ⇒ <code>Promise</code>
2208
- * [.create(metadataItem)](#EmailSendDefinition.create) ⇒ <code>Promise</code>
2209
- * [.deleteByKey(customerKey)](#EmailSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2210
- * [.preDeployTasks(metadata)](#EmailSendDefinition.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2211
- * [.postRetrieveTasks(metadata)](#EmailSendDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2212
- * [.parseMetadata(metadata)](#EmailSendDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2210
+ * [EmailSend](#EmailSend) ⇐ [<code>MetadataType</code>](#MetadataType)
2211
+ * [.retrieve(retrieveDir, [_], [__], [key])](#EmailSend.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2212
+ * [.update(metadataItem)](#EmailSend.update) ⇒ <code>Promise</code>
2213
+ * [.create(metadataItem)](#EmailSend.create) ⇒ <code>Promise</code>
2214
+ * [.deleteByKey(customerKey)](#EmailSend.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2215
+ * [.preDeployTasks(metadata)](#EmailSend.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2216
+ * [.postRetrieveTasks(metadata)](#EmailSend.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2217
+ * [.parseMetadata(metadata)](#EmailSend.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2213
2218
 
2214
- <a name="EmailSendDefinition.retrieve"></a>
2219
+ <a name="EmailSend.retrieve"></a>
2215
2220
 
2216
- ### EmailSendDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2221
+ ### EmailSend.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2217
2222
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
2218
2223
 
2219
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2224
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2220
2225
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
2221
2226
 
2222
2227
  | Param | Type | Description |
@@ -2226,106 +2231,106 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
2226
2231
  | [__] | <code>void</code> | unused parameter |
2227
2232
  | [key] | <code>string</code> | customer key of single item to retrieve |
2228
2233
 
2229
- <a name="EmailSendDefinition.update"></a>
2234
+ <a name="EmailSend.update"></a>
2230
2235
 
2231
- ### EmailSendDefinition.update(metadataItem) ⇒ <code>Promise</code>
2236
+ ### EmailSend.update(metadataItem) ⇒ <code>Promise</code>
2232
2237
  Updates a single item
2233
2238
 
2234
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2239
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2235
2240
  **Returns**: <code>Promise</code> - Promise
2236
2241
 
2237
2242
  | Param | Type | Description |
2238
2243
  | --- | --- | --- |
2239
2244
  | metadataItem | <code>TYPE.MetadataTypeItem</code> | a single item |
2240
2245
 
2241
- <a name="EmailSendDefinition.create"></a>
2246
+ <a name="EmailSend.create"></a>
2242
2247
 
2243
- ### EmailSendDefinition.create(metadataItem) ⇒ <code>Promise</code>
2248
+ ### EmailSend.create(metadataItem) ⇒ <code>Promise</code>
2244
2249
  Creates a single item
2245
2250
 
2246
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2251
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2247
2252
  **Returns**: <code>Promise</code> - Promise
2248
2253
 
2249
2254
  | Param | Type | Description |
2250
2255
  | --- | --- | --- |
2251
2256
  | metadataItem | <code>TYPE.MetadataTypeItem</code> | a single item |
2252
2257
 
2253
- <a name="EmailSendDefinition.deleteByKey"></a>
2258
+ <a name="EmailSend.deleteByKey"></a>
2254
2259
 
2255
- ### EmailSendDefinition.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2260
+ ### EmailSend.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2256
2261
  Delete a metadata item from the specified business unit
2257
2262
 
2258
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2263
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2259
2264
  **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
2260
2265
 
2261
2266
  | Param | Type | Description |
2262
2267
  | --- | --- | --- |
2263
2268
  | customerKey | <code>string</code> | Identifier of data extension |
2264
2269
 
2265
- <a name="EmailSendDefinition.preDeployTasks"></a>
2270
+ <a name="EmailSend.preDeployTasks"></a>
2266
2271
 
2267
- ### EmailSendDefinition.preDeployTasks(metadata) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2272
+ ### EmailSend.preDeployTasks(metadata) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2268
2273
  prepares a single item for deployment
2269
2274
 
2270
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2275
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2271
2276
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code> - Promise
2272
2277
 
2273
2278
  | Param | Type | Description |
2274
2279
  | --- | --- | --- |
2275
2280
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
2276
2281
 
2277
- <a name="EmailSendDefinition.postRetrieveTasks"></a>
2282
+ <a name="EmailSend.postRetrieveTasks"></a>
2278
2283
 
2279
- ### EmailSendDefinition.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2284
+ ### EmailSend.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2280
2285
  manages post retrieve steps
2281
2286
 
2282
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2287
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2283
2288
  **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one query string
2284
2289
 
2285
2290
  | Param | Type | Description |
2286
2291
  | --- | --- | --- |
2287
2292
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
2288
2293
 
2289
- <a name="EmailSendDefinition.parseMetadata"></a>
2294
+ <a name="EmailSend.parseMetadata"></a>
2290
2295
 
2291
- ### EmailSendDefinition.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2296
+ ### EmailSend.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2292
2297
  parses retrieved Metadata before saving
2293
2298
 
2294
- **Kind**: static method of [<code>EmailSendDefinition</code>](#EmailSendDefinition)
2299
+ **Kind**: static method of [<code>EmailSend</code>](#EmailSend)
2295
2300
  **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one sql string
2296
2301
 
2297
2302
  | Param | Type | Description |
2298
2303
  | --- | --- | --- |
2299
2304
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query activity definition |
2300
2305
 
2301
- <a name="EventDefinition"></a>
2306
+ <a name="Event"></a>
2302
2307
 
2303
- ## EventDefinition ⇐ [<code>MetadataType</code>](#MetadataType)
2304
- EventDefinition MetadataType
2308
+ ## Event ⇐ [<code>MetadataType</code>](#MetadataType)
2309
+ Event MetadataType
2305
2310
 
2306
2311
  **Kind**: global class
2307
2312
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2308
2313
 
2309
- * [EventDefinition](#EventDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
2310
- * [.retrieve(retrieveDir, [_], [__], [key])](#EventDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2311
- * [.retrieveForCache()](#EventDefinition.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2312
- * [.retrieveAsTemplate(templateDir, name, templateVariables)](#EventDefinition.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2313
- * [.postRetrieveTasks(eventDef)](#EventDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2314
- * [.deleteByKey(key)](#EventDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2315
- * [.deploy(metadata, deployDir, retrieveDir)](#EventDefinition.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2316
- * [.create(EventDefinition)](#EventDefinition.create) ⇒ <code>Promise</code>
2317
- * [.update(metadataEntry)](#EventDefinition.update) ⇒ <code>Promise</code>
2318
- * [.preDeployTasks(metadata)](#EventDefinition.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2319
- * [.parseMetadata(metadata)](#EventDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2320
-
2321
- <a name="EventDefinition.retrieve"></a>
2322
-
2323
- ### EventDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2314
+ * [Event](#Event) ⇐ [<code>MetadataType</code>](#MetadataType)
2315
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Event.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2316
+ * [.retrieveForCache()](#Event.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2317
+ * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Event.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2318
+ * [.postRetrieveTasks(eventDef)](#Event.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2319
+ * [.deleteByKey(key)](#Event.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2320
+ * [.deploy(metadata, deployDir, retrieveDir, [isRefresh])](#Event.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2321
+ * [.create(metadata)](#Event.create) ⇒ <code>Promise</code>
2322
+ * [.update(metadataEntry)](#Event.update) ⇒ <code>Promise</code>
2323
+ * [.preDeployTasks(metadata)](#Event.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2324
+ * [.parseMetadata(metadata)](#Event.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2325
+
2326
+ <a name="Event.retrieve"></a>
2327
+
2328
+ ### Event.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2324
2329
  Retrieves Metadata of Event Definition.
2325
2330
  Endpoint /interaction/v1/EventDefinitions return all Event Definitions with all details.
2326
2331
  Currently it is not needed to loop over Imports with endpoint /interaction/v1/EventDefinitions/{id}
2327
2332
 
2328
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2333
+ **Kind**: static method of [<code>Event</code>](#Event)
2329
2334
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
2330
2335
 
2331
2336
  | Param | Type | Description |
@@ -2335,19 +2340,19 @@ Currently it is not needed to loop over Imports with endpoint /interaction/v1/Ev
2335
2340
  | [__] | <code>void</code> | unused parameter |
2336
2341
  | [key] | <code>string</code> | customer key of single item to retrieve |
2337
2342
 
2338
- <a name="EventDefinition.retrieveForCache"></a>
2343
+ <a name="Event.retrieveForCache"></a>
2339
2344
 
2340
- ### EventDefinition.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2345
+ ### Event.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2341
2346
  Retrieves event definition metadata for caching
2342
2347
 
2343
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2348
+ **Kind**: static method of [<code>Event</code>](#Event)
2344
2349
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
2345
- <a name="EventDefinition.retrieveAsTemplate"></a>
2350
+ <a name="Event.retrieveAsTemplate"></a>
2346
2351
 
2347
- ### EventDefinition.retrieveAsTemplate(templateDir, name, templateVariables) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2352
+ ### Event.retrieveAsTemplate(templateDir, name, templateVariables) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
2348
2353
  Retrieve a specific Event Definition by Name
2349
2354
 
2350
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2355
+ **Kind**: static method of [<code>Event</code>](#Event)
2351
2356
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code> - Promise of metadata
2352
2357
 
2353
2358
  | Param | Type | Description |
@@ -2356,36 +2361,36 @@ Retrieve a specific Event Definition by Name
2356
2361
  | name | <code>string</code> | name of the metadata file |
2357
2362
  | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
2358
2363
 
2359
- <a name="EventDefinition.postRetrieveTasks"></a>
2364
+ <a name="Event.postRetrieveTasks"></a>
2360
2365
 
2361
- ### EventDefinition.postRetrieveTasks(eventDef) ⇒ <code>TYPE.MetadataTypeItem</code>
2366
+ ### Event.postRetrieveTasks(eventDef) ⇒ <code>TYPE.MetadataTypeItem</code>
2362
2367
  manages post retrieve steps
2363
2368
 
2364
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2369
+ **Kind**: static method of [<code>Event</code>](#Event)
2365
2370
  **Returns**: <code>TYPE.MetadataTypeItem</code> - metadata
2366
2371
 
2367
2372
  | Param | Type | Description |
2368
2373
  | --- | --- | --- |
2369
2374
  | eventDef | <code>TYPE.MetadataTypeItem</code> | a single item of Event Definition |
2370
2375
 
2371
- <a name="EventDefinition.deleteByKey"></a>
2376
+ <a name="Event.deleteByKey"></a>
2372
2377
 
2373
- ### EventDefinition.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2378
+ ### Event.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2374
2379
  Delete a metadata item from the specified business unit
2375
2380
 
2376
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2381
+ **Kind**: static method of [<code>Event</code>](#Event)
2377
2382
  **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
2378
2383
 
2379
2384
  | Param | Type | Description |
2380
2385
  | --- | --- | --- |
2381
2386
  | key | <code>string</code> | Identifier of item |
2382
2387
 
2383
- <a name="EventDefinition.deploy"></a>
2388
+ <a name="Event.deploy"></a>
2384
2389
 
2385
- ### EventDefinition.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2390
+ ### Event.deploy(metadata, deployDir, retrieveDir, [isRefresh]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2386
2391
  Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta) once per deploy
2387
2392
 
2388
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2393
+ **Kind**: static method of [<code>Event</code>](#Event)
2389
2394
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of keyField => metadata map
2390
2395
 
2391
2396
  | Param | Type | Description |
@@ -2393,55 +2398,91 @@ Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta)
2393
2398
  | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
2394
2399
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
2395
2400
  | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
2401
+ | [isRefresh] | <code>boolean</code> | optional flag - so far not used by eventDefinition |
2396
2402
 
2397
- <a name="EventDefinition.create"></a>
2403
+ <a name="Event.create"></a>
2398
2404
 
2399
- ### EventDefinition.create(EventDefinition) ⇒ <code>Promise</code>
2405
+ ### Event.create(metadata) ⇒ <code>Promise</code>
2400
2406
  Creates a single Event Definition
2401
2407
 
2402
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2408
+ **Kind**: static method of [<code>Event</code>](#Event)
2403
2409
  **Returns**: <code>Promise</code> - Promise
2404
2410
 
2405
2411
  | Param | Type | Description |
2406
2412
  | --- | --- | --- |
2407
- | EventDefinition | <code>TYPE.MetadataTypeItem</code> | a single Event Definition |
2413
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single Event Definition |
2408
2414
 
2409
- <a name="EventDefinition.update"></a>
2415
+ <a name="Event.update"></a>
2410
2416
 
2411
- ### EventDefinition.update(metadataEntry) ⇒ <code>Promise</code>
2417
+ ### Event.update(metadataEntry) ⇒ <code>Promise</code>
2412
2418
  Updates a single Event Definition (using PUT method since PATCH isn't supported)
2413
2419
 
2414
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2420
+ **Kind**: static method of [<code>Event</code>](#Event)
2415
2421
  **Returns**: <code>Promise</code> - Promise
2416
2422
 
2417
2423
  | Param | Type | Description |
2418
2424
  | --- | --- | --- |
2419
2425
  | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single Event Definition |
2420
2426
 
2421
- <a name="EventDefinition.preDeployTasks"></a>
2427
+ <a name="Event.preDeployTasks"></a>
2422
2428
 
2423
- ### EventDefinition.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2429
+ ### Event.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2424
2430
  prepares an event definition for deployment
2425
2431
 
2426
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2432
+ **Kind**: static method of [<code>Event</code>](#Event)
2427
2433
  **Returns**: <code>TYPE.MetadataTypeItem</code> - parsed version
2428
2434
 
2429
2435
  | Param | Type | Description |
2430
2436
  | --- | --- | --- |
2431
2437
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single eventDefinition |
2432
2438
 
2433
- <a name="EventDefinition.parseMetadata"></a>
2439
+ <a name="Event.parseMetadata"></a>
2434
2440
 
2435
- ### EventDefinition.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2441
+ ### Event.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2436
2442
  parses retrieved Metadata before saving
2437
2443
 
2438
- **Kind**: static method of [<code>EventDefinition</code>](#EventDefinition)
2444
+ **Kind**: static method of [<code>Event</code>](#Event)
2439
2445
  **Returns**: <code>TYPE.MetadataTypeItem</code> - parsed metadata
2440
2446
 
2441
2447
  | Param | Type | Description |
2442
2448
  | --- | --- | --- |
2443
2449
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single event definition |
2444
2450
 
2451
+ <a name="FtpLocation"></a>
2452
+
2453
+ ## FtpLocation ⇐ [<code>MetadataType</code>](#MetadataType)
2454
+ ImportFile MetadataType
2455
+
2456
+ **Kind**: global class
2457
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
2458
+
2459
+ * [FtpLocation](#FtpLocation) ⇐ [<code>MetadataType</code>](#MetadataType)
2460
+ * [.retrieve(retrieveDir, [_], [__], [key])](#FtpLocation.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2461
+ * [.retrieveForCache()](#FtpLocation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2462
+
2463
+ <a name="FtpLocation.retrieve"></a>
2464
+
2465
+ ### FtpLocation.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2466
+ Retrieves Metadata of FtpLocation
2467
+ Endpoint /automation/v1/ftplocations/ return all FtpLocations
2468
+
2469
+ **Kind**: static method of [<code>FtpLocation</code>](#FtpLocation)
2470
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2471
+
2472
+ | Param | Type | Description |
2473
+ | --- | --- | --- |
2474
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2475
+ | [_] | <code>void</code> | unused parameter |
2476
+ | [__] | <code>void</code> | unused parameter |
2477
+ | [key] | <code>string</code> | customer key of single item to retrieve |
2478
+
2479
+ <a name="FtpLocation.retrieveForCache"></a>
2480
+
2481
+ ### FtpLocation.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2482
+ Retrieves folder metadata into local filesystem. Also creates a uniquePath attribute for each folder.
2483
+
2484
+ **Kind**: static method of [<code>FtpLocation</code>](#FtpLocation)
2485
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2445
2486
  <a name="FileTransfer"></a>
2446
2487
 
2447
2488
  ## FileTransfer ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -2733,41 +2774,6 @@ Helper for writing Metadata to disk, used for Retrieve and deploy
2733
2774
  | retrieveDir | <code>string</code> | directory where metadata should be stored after deploy/retrieve |
2734
2775
  | mid | <code>number</code> | current mid for this credential / business unit |
2735
2776
 
2736
- <a name="FtpLocation"></a>
2737
-
2738
- ## FtpLocation ⇐ [<code>MetadataType</code>](#MetadataType)
2739
- ImportFile MetadataType
2740
-
2741
- **Kind**: global class
2742
- **Extends**: [<code>MetadataType</code>](#MetadataType)
2743
-
2744
- * [FtpLocation](#FtpLocation) ⇐ [<code>MetadataType</code>](#MetadataType)
2745
- * [.retrieve(retrieveDir, [_], [__], [key])](#FtpLocation.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2746
- * [.retrieveForCache()](#FtpLocation.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2747
-
2748
- <a name="FtpLocation.retrieve"></a>
2749
-
2750
- ### FtpLocation.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2751
- Retrieves Metadata of FtpLocation
2752
- Endpoint /automation/v1/ftplocations/ return all FtpLocations
2753
-
2754
- **Kind**: static method of [<code>FtpLocation</code>](#FtpLocation)
2755
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2756
-
2757
- | Param | Type | Description |
2758
- | --- | --- | --- |
2759
- | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2760
- | [_] | <code>void</code> | unused parameter |
2761
- | [__] | <code>void</code> | unused parameter |
2762
- | [key] | <code>string</code> | customer key of single item to retrieve |
2763
-
2764
- <a name="FtpLocation.retrieveForCache"></a>
2765
-
2766
- ### FtpLocation.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2767
- Retrieves folder metadata into local filesystem. Also creates a uniquePath attribute for each folder.
2768
-
2769
- **Kind**: static method of [<code>FtpLocation</code>](#FtpLocation)
2770
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2771
2777
  <a name="ImportFile"></a>
2772
2778
 
2773
2779
  ## ImportFile ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -2884,10 +2890,10 @@ parses retrieved Metadata before saving
2884
2890
  | --- | --- | --- |
2885
2891
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single import definition |
2886
2892
 
2887
- <a name="Interaction"></a>
2893
+ <a name="Journey"></a>
2888
2894
 
2889
- ## Interaction ⇐ [<code>MetadataType</code>](#MetadataType)
2890
- Interaction MetadataType
2895
+ ## Journey ⇐ [<code>MetadataType</code>](#MetadataType)
2896
+ Journey MetadataType
2891
2897
  ! 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!
2892
2898
  id: A unique id of the journey assigned by the journey’s API during its creation
2893
2899
  key: A unique id of the journey within the MID. Can be generated by the developer
@@ -2896,24 +2902,24 @@ definitionId: A unique UUID provided by Salesforce Marketing Cloud. Each version
2896
2902
  **Kind**: global class
2897
2903
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2898
2904
 
2899
- * [Interaction](#Interaction) ⇐ [<code>MetadataType</code>](#MetadataType)
2900
- * [.retrieve(retrieveDir, [_], [__], [key])](#Interaction.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2901
- * [.deleteByKey(key)](#Interaction.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2902
- * [.deploy(metadata, deployDir, retrieveDir)](#Interaction.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2903
- * [.update(metadata)](#Interaction.update) ⇒ <code>Promise</code>
2904
- * [.create(metadata)](#Interaction.create) ⇒ <code>Promise</code>
2905
- * [.saveResults(results, retrieveDir, [overrideType], [templateVariables])](#Interaction.saveResults) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2906
- * [._postRetrieveTasksBulk(metadataMap)](#Interaction._postRetrieveTasksBulk)
2907
- * [.postRetrieveTasks(metadata)](#Interaction.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2908
- * [.preDeployTasks(metadata)](#Interaction.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2909
- * [.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#Interaction.createOrUpdate)
2905
+ * [Journey](#Journey) ⇐ [<code>MetadataType</code>](#MetadataType)
2906
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Journey.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2907
+ * [.deleteByKey(key)](#Journey.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2908
+ * [.deploy(metadata, deployDir, retrieveDir, [isRefresh])](#Journey.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2909
+ * [.update(metadata)](#Journey.update) ⇒ <code>Promise</code>
2910
+ * [.create(metadata)](#Journey.create) ⇒ <code>Promise</code>
2911
+ * [.saveResults(results, retrieveDir, [overrideType], [templateVariables])](#Journey.saveResults) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2912
+ * [._postRetrieveTasksBulk(metadataMap)](#Journey._postRetrieveTasksBulk)
2913
+ * [.postRetrieveTasks(metadata)](#Journey.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2914
+ * [.preDeployTasks(metadata)](#Journey.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2915
+ * [.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#Journey.createOrUpdate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
2910
2916
 
2911
- <a name="Interaction.retrieve"></a>
2917
+ <a name="Journey.retrieve"></a>
2912
2918
 
2913
- ### Interaction.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2914
- Retrieves Metadata of Interaction
2919
+ ### Journey.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2920
+ Retrieves Metadata of Journey
2915
2921
 
2916
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2922
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2917
2923
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2918
2924
 
2919
2925
  | Param | Type | Description |
@@ -2923,24 +2929,24 @@ Retrieves Metadata of Interaction
2923
2929
  | [__] | <code>void</code> | unused parameter |
2924
2930
  | [key] | <code>string</code> | customer key of single item to retrieve |
2925
2931
 
2926
- <a name="Interaction.deleteByKey"></a>
2932
+ <a name="Journey.deleteByKey"></a>
2927
2933
 
2928
- ### Interaction.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2934
+ ### Journey.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
2929
2935
  Delete a metadata item from the specified business unit
2930
2936
 
2931
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2937
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2932
2938
  **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
2933
2939
 
2934
2940
  | Param | Type | Description |
2935
2941
  | --- | --- | --- |
2936
2942
  | key | <code>string</code> | Identifier of item |
2937
2943
 
2938
- <a name="Interaction.deploy"></a>
2944
+ <a name="Journey.deploy"></a>
2939
2945
 
2940
- ### Interaction.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2946
+ ### Journey.deploy(metadata, deployDir, retrieveDir, [isRefresh]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2941
2947
  Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta) once per deploy
2942
2948
 
2943
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2949
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2944
2950
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of keyField => metadata map
2945
2951
 
2946
2952
  | Param | Type | Description |
@@ -2948,37 +2954,38 @@ Deploys metadata - merely kept here to be able to print [logBeta](#Util.logBeta)
2948
2954
  | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
2949
2955
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
2950
2956
  | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
2957
+ | [isRefresh] | <code>boolean</code> | optional flag - so far not used by interaction |
2951
2958
 
2952
- <a name="Interaction.update"></a>
2959
+ <a name="Journey.update"></a>
2953
2960
 
2954
- ### Interaction.update(metadata) ⇒ <code>Promise</code>
2961
+ ### Journey.update(metadata) ⇒ <code>Promise</code>
2955
2962
  Updates a single item
2956
2963
 
2957
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2964
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2958
2965
  **Returns**: <code>Promise</code> - Promise
2959
2966
 
2960
2967
  | Param | Type | Description |
2961
2968
  | --- | --- | --- |
2962
2969
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
2963
2970
 
2964
- <a name="Interaction.create"></a>
2971
+ <a name="Journey.create"></a>
2965
2972
 
2966
- ### Interaction.create(metadata) ⇒ <code>Promise</code>
2973
+ ### Journey.create(metadata) ⇒ <code>Promise</code>
2967
2974
  Creates a single item
2968
2975
 
2969
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2976
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2970
2977
  **Returns**: <code>Promise</code> - Promise
2971
2978
 
2972
2979
  | Param | Type | Description |
2973
2980
  | --- | --- | --- |
2974
2981
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
2975
2982
 
2976
- <a name="Interaction.saveResults"></a>
2983
+ <a name="Journey.saveResults"></a>
2977
2984
 
2978
- ### Interaction.saveResults(results, retrieveDir, [overrideType], [templateVariables]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2985
+ ### Journey.saveResults(results, retrieveDir, [overrideType], [templateVariables]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
2979
2986
  Helper for writing Metadata to disk, used for Retrieve and deploy
2980
2987
 
2981
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
2988
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2982
2989
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code> - Promise of saved metadata
2983
2990
 
2984
2991
  | Param | Type | Description |
@@ -2988,51 +2995,54 @@ Helper for writing Metadata to disk, used for Retrieve and deploy
2988
2995
  | [overrideType] | <code>string</code> | for use when there is a subtype (such as folder-queries) |
2989
2996
  | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
2990
2997
 
2991
- <a name="Interaction._postRetrieveTasksBulk"></a>
2998
+ <a name="Journey._postRetrieveTasksBulk"></a>
2992
2999
 
2993
- ### Interaction.\_postRetrieveTasksBulk(metadataMap)
2994
- helper for Interaction's [saveResults](saveResults). Gets executed after retreive of metadata type and
3000
+ ### Journey.\_postRetrieveTasksBulk(metadataMap)
3001
+ helper for Journey's [saveResults](saveResults). Gets executed after retreive of metadata type and
2995
3002
 
2996
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
3003
+ **Kind**: static method of [<code>Journey</code>](#Journey)
2997
3004
 
2998
3005
  | Param | Type | Description |
2999
3006
  | --- | --- | --- |
3000
3007
  | metadataMap | <code>TYPE.MetadataTypeMap</code> | key=customer key, value=metadata |
3001
3008
 
3002
- <a name="Interaction.postRetrieveTasks"></a>
3009
+ <a name="Journey.postRetrieveTasks"></a>
3003
3010
 
3004
- ### Interaction.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3011
+ ### Journey.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3005
3012
  manages post retrieve steps
3006
3013
  ! 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!
3007
3014
 
3008
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
3009
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one query string
3015
+ **Kind**: static method of [<code>Journey</code>](#Journey)
3016
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object
3010
3017
 
3011
3018
  | Param | Type | Description |
3012
3019
  | --- | --- | --- |
3013
- | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
3020
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3014
3021
 
3015
- <a name="Interaction.preDeployTasks"></a>
3022
+ <a name="Journey.preDeployTasks"></a>
3016
3023
 
3017
- ### Interaction.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3024
+ ### Journey.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3018
3025
  prepares a TSD for deployment
3019
3026
  ! 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!
3020
3027
 
3021
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
3028
+ **Kind**: static method of [<code>Journey</code>](#Journey)
3022
3029
  **Returns**: <code>TYPE.MetadataTypeItem</code> - metadata object
3023
3030
 
3024
3031
  | Param | Type | Description |
3025
3032
  | --- | --- | --- |
3026
3033
  | metadata | <code>TYPE.MetadataTypeItem</code> | of a single TSD |
3027
3034
 
3028
- <a name="Interaction.createOrUpdate"></a>
3035
+ <a name="Journey.createOrUpdate"></a>
3029
3036
 
3030
- ### Interaction.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)
3031
- **Kind**: static method of [<code>Interaction</code>](#Interaction)
3037
+ ### Journey.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
3038
+ helper for [upsert](#MetadataType.upsert)
3039
+
3040
+ **Kind**: static method of [<code>Journey</code>](#Journey)
3041
+ **Returns**: <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code> - action to take
3032
3042
 
3033
3043
  | Param | Type | Description |
3034
3044
  | --- | --- | --- |
3035
- | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata itme |
3045
+ | metadataMap | <code>TYPE.MetadataTypeMap</code> | list of metadata |
3036
3046
  | metadataKey | <code>string</code> | key of item we are looking at |
3037
3047
  | hasError | <code>boolean</code> | error flag from previous code |
3038
3048
  | metadataToUpdate | <code>Array.&lt;TYPE.MetadataTypeItemDiff&gt;</code> | list of items to update |
@@ -3126,16 +3136,20 @@ Provides default functionality that can be overwritten by child metadata type cl
3126
3136
  * [.subType](#MetadataType.subType) : <code>string</code>
3127
3137
  * [.buObject](#MetadataType.buObject) : <code>TYPE.BuObject</code>
3128
3138
  * [.getJsonFromFS(dir, [listBadKeys])](#MetadataType.getJsonFromFS) ⇒ <code>TYPE.MetadataTypeMap</code>
3129
- * [.getFieldNamesToRetrieve([additionalFields])](#MetadataType.getFieldNamesToRetrieve) ⇒ <code>Array.&lt;string&gt;</code>
3130
- * [.deploy(metadata, deployDir, retrieveDir)](#MetadataType.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3131
- * [.postDeployTasks(metadata, originalMetadata)](#MetadataType.postDeployTasks) ⇒ <code>void</code>
3139
+ * [.getFieldNamesToRetrieve([additionalFields], [isCaching])](#MetadataType.getFieldNamesToRetrieve) ⇒ <code>Array.&lt;string&gt;</code>
3140
+ * [.deploy(metadata, deployDir, retrieveDir, [isRefresh])](#MetadataType.deploy) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3141
+ * [.postDeployTasks(upsertResults, originalMetadata, createdUpdated, [isRefresh])](#MetadataType.postDeployTasks) ⇒ <code>void</code>
3142
+ * [.postCreateTasks(metadataEntry, apiResponse)](#MetadataType.postCreateTasks) ⇒ <code>void</code>
3143
+ * [.postUpdateTasks(metadataEntry, apiResponse)](#MetadataType.postUpdateTasks) ⇒ <code>void</code>
3144
+ * [.postDeployTasks_legacyApi(metadataEntry, apiResponse)](#MetadataType.postDeployTasks_legacyApi) ⇒ <code>Promise.&lt;void&gt;</code>
3132
3145
  * [.postRetrieveTasks(metadata, targetDir, [isTemplating])](#MetadataType.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
3133
3146
  * [.setFolderPath(metadata)](#MetadataType.setFolderPath)
3134
3147
  * [.setFolderId(metadata)](#MetadataType.setFolderId)
3135
3148
  * [.retrieve(retrieveDir, [additionalFields], [subTypeArr], [key])](#MetadataType.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3136
3149
  * [.retrieveChangelog([additionalFields], [subTypeArr])](#MetadataType.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3137
- * [.retrieveForCache([additionalFields], [subTypeArr])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3150
+ * [.retrieveForCache([additionalFields], [subTypeArr], [key])](#MetadataType.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3138
3151
  * [.retrieveAsTemplate(templateDir, name, templateVariables, [subType])](#MetadataType.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3152
+ * [.retrieveTemplateREST(templateDir, uri, templateVariables, name)](#MetadataType.retrieveTemplateREST) ⇒ <code>Promise.&lt;{metadata: TYPE.MetadataTypeItem, type: string}&gt;</code>
3139
3153
  * [.buildTemplate(retrieveDir, templateDir, key, templateVariables)](#MetadataType.buildTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3140
3154
  * [.preDeployTasks(metadata, deployDir)](#MetadataType.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
3141
3155
  * [.create(metadata, deployDir)](#MetadataType.create) ⇒ <code>void</code>
@@ -3143,16 +3157,16 @@ Provides default functionality that can be overwritten by child metadata type cl
3143
3157
  * [.refresh()](#MetadataType.refresh) ⇒ <code>void</code>
3144
3158
  * [.hasChanged(cachedVersion, metadata, [fieldName])](#MetadataType.hasChanged) ⇒ <code>boolean</code>
3145
3159
  * [.hasChangedGeneric(cachedVersion, metadata, [fieldName], [silent])](#MetadataType.hasChangedGeneric) ⇒ <code>boolean</code>
3146
- * [.upsert(metadata, deployDir)](#MetadataType.upsert) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3147
- * [.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#MetadataType.createOrUpdate) ⇒ <code>void</code>
3160
+ * [.upsert(metadataMap, deployDir, [isRefresh])](#MetadataType.upsert) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3161
+ * [.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#MetadataType.createOrUpdate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
3148
3162
  * [.createREST(metadataEntry, uri)](#MetadataType.createREST) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3149
- * [.createSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.createSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3150
- * [.updateREST(metadataEntry, uri, [usePut])](#MetadataType.updateREST) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3151
- * [.updateSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.updateSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3163
+ * [.createSOAP(metadataEntry, [handleOutside])](#MetadataType.createSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3164
+ * [.updateREST(metadataEntry, uri, [httpMethod])](#MetadataType.updateREST) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3165
+ * [.updateSOAP(metadataEntry, [handleOutside])](#MetadataType.updateSOAP) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3152
3166
  * [._handleSOAPErrors(ex, msg, [metadataEntry], [handleOutside])](#MetadataType._handleSOAPErrors)
3153
3167
  * [.getSOAPErrorMsg(ex)](#MetadataType.getSOAPErrorMsg) ⇒ <code>string</code>
3154
- * [.retrieveSOAP(retrieveDir, [requestParams], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3155
- * [.retrieveREST(retrieveDir, uri, [overrideType], [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3168
+ * [.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3169
+ * [.retrieveREST(retrieveDir, uri, [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3156
3170
  * [.parseResponseBody(body, [singleRetrieve])](#MetadataType.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
3157
3171
  * [.deleteFieldByDefinition(metadataEntry, fieldPath, definitionProperty, origin)](#MetadataType.deleteFieldByDefinition) ⇒ <code>void</code>
3158
3172
  * [.removeNotCreateableFields(metadataEntry)](#MetadataType.removeNotCreateableFields) ⇒ <code>void</code>
@@ -3172,8 +3186,8 @@ Provides default functionality that can be overwritten by child metadata type cl
3172
3186
  * [.checkForErrors(ex)](#MetadataType.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
3173
3187
  * [.document([metadata], [isDeploy])](#MetadataType.document) ⇒ <code>void</code>
3174
3188
  * [.deleteByKey(customerKey)](#MetadataType.deleteByKey) ⇒ <code>boolean</code>
3175
- * [.postDeleteTasks(customerKey)](#MetadataType.postDeleteTasks) ⇒ <code>void</code>
3176
- * [.deleteByKeySOAP(customerKey, [handleOutside])](#MetadataType.deleteByKeySOAP) ⇒ <code>boolean</code>
3189
+ * [.postDeleteTasks(customerKey, [additionalExtensions])](#MetadataType.postDeleteTasks) ⇒ <code>Promise.&lt;void&gt;</code>
3190
+ * [.deleteByKeySOAP(customerKey, [overrideKeyField], [handleOutside])](#MetadataType.deleteByKeySOAP) ⇒ <code>boolean</code>
3177
3191
  * [.deleteByKeyREST(url, key, [handleOutside])](#MetadataType.deleteByKeyREST) ⇒ <code>boolean</code>
3178
3192
  * [.readBUMetadataForType(readDir, [listBadKeys], [buMetadata])](#MetadataType.readBUMetadataForType) ⇒ <code>object</code>
3179
3193
  * [.getFilesToCommit(keyArr)](#MetadataType.getFilesToCommit) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
@@ -3209,7 +3223,7 @@ Returns file contents mapped to their filename without '.json' ending
3209
3223
 
3210
3224
  <a name="MetadataType.getFieldNamesToRetrieve"></a>
3211
3225
 
3212
- ### MetadataType.getFieldNamesToRetrieve([additionalFields]) ⇒ <code>Array.&lt;string&gt;</code>
3226
+ ### MetadataType.getFieldNamesToRetrieve([additionalFields], [isCaching]) ⇒ <code>Array.&lt;string&gt;</code>
3213
3227
  Returns fieldnames of Metadata Type. 'this.definition.fields' variable only set in child classes.
3214
3228
 
3215
3229
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3218,10 +3232,11 @@ Returns fieldnames of Metadata Type. 'this.definition.fields' variable only set
3218
3232
  | Param | Type | Description |
3219
3233
  | --- | --- | --- |
3220
3234
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3235
+ | [isCaching] | <code>boolean</code> | if true, then check if field should be skipped for caching |
3221
3236
 
3222
3237
  <a name="MetadataType.deploy"></a>
3223
3238
 
3224
- ### MetadataType.deploy(metadata, deployDir, retrieveDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3239
+ ### MetadataType.deploy(metadata, deployDir, retrieveDir, [isRefresh]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3225
3240
  Deploys metadata
3226
3241
 
3227
3242
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3232,18 +3247,58 @@ Deploys metadata
3232
3247
  | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3233
3248
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
3234
3249
  | retrieveDir | <code>string</code> | directory where metadata after deploy should be saved |
3250
+ | [isRefresh] | <code>boolean</code> | optional flag to indicate that triggeredSend should be refreshed after deployment of assets |
3235
3251
 
3236
3252
  <a name="MetadataType.postDeployTasks"></a>
3237
3253
 
3238
- ### MetadataType.postDeployTasks(metadata, originalMetadata) ⇒ <code>void</code>
3254
+ ### MetadataType.postDeployTasks(upsertResults, originalMetadata, createdUpdated, [isRefresh]) ⇒ <code>void</code>
3239
3255
  Gets executed after deployment of metadata type
3240
3256
 
3241
3257
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3242
3258
 
3243
3259
  | Param | Type | Description |
3244
3260
  | --- | --- | --- |
3245
- | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3261
+ | upsertResults | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField as returned by update/create |
3246
3262
  | originalMetadata | <code>TYPE.MetadataTypeMap</code> | metadata to be updated (contains additioanl fields) |
3263
+ | createdUpdated | <code>Object</code> | counter representing successful creates/updates |
3264
+ | [isRefresh] | <code>boolean</code> | optional flag to indicate that triggeredSend should be refreshed after deployment of assets |
3265
+
3266
+ <a name="MetadataType.postCreateTasks"></a>
3267
+
3268
+ ### MetadataType.postCreateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
3269
+ helper for [createREST](createREST)
3270
+
3271
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3272
+
3273
+ | Param | Type | Description |
3274
+ | --- | --- | --- |
3275
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3276
+ | apiResponse | <code>object</code> | varies depending on the API call |
3277
+
3278
+ <a name="MetadataType.postUpdateTasks"></a>
3279
+
3280
+ ### MetadataType.postUpdateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
3281
+ helper for [updateREST](updateREST)
3282
+
3283
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3284
+
3285
+ | Param | Type | Description |
3286
+ | --- | --- | --- |
3287
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3288
+ | apiResponse | <code>object</code> | varies depending on the API call |
3289
+
3290
+ <a name="MetadataType.postDeployTasks_legacyApi"></a>
3291
+
3292
+ ### MetadataType.postDeployTasks\_legacyApi(metadataEntry, apiResponse) ⇒ <code>Promise.&lt;void&gt;</code>
3293
+ helper for [createREST](createREST) when legacy API endpoints as these do not return the created item but only their new id
3294
+
3295
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3296
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
3297
+
3298
+ | Param | Type | Description |
3299
+ | --- | --- | --- |
3300
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3301
+ | apiResponse | <code>object</code> | varies depending on the API call |
3247
3302
 
3248
3303
  <a name="MetadataType.postRetrieveTasks"></a>
3249
3304
 
@@ -3311,7 +3366,7 @@ Gets metadata from Marketing Cloud
3311
3366
 
3312
3367
  <a name="MetadataType.retrieveForCache"></a>
3313
3368
 
3314
- ### MetadataType.retrieveForCache([additionalFields], [subTypeArr]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3369
+ ### MetadataType.retrieveForCache([additionalFields], [subTypeArr], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3315
3370
  Gets metadata cache with limited fields and does not store value to disk
3316
3371
 
3317
3372
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3321,6 +3376,7 @@ Gets metadata cache with limited fields and does not store value to disk
3321
3376
  | --- | --- | --- |
3322
3377
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3323
3378
  | [subTypeArr] | <code>Array.&lt;string&gt;</code> | optionally limit to a single subtype |
3379
+ | [key] | <code>string</code> | customer key of single item to retrieve |
3324
3380
 
3325
3381
  <a name="MetadataType.retrieveAsTemplate"></a>
3326
3382
 
@@ -3337,6 +3393,21 @@ Gets metadata cache with limited fields and does not store value to disk
3337
3393
  | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
3338
3394
  | [subType] | <code>string</code> | optionally limit to a single subtype |
3339
3395
 
3396
+ <a name="MetadataType.retrieveTemplateREST"></a>
3397
+
3398
+ ### MetadataType.retrieveTemplateREST(templateDir, uri, templateVariables, name) ⇒ <code>Promise.&lt;{metadata: TYPE.MetadataTypeItem, type: string}&gt;</code>
3399
+ Retrieve a specific Script by Name
3400
+
3401
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3402
+ **Returns**: <code>Promise.&lt;{metadata: TYPE.MetadataTypeItem, type: string}&gt;</code> - Promise
3403
+
3404
+ | Param | Type | Description |
3405
+ | --- | --- | --- |
3406
+ | templateDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3407
+ | uri | <code>string</code> | rest endpoint for GET |
3408
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
3409
+ | name | <code>string</code> | name (not key) of the metadata item |
3410
+
3340
3411
  <a name="MetadataType.buildTemplate"></a>
3341
3412
 
3342
3413
  ### MetadataType.buildTemplate(retrieveDir, templateDir, key, templateVariables) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
@@ -3426,7 +3497,7 @@ test if metadata was actually changed or not to potentially skip it during deplo
3426
3497
 
3427
3498
  <a name="MetadataType.upsert"></a>
3428
3499
 
3429
- ### MetadataType.upsert(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3500
+ ### MetadataType.upsert(metadataMap, deployDir, [isRefresh]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMap&gt;</code>
3430
3501
  MetadataType upsert, after retrieving from target and comparing to check if create or update operation is needed.
3431
3502
 
3432
3503
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3434,17 +3505,21 @@ MetadataType upsert, after retrieving from target and comparing to check if crea
3434
3505
 
3435
3506
  | Param | Type | Description |
3436
3507
  | --- | --- | --- |
3437
- | metadata | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3508
+ | metadataMap | <code>TYPE.MetadataTypeMap</code> | metadata mapped by their keyField |
3438
3509
  | deployDir | <code>string</code> | directory where deploy metadata are saved |
3510
+ | [isRefresh] | <code>boolean</code> | optional flag to indicate that triggeredSend should be refreshed after deployment of assets |
3439
3511
 
3440
3512
  <a name="MetadataType.createOrUpdate"></a>
3441
3513
 
3442
- ### MetadataType.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>void</code>
3514
+ ### MetadataType.createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code>
3515
+ helper for [upsert](#MetadataType.upsert)
3516
+
3443
3517
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3518
+ **Returns**: <code>&#x27;create&#x27;</code> \| <code>&#x27;update&#x27;</code> \| <code>&#x27;skip&#x27;</code> - action to take
3444
3519
 
3445
3520
  | Param | Type | Description |
3446
3521
  | --- | --- | --- |
3447
- | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata itme |
3522
+ | metadataMap | <code>TYPE.MetadataTypeMap</code> | list of metadata |
3448
3523
  | metadataKey | <code>string</code> | key of item we are looking at |
3449
3524
  | hasError | <code>boolean</code> | error flag from previous code |
3450
3525
  | metadataToUpdate | <code>Array.&lt;TYPE.MetadataTypeItemDiff&gt;</code> | list of items to update |
@@ -3465,7 +3540,7 @@ Creates a single metadata entry via REST
3465
3540
 
3466
3541
  <a name="MetadataType.createSOAP"></a>
3467
3542
 
3468
- ### MetadataType.createSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3543
+ ### MetadataType.createSOAP(metadataEntry, [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3469
3544
  Creates a single metadata entry via fuel-soap (generic lib not wrapper)
3470
3545
 
3471
3546
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3474,26 +3549,25 @@ Creates a single metadata entry via fuel-soap (generic lib not wrapper)
3474
3549
  | Param | Type | Description |
3475
3550
  | --- | --- | --- |
3476
3551
  | metadataEntry | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
3477
- | [overrideType] | <code>string</code> | can be used if the API type differs from the otherwise used type identifier |
3478
3552
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3479
3553
 
3480
3554
  <a name="MetadataType.updateREST"></a>
3481
3555
 
3482
- ### MetadataType.updateREST(metadataEntry, uri, [usePut]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3556
+ ### MetadataType.updateREST(metadataEntry, uri, [httpMethod]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3483
3557
  Updates a single metadata entry via REST
3484
3558
 
3485
3559
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3486
3560
  **Returns**: <code>Promise.&lt;object&gt;</code> \| <code>null</code> - Promise of API response or null in case of an error
3487
3561
 
3488
- | Param | Type | Description |
3489
- | --- | --- | --- |
3490
- | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
3491
- | uri | <code>string</code> | rest endpoint for PATCH |
3492
- | [usePut] | <code>boolean</code> | some update requests require PUT instead of PATCH |
3562
+ | Param | Type | Default | Description |
3563
+ | --- | --- | --- | --- |
3564
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | | a single metadata Entry |
3565
+ | uri | <code>string</code> | | rest endpoint for PATCH |
3566
+ | [httpMethod] | <code>&#x27;patch&#x27;</code> \| <code>&#x27;post&#x27;</code> \| <code>&#x27;put&#x27;</code> | <code>&#x27;patch&#x27;</code> | defaults to 'patch'; some update requests require PUT instead of PATCH |
3493
3567
 
3494
3568
  <a name="MetadataType.updateSOAP"></a>
3495
3569
 
3496
- ### MetadataType.updateSOAP(metadataEntry, [overrideType], [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3570
+ ### MetadataType.updateSOAP(metadataEntry, [handleOutside]) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>null</code>
3497
3571
  Updates a single metadata entry via fuel-soap (generic lib not wrapper)
3498
3572
 
3499
3573
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3502,7 +3576,6 @@ Updates a single metadata entry via fuel-soap (generic lib not wrapper)
3502
3576
  | Param | Type | Description |
3503
3577
  | --- | --- | --- |
3504
3578
  | metadataEntry | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
3505
- | [overrideType] | <code>string</code> | can be used if the API type differs from the otherwise used type identifier |
3506
3579
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3507
3580
 
3508
3581
  <a name="MetadataType._handleSOAPErrors"></a>
@@ -3531,7 +3604,7 @@ helper for [_handleSOAPErrors](_handleSOAPErrors)
3531
3604
 
3532
3605
  <a name="MetadataType.retrieveSOAP"></a>
3533
3606
 
3534
- ### MetadataType.retrieveSOAP(retrieveDir, [requestParams], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3607
+ ### MetadataType.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3535
3608
  Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type into local filesystem. executes callback with retrieved metadata
3536
3609
 
3537
3610
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3541,11 +3614,12 @@ Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type int
3541
3614
  | --- | --- | --- |
3542
3615
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3543
3616
  | [requestParams] | <code>TYPE.SoapRequestParams</code> | required for the specific request (filter for example) |
3617
+ | [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
3544
3618
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
3545
3619
 
3546
3620
  <a name="MetadataType.retrieveREST"></a>
3547
3621
 
3548
- ### MetadataType.retrieveREST(retrieveDir, uri, [overrideType], [templateVariables], [singleRetrieve]) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3622
+ ### MetadataType.retrieveREST(retrieveDir, uri, [templateVariables], [singleRetrieve]) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3549
3623
  Retrieves Metadata for Rest Types
3550
3624
 
3551
3625
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3555,7 +3629,6 @@ Retrieves Metadata for Rest Types
3555
3629
  | --- | --- | --- |
3556
3630
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
3557
3631
  | uri | <code>string</code> | rest endpoint for GET |
3558
- | [overrideType] | <code>string</code> | force a metadata type (mainly used for Folders) |
3559
3632
  | [templateVariables] | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
3560
3633
  | [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
3561
3634
 
@@ -3822,18 +3895,20 @@ Delete a metadata item from the specified business unit
3822
3895
 
3823
3896
  <a name="MetadataType.postDeleteTasks"></a>
3824
3897
 
3825
- ### MetadataType.postDeleteTasks(customerKey) ⇒ <code>void</code>
3898
+ ### MetadataType.postDeleteTasks(customerKey, [additionalExtensions]) ⇒ <code>Promise.&lt;void&gt;</code>
3826
3899
  clean up after deleting a metadata item
3827
3900
 
3828
3901
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3902
+ **Returns**: <code>Promise.&lt;void&gt;</code> - - Promise
3829
3903
 
3830
3904
  | Param | Type | Description |
3831
3905
  | --- | --- | --- |
3832
3906
  | customerKey | <code>string</code> | Identifier of metadata item |
3907
+ | [additionalExtensions] | <code>Array.&lt;string&gt;</code> | additional file extensions to delete on top of `${this.definition.type}-meta.json` |
3833
3908
 
3834
3909
  <a name="MetadataType.deleteByKeySOAP"></a>
3835
3910
 
3836
- ### MetadataType.deleteByKeySOAP(customerKey, [handleOutside]) ⇒ <code>boolean</code>
3911
+ ### MetadataType.deleteByKeySOAP(customerKey, [overrideKeyField], [handleOutside]) ⇒ <code>boolean</code>
3837
3912
  Delete a data extension from the specified business unit
3838
3913
 
3839
3914
  **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
@@ -3842,6 +3917,7 @@ Delete a data extension from the specified business unit
3842
3917
  | Param | Type | Description |
3843
3918
  | --- | --- | --- |
3844
3919
  | customerKey | <code>string</code> | Identifier of metadata |
3920
+ | [overrideKeyField] | <code>string</code> | optionally change the name of the key field if the api uses a different name |
3845
3921
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3846
3922
 
3847
3923
  <a name="MetadataType.deleteByKeyREST"></a>
@@ -3929,20 +4005,32 @@ MobileKeyword MetadataType
3929
4005
  **Extends**: [<code>MetadataType</code>](#MetadataType)
3930
4006
 
3931
4007
  * [MobileKeyword](#MobileKeyword) ⇐ [<code>MetadataType</code>](#MetadataType)
3932
- * [.retrieve(retrieveDir, [_], [__], [key])](#MobileKeyword.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3933
- * [.retrieveForCache()](#MobileKeyword.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4008
+ * [.retrieve(retrieveDir, [_], [__], [key])](#MobileKeyword.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code>
4009
+ * [.retrieveForCache(_, __, [key])](#MobileKeyword.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3934
4010
  * [.retrieveAsTemplate(templateDir, name, templateVariables)](#MobileKeyword.retrieveAsTemplate) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
3935
4011
  * [.create(MobileKeyword)](#MobileKeyword.create) ⇒ <code>Promise</code>
3936
- * [.preDeployTasks(metadata)](#MobileKeyword.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4012
+ * [.update(metadata)](#MobileKeyword.update) ⇒ <code>Promise</code>
4013
+ * [.postRetrieveTasks(metadata)](#MobileKeyword.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code>
4014
+ * [.prepExtractedCode(metadataScript)](#MobileKeyword.prepExtractedCode) ⇒ <code>Object</code>
4015
+ * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileKeyword.buildDefinitionForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4016
+ * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileKeyword.buildTemplateForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4017
+ * [._buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode)](#MobileKeyword._buildForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4018
+ * [.preDeployTasks(metadata, deployDir)](#MobileKeyword.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
4019
+ * [.postCreateTasks(metadataEntry, apiResponse)](#MobileKeyword.postCreateTasks) ⇒ <code>void</code>
4020
+ * [.postUpdateTasks(metadataEntry, apiResponse)](#MobileKeyword.postUpdateTasks) ⇒ <code>void</code>
4021
+ * [._mergeCode(metadata, deployDir, [templateName])](#MobileKeyword._mergeCode) ⇒ <code>Promise.&lt;string&gt;</code>
4022
+ * [.deleteByKey(key)](#MobileKeyword.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4023
+ * [.postDeleteTasks(customerKey)](#MobileKeyword.postDeleteTasks) ⇒ <code>void</code>
4024
+ * [.getFilesToCommit(keyArr)](#MobileKeyword.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
3937
4025
 
3938
4026
  <a name="MobileKeyword.retrieve"></a>
3939
4027
 
3940
- ### MobileKeyword.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4028
+ ### MobileKeyword.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code>
3941
4029
  Retrieves Metadata of Mobile Keywords
3942
4030
  Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all details.
3943
4031
 
3944
4032
  **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
3945
- **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4033
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code> - Promise of metadata
3946
4034
 
3947
4035
  | Param | Type | Description |
3948
4036
  | --- | --- | --- |
@@ -3953,11 +4041,18 @@ Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all det
3953
4041
 
3954
4042
  <a name="MobileKeyword.retrieveForCache"></a>
3955
4043
 
3956
- ### MobileKeyword.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4044
+ ### MobileKeyword.retrieveForCache(_, __, [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3957
4045
  Retrieves event definition metadata for caching
3958
4046
 
3959
4047
  **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
3960
4048
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4049
+
4050
+ | Param | Type | Description |
4051
+ | --- | --- | --- |
4052
+ | _ | <code>void</code> | parameter not used |
4053
+ | __ | <code>void</code> | parameter not used |
4054
+ | [key] | <code>string</code> | customer key of single item to retrieve |
4055
+
3961
4056
  <a name="MobileKeyword.retrieveAsTemplate"></a>
3962
4057
 
3963
4058
  ### MobileKeyword.retrieveAsTemplate(templateDir, name, templateVariables) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItemObj&gt;</code>
@@ -3984,40 +4079,443 @@ Creates a single Event Definition
3984
4079
  | --- | --- | --- |
3985
4080
  | MobileKeyword | <code>TYPE.MetadataTypeItem</code> | a single Event Definition |
3986
4081
 
3987
- <a name="MobileKeyword.preDeployTasks"></a>
4082
+ <a name="MobileKeyword.update"></a>
3988
4083
 
3989
- ### MobileKeyword.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
3990
- prepares an event definition for deployment
4084
+ ### MobileKeyword.update(metadata) ⇒ <code>Promise</code>
4085
+ Updates a single item
3991
4086
 
3992
4087
  **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
3993
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
4088
+ **Returns**: <code>Promise</code> - Promise
3994
4089
 
3995
4090
  | Param | Type | Description |
3996
4091
  | --- | --- | --- |
3997
- | metadata | <code>TYPE.MetadataTypeItem</code> | a single MobileKeyword |
4092
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
3998
4093
 
3999
- <a name="Query"></a>
4094
+ <a name="MobileKeyword.postRetrieveTasks"></a>
4000
4095
 
4001
- ## Query [<code>MetadataType</code>](#MetadataType)
4002
- Query MetadataType
4096
+ ### MobileKeyword.postRetrieveTasks(metadata) <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code>
4097
+ manages post retrieve steps
4003
4098
 
4004
- **Kind**: global class
4005
- **Extends**: [<code>MetadataType</code>](#MetadataType)
4099
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4100
+ **Returns**: <code>TYPE.CodeExtractItem</code> \| <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one ssjs string
4006
4101
 
4007
- * [Query](#Query) [<code>MetadataType</code>](#MetadataType)
4008
- * [.retrieve(retrieveDir, [_], [__], [key])](#Query.retrieve) <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4009
- * [.retrieveForCache()](#Query.retrieveForCache) <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4010
- * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Query.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: Query, type: string}&gt;</code>
4011
- * [.postRetrieveTasks(metadata)](#Query.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
4102
+ | Param | Type | Description |
4103
+ | --- | --- | --- |
4104
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4105
+
4106
+ <a name="MobileKeyword.prepExtractedCode"></a>
4107
+
4108
+ ### MobileKeyword.prepExtractedCode(metadataScript) ⇒ <code>Object</code>
4109
+ helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
4110
+
4111
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4112
+ **Returns**: <code>Object</code> - returns found extension and file content
4113
+
4114
+ | Param | Type | Description |
4115
+ | --- | --- | --- |
4116
+ | metadataScript | <code>string</code> | the code of the file |
4117
+
4118
+ <a name="MobileKeyword.buildDefinitionForNested"></a>
4119
+
4120
+ ### MobileKeyword.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4121
+ helper for [buildDefinition](#MetadataType.buildDefinition)
4122
+ handles extracted code if any are found for complex types
4123
+
4124
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4125
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4126
+
4127
+ | Param | Type | Description |
4128
+ | --- | --- | --- |
4129
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4130
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4131
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4132
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4133
+ | templateName | <code>string</code> | name of the template to be built |
4134
+
4135
+ <a name="MobileKeyword.buildTemplateForNested"></a>
4136
+
4137
+ ### MobileKeyword.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4138
+ helper for [buildTemplate](#MetadataType.buildTemplate)
4139
+ handles extracted code if any are found for complex types
4140
+
4141
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4142
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4143
+
4144
+ | Param | Type | Description |
4145
+ | --- | --- | --- |
4146
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4147
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4148
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4149
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4150
+ | templateName | <code>string</code> | name of the template to be built |
4151
+
4152
+ **Example**
4153
+ ```js
4154
+ scripts are saved as 1 json and 1 ssjs file. both files need to be run through templating
4155
+ ```
4156
+ <a name="MobileKeyword._buildForNested"></a>
4157
+
4158
+ ### MobileKeyword.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4159
+ helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
4160
+ handles extracted code if any are found for complex types
4161
+
4162
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4163
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4164
+
4165
+ | Param | Type | Description |
4166
+ | --- | --- | --- |
4167
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4168
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4169
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4170
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4171
+ | templateName | <code>string</code> | name of the template to be built |
4172
+ | mode | <code>&#x27;definition&#x27;</code> \| <code>&#x27;template&#x27;</code> | defines what we use this helper for |
4173
+
4174
+ <a name="MobileKeyword.preDeployTasks"></a>
4175
+
4176
+ ### MobileKeyword.preDeployTasks(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
4177
+ prepares an event definition for deployment
4178
+
4179
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4180
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code> - Promise
4181
+
4182
+ | Param | Type | Description |
4183
+ | --- | --- | --- |
4184
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single MobileKeyword |
4185
+ | deployDir | <code>string</code> | directory of deploy files |
4186
+
4187
+ <a name="MobileKeyword.postCreateTasks"></a>
4188
+
4189
+ ### MobileKeyword.postCreateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
4190
+ helper for [createREST](createREST)
4191
+
4192
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4193
+
4194
+ | Param | Type | Description |
4195
+ | --- | --- | --- |
4196
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
4197
+ | apiResponse | <code>object</code> | varies depending on the API call |
4198
+
4199
+ <a name="MobileKeyword.postUpdateTasks"></a>
4200
+
4201
+ ### MobileKeyword.postUpdateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
4202
+ helper for [updateREST](updateREST)
4203
+
4204
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4205
+
4206
+ | Param | Type | Description |
4207
+ | --- | --- | --- |
4208
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
4209
+ | apiResponse | <code>object</code> | varies depending on the API call |
4210
+
4211
+ <a name="MobileKeyword._mergeCode"></a>
4212
+
4213
+ ### MobileKeyword.\_mergeCode(metadata, deployDir, [templateName]) ⇒ <code>Promise.&lt;string&gt;</code>
4214
+ helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
4215
+
4216
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4217
+ **Returns**: <code>Promise.&lt;string&gt;</code> - content for metadata.script
4218
+
4219
+ | Param | Type | Description |
4220
+ | --- | --- | --- |
4221
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single definition |
4222
+ | deployDir | <code>string</code> | directory of deploy files |
4223
+ | [templateName] | <code>string</code> | name of the template used to built defintion (prior applying templating) |
4224
+
4225
+ <a name="MobileKeyword.deleteByKey"></a>
4226
+
4227
+ ### MobileKeyword.deleteByKey(key) ⇒ <code>Promise.&lt;boolean&gt;</code>
4228
+ Delete a metadata item from the specified business unit
4229
+
4230
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4231
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
4232
+
4233
+ | Param | Type | Description |
4234
+ | --- | --- | --- |
4235
+ | key | <code>string</code> | Identifier of item |
4236
+
4237
+ <a name="MobileKeyword.postDeleteTasks"></a>
4238
+
4239
+ ### MobileKeyword.postDeleteTasks(customerKey) ⇒ <code>void</code>
4240
+ clean up after deleting a metadata item
4241
+
4242
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4243
+
4244
+ | Param | Type | Description |
4245
+ | --- | --- | --- |
4246
+ | customerKey | <code>string</code> | Identifier of metadata item |
4247
+
4248
+ <a name="MobileKeyword.getFilesToCommit"></a>
4249
+
4250
+ ### MobileKeyword.getFilesToCommit(keyArr) ⇒ <code>Array.&lt;string&gt;</code>
4251
+ should return only the json for all but asset, query and script that are saved as multiple files
4252
+ additionally, the documentation for dataExtension and automation should be returned
4253
+
4254
+ **Kind**: static method of [<code>MobileKeyword</code>](#MobileKeyword)
4255
+ **Returns**: <code>Array.&lt;string&gt;</code> - list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
4256
+
4257
+ | Param | Type | Description |
4258
+ | --- | --- | --- |
4259
+ | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
4260
+
4261
+ <a name="MobileMessage"></a>
4262
+
4263
+ ## MobileMessage ⇐ [<code>MetadataType</code>](#MetadataType)
4264
+ MobileMessage MetadataType
4265
+
4266
+ **Kind**: global class
4267
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
4268
+
4269
+ * [MobileMessage](#MobileMessage) ⇐ [<code>MetadataType</code>](#MetadataType)
4270
+ * [.retrieve(retrieveDir, [_], [__], [key])](#MobileMessage.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code>
4271
+ * [.retrieveForCache(_, __, [key])](#MobileMessage.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4272
+ * [.update(metadata)](#MobileMessage.update) ⇒ <code>Promise</code>
4273
+ * [.create(metadata)](#MobileMessage.create) ⇒ <code>Promise</code>
4274
+ * [._mergeCode(metadata, deployDir, [templateName])](#MobileMessage._mergeCode) ⇒ <code>Promise.&lt;string&gt;</code>
4275
+ * [.prepExtractedCode(code)](#MobileMessage.prepExtractedCode) ⇒ <code>Object</code>
4276
+ * [.getFilesToCommit(keyArr)](#MobileMessage.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
4277
+ * [.postRetrieveTasks(metadata)](#MobileMessage.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
4278
+ * [.preDeployTasks(metadata, deployDir)](#MobileMessage.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4279
+ * [.postCreateTasks(metadataEntry, apiResponse)](#MobileMessage.postCreateTasks) ⇒ <code>void</code>
4280
+ * [.postUpdateTasks(metadataEntry, apiResponse)](#MobileMessage.postUpdateTasks) ⇒ <code>void</code>
4281
+ * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileMessage.buildDefinitionForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4282
+ * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#MobileMessage.buildTemplateForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4283
+ * [._buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode)](#MobileMessage._buildForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4284
+ * [.deleteByKey(id)](#MobileMessage.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4285
+
4286
+ <a name="MobileMessage.retrieve"></a>
4287
+
4288
+ ### MobileMessage.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code>
4289
+ Retrieves Metadata of Mobile Keywords
4290
+
4291
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4292
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> \| <code>void</code> - Promise of metadata
4293
+
4294
+ | Param | Type | Description |
4295
+ | --- | --- | --- |
4296
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4297
+ | [_] | <code>void</code> | unused parameter |
4298
+ | [__] | <code>void</code> | unused parameter |
4299
+ | [key] | <code>string</code> | customer key of single item to retrieve |
4300
+
4301
+ <a name="MobileMessage.retrieveForCache"></a>
4302
+
4303
+ ### MobileMessage.retrieveForCache(_, __, [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4304
+ Retrieves event definition metadata for caching
4305
+
4306
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4307
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4308
+
4309
+ | Param | Type | Description |
4310
+ | --- | --- | --- |
4311
+ | _ | <code>void</code> | parameter not used |
4312
+ | __ | <code>void</code> | parameter not used |
4313
+ | [key] | <code>string</code> | customer key of single item to retrieve |
4314
+
4315
+ <a name="MobileMessage.update"></a>
4316
+
4317
+ ### MobileMessage.update(metadata) ⇒ <code>Promise</code>
4318
+ Updates a single item
4319
+
4320
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4321
+ **Returns**: <code>Promise</code> - Promise
4322
+
4323
+ | Param | Type | Description |
4324
+ | --- | --- | --- |
4325
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4326
+
4327
+ <a name="MobileMessage.create"></a>
4328
+
4329
+ ### MobileMessage.create(metadata) ⇒ <code>Promise</code>
4330
+ Creates a single item
4331
+
4332
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4333
+ **Returns**: <code>Promise</code> - Promise
4334
+
4335
+ | Param | Type | Description |
4336
+ | --- | --- | --- |
4337
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4338
+
4339
+ <a name="MobileMessage._mergeCode"></a>
4340
+
4341
+ ### MobileMessage.\_mergeCode(metadata, deployDir, [templateName]) ⇒ <code>Promise.&lt;string&gt;</code>
4342
+ helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
4343
+
4344
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4345
+ **Returns**: <code>Promise.&lt;string&gt;</code> - code
4346
+
4347
+ | Param | Type | Description |
4348
+ | --- | --- | --- |
4349
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single definition |
4350
+ | deployDir | <code>string</code> | directory of deploy files |
4351
+ | [templateName] | <code>string</code> | name of the template used to built defintion (prior applying templating) |
4352
+
4353
+ <a name="MobileMessage.prepExtractedCode"></a>
4354
+
4355
+ ### MobileMessage.prepExtractedCode(code) ⇒ <code>Object</code>
4356
+ helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
4357
+
4358
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4359
+ **Returns**: <code>Object</code> - returns found extension and file content
4360
+
4361
+ | Param | Type | Description |
4362
+ | --- | --- | --- |
4363
+ | code | <code>string</code> | the code of the file |
4364
+
4365
+ <a name="MobileMessage.getFilesToCommit"></a>
4366
+
4367
+ ### MobileMessage.getFilesToCommit(keyArr) ⇒ <code>Array.&lt;string&gt;</code>
4368
+ should return only the json for all but asset, query and script that are saved as multiple files
4369
+ additionally, the documentation for dataExtension and automation should be returned
4370
+
4371
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4372
+ **Returns**: <code>Array.&lt;string&gt;</code> - list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
4373
+
4374
+ | Param | Type | Description |
4375
+ | --- | --- | --- |
4376
+ | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
4377
+
4378
+ <a name="MobileMessage.postRetrieveTasks"></a>
4379
+
4380
+ ### MobileMessage.postRetrieveTasks(metadata) ⇒ <code>TYPE.CodeExtractItem</code>
4381
+ manages post retrieve steps
4382
+
4383
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4384
+ **Returns**: <code>TYPE.CodeExtractItem</code> - Array with one metadata object and one query string
4385
+
4386
+ | Param | Type | Description |
4387
+ | --- | --- | --- |
4388
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
4389
+
4390
+ <a name="MobileMessage.preDeployTasks"></a>
4391
+
4392
+ ### MobileMessage.preDeployTasks(metadata, deployDir) ⇒ <code>TYPE.MetadataTypeItem</code>
4393
+ prepares an event definition for deployment
4394
+
4395
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4396
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
4397
+
4398
+ | Param | Type | Description |
4399
+ | --- | --- | --- |
4400
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single MobileMessage |
4401
+ | deployDir | <code>string</code> | directory of deploy files |
4402
+
4403
+ <a name="MobileMessage.postCreateTasks"></a>
4404
+
4405
+ ### MobileMessage.postCreateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
4406
+ helper for [createREST](createREST)
4407
+
4408
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4409
+
4410
+ | Param | Type | Description |
4411
+ | --- | --- | --- |
4412
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
4413
+ | apiResponse | <code>object</code> | varies depending on the API call |
4414
+
4415
+ <a name="MobileMessage.postUpdateTasks"></a>
4416
+
4417
+ ### MobileMessage.postUpdateTasks(metadataEntry, apiResponse) ⇒ <code>void</code>
4418
+ helper for [updateREST](updateREST)
4419
+
4420
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4421
+
4422
+ | Param | Type | Description |
4423
+ | --- | --- | --- |
4424
+ | metadataEntry | <code>TYPE.MetadataTypeItem</code> | a single metadata Entry |
4425
+ | apiResponse | <code>object</code> | varies depending on the API call |
4426
+
4427
+ <a name="MobileMessage.buildDefinitionForNested"></a>
4428
+
4429
+ ### MobileMessage.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4430
+ helper for [buildDefinition](#MetadataType.buildDefinition)
4431
+ handles extracted code if any are found for complex types
4432
+
4433
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4434
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4435
+
4436
+ | Param | Type | Description |
4437
+ | --- | --- | --- |
4438
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4439
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4440
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4441
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4442
+ | templateName | <code>string</code> | name of the template to be built |
4443
+
4444
+ <a name="MobileMessage.buildTemplateForNested"></a>
4445
+
4446
+ ### MobileMessage.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4447
+ helper for [buildTemplate](#MetadataType.buildTemplate)
4448
+ handles extracted code if any are found for complex types
4449
+
4450
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4451
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4452
+
4453
+ | Param | Type | Description |
4454
+ | --- | --- | --- |
4455
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4456
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4457
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4458
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4459
+ | templateName | <code>string</code> | name of the template to be built |
4460
+
4461
+ **Example**
4462
+ ```js
4463
+ scripts are saved as 1 json and 1 ssjs file. both files need to be run through templating
4464
+ ```
4465
+ <a name="MobileMessage._buildForNested"></a>
4466
+
4467
+ ### MobileMessage.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4468
+ helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
4469
+ handles extracted code if any are found for complex types
4470
+
4471
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4472
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4473
+
4474
+ | Param | Type | Description |
4475
+ | --- | --- | --- |
4476
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4477
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4478
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4479
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4480
+ | templateName | <code>string</code> | name of the template to be built |
4481
+ | mode | <code>&#x27;definition&#x27;</code> \| <code>&#x27;template&#x27;</code> | defines what we use this helper for |
4482
+
4483
+ <a name="MobileMessage.deleteByKey"></a>
4484
+
4485
+ ### MobileMessage.deleteByKey(id) ⇒ <code>Promise.&lt;boolean&gt;</code>
4486
+ Delete a metadata item from the specified business unit
4487
+ ! the endpoint expects the ID and not a key but for mcdev in this case key==id
4488
+
4489
+ **Kind**: static method of [<code>MobileMessage</code>](#MobileMessage)
4490
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
4491
+
4492
+ | Param | Type | Description |
4493
+ | --- | --- | --- |
4494
+ | id | <code>string</code> | Identifier of item |
4495
+
4496
+ <a name="Query"></a>
4497
+
4498
+ ## Query ⇐ [<code>MetadataType</code>](#MetadataType)
4499
+ Query MetadataType
4500
+
4501
+ **Kind**: global class
4502
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
4503
+
4504
+ * [Query](#Query) ⇐ [<code>MetadataType</code>](#MetadataType)
4505
+ * [.retrieve(retrieveDir, [_], [__], [key])](#Query.retrieve) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4506
+ * [.retrieveForCache()](#Query.retrieveForCache) ⇒ <code>Promise.&lt;{metadata: TYPE.QueryMap, type: string}&gt;</code>
4507
+ * [.retrieveAsTemplate(templateDir, name, templateVariables)](#Query.retrieveAsTemplate) ⇒ <code>Promise.&lt;{metadata: Query, type: string}&gt;</code>
4508
+ * [.postRetrieveTasks(metadata)](#Query.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
4012
4509
  * [.create(query)](#Query.create) ⇒ <code>Promise</code>
4013
4510
  * [.update(query)](#Query.update) ⇒ <code>Promise</code>
4014
4511
  * [.preDeployTasks(metadata, deployDir)](#Query.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.QueryItem&gt;</code>
4015
4512
  * [.applyTemplateValues(code, templateVariables)](#Query.applyTemplateValues) ⇒ <code>string</code>
4016
4513
  * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Query.buildDefinitionForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4017
4514
  * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Query.buildTemplateForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4018
- * [.parseMetadata(metadata)](#Query.parseMetadata) ⇒ <code>TYPE.CodeExtractItem</code>
4019
4515
  * [.getFilesToCommit(keyArr)](#Query.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
4020
4516
  * [.checkForErrors(ex)](#Query.checkForErrors) ⇒ <code>Array.&lt;string&gt;</code> \| <code>void</code>
4517
+ * [.deleteByKey(customerKey)](#Query.deleteByKey) ⇒ <code>boolean</code>
4518
+ * [.postDeleteTasks(customerKey)](#Query.postDeleteTasks) ⇒ <code>void</code>
4021
4519
 
4022
4520
  <a name="Query.retrieve"></a>
4023
4521
 
@@ -4156,18 +4654,6 @@ handles extracted code if any are found for complex types
4156
4654
  ```js
4157
4655
  queries are saved as 1 json and 1 sql file. both files need to be run through templating
4158
4656
  ```
4159
- <a name="Query.parseMetadata"></a>
4160
-
4161
- ### Query.parseMetadata(metadata) ⇒ <code>TYPE.CodeExtractItem</code>
4162
- parses retrieved Metadata before saving
4163
-
4164
- **Kind**: static method of [<code>Query</code>](#Query)
4165
- **Returns**: <code>TYPE.CodeExtractItem</code> - a single item with code parts extracted
4166
-
4167
- | Param | Type | Description |
4168
- | --- | --- | --- |
4169
- | metadata | <code>TYPE.QueryItem</code> | a single query activity definition |
4170
-
4171
4657
  <a name="Query.getFilesToCommit"></a>
4172
4658
 
4173
4659
  ### Query.getFilesToCommit(keyArr) ⇒ <code>Array.&lt;string&gt;</code>
@@ -4193,6 +4679,29 @@ Standardizes a check for multiple messages but adds query specific filters to er
4193
4679
  | --- | --- | --- |
4194
4680
  | ex | <code>object</code> | response payload from REST API |
4195
4681
 
4682
+ <a name="Query.deleteByKey"></a>
4683
+
4684
+ ### Query.deleteByKey(customerKey) ⇒ <code>boolean</code>
4685
+ Delete a metadata item from the specified business unit
4686
+
4687
+ **Kind**: static method of [<code>Query</code>](#Query)
4688
+ **Returns**: <code>boolean</code> - deletion success status
4689
+
4690
+ | Param | Type | Description |
4691
+ | --- | --- | --- |
4692
+ | customerKey | <code>string</code> | Identifier of data extension |
4693
+
4694
+ <a name="Query.postDeleteTasks"></a>
4695
+
4696
+ ### Query.postDeleteTasks(customerKey) ⇒ <code>void</code>
4697
+ clean up after deleting a metadata item
4698
+
4699
+ **Kind**: static method of [<code>Query</code>](#Query)
4700
+
4701
+ | Param | Type | Description |
4702
+ | --- | --- | --- |
4703
+ | customerKey | <code>string</code> | Identifier of metadata item |
4704
+
4196
4705
  <a name="Role"></a>
4197
4706
 
4198
4707
  ## Role ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -4504,6 +5013,28 @@ additionally, the documentation for dataExtension and automation should be retur
4504
5013
  | --- | --- | --- |
4505
5014
  | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
4506
5015
 
5016
+ <a name="SendClassification"></a>
5017
+
5018
+ ## SendClassification ⇐ [<code>MetadataType</code>](#MetadataType)
5019
+ SendClassification MetadataType
5020
+
5021
+ **Kind**: global class
5022
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
5023
+ <a name="SendClassification.retrieve"></a>
5024
+
5025
+ ### SendClassification.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5026
+ Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
5027
+
5028
+ **Kind**: static method of [<code>SendClassification</code>](#SendClassification)
5029
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
5030
+
5031
+ | Param | Type | Description |
5032
+ | --- | --- | --- |
5033
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
5034
+ | [_] | <code>void</code> | unused parameter |
5035
+ | [__] | <code>void</code> | unused parameter |
5036
+ | [key] | <code>string</code> | customer key of single item to retrieve |
5037
+
4507
5038
  <a name="SetDefinition"></a>
4508
5039
 
4509
5040
  ## SetDefinition ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -4605,8 +5136,7 @@ TransactionalMessage MetadataType
4605
5136
  <a name="TransactionalMessage.retrieve"></a>
4606
5137
 
4607
5138
  ### TransactionalMessage.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4608
- Retrieves Metadata of Mobile Keywords
4609
- Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
5139
+ Retrieves Metadata
4610
5140
 
4611
5141
  **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4612
5142
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
@@ -4707,7 +5237,7 @@ TransactionalSMS MetadataType
4707
5237
 
4708
5238
  * [TransactionalSMS](#TransactionalSMS) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4709
5239
  * [.postDeleteTasks(customerKey)](#TransactionalSMS.postDeleteTasks) ⇒ <code>void</code>
4710
- * [.preDeployTasks(metadata, dir)](#TransactionalSMS.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
5240
+ * [.preDeployTasks(metadata, deployDir)](#TransactionalSMS.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
4711
5241
  * [._mergeCode(metadata, deployDir, [templateName])](#TransactionalSMS._mergeCode) ⇒ <code>Promise.&lt;string&gt;</code>
4712
5242
  * [.postRetrieveTasks(metadata)](#TransactionalSMS.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
4713
5243
  * [.prepExtractedCode(metadataScript)](#TransactionalSMS.prepExtractedCode) ⇒ <code>Object</code>
@@ -4730,16 +5260,16 @@ clean up after deleting a metadata item
4730
5260
 
4731
5261
  <a name="TransactionalSMS.preDeployTasks"></a>
4732
5262
 
4733
- ### TransactionalSMS.preDeployTasks(metadata, dir) ⇒ <code>TYPE.MetadataTypeItem</code>
5263
+ ### TransactionalSMS.preDeployTasks(metadata, deployDir) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
4734
5264
  prepares for deployment
4735
5265
 
4736
5266
  **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4737
- **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
5267
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code> - Promise
4738
5268
 
4739
5269
  | Param | Type | Description |
4740
5270
  | --- | --- | --- |
4741
5271
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4742
- | dir | <code>string</code> | directory of deploy files |
5272
+ | deployDir | <code>string</code> | directory of deploy files |
4743
5273
 
4744
5274
  <a name="TransactionalSMS._mergeCode"></a>
4745
5275
 
@@ -4860,33 +5390,34 @@ additionally, the documentation for dataExtension and automation should be retur
4860
5390
  | --- | --- | --- |
4861
5391
  | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
4862
5392
 
4863
- <a name="TriggeredSendDefinition"></a>
5393
+ <a name="TriggeredSend"></a>
4864
5394
 
4865
- ## TriggeredSendDefinition ⇐ [<code>MetadataType</code>](#MetadataType)
5395
+ ## TriggeredSend ⇐ [<code>MetadataType</code>](#MetadataType)
4866
5396
  MessageSendActivity MetadataType
4867
5397
 
4868
5398
  **Kind**: global class
4869
5399
  **Extends**: [<code>MetadataType</code>](#MetadataType)
4870
5400
 
4871
- * [TriggeredSendDefinition](#TriggeredSendDefinition) ⇐ [<code>MetadataType</code>](#MetadataType)
4872
- * [.retrieve(retrieveDir, [_], [__], [key])](#TriggeredSendDefinition.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4873
- * [.create(metadata)](#TriggeredSendDefinition.create) ⇒ <code>Promise</code>
4874
- * [.update(metadata, [handleOutside])](#TriggeredSendDefinition.update) ⇒ <code>Promise</code>
4875
- * [.deleteByKey(customerKey)](#TriggeredSendDefinition.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4876
- * [.postRetrieveTasks(metadata)](#TriggeredSendDefinition.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4877
- * [.setFolderPath(metadata)](#TriggeredSendDefinition.setFolderPath)
4878
- * [.parseMetadata(metadata)](#TriggeredSendDefinition.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
4879
- * [.preDeployTasks(metadata)](#TriggeredSendDefinition.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4880
- * [.refresh([keyArr])](#TriggeredSendDefinition.refresh) ⇒ <code>Promise.&lt;void&gt;</code>
4881
- * [._findRefreshableItems()](#TriggeredSendDefinition._findRefreshableItems) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
4882
- * [._refreshItem(key, checkKey)](#TriggeredSendDefinition._refreshItem) ⇒ <code>Promise.&lt;boolean&gt;</code>
4883
-
4884
- <a name="TriggeredSendDefinition.retrieve"></a>
4885
-
4886
- ### TriggeredSendDefinition.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5401
+ * [TriggeredSend](#TriggeredSend) ⇐ [<code>MetadataType</code>](#MetadataType)
5402
+ * [.retrieve(retrieveDir, [_], [__], [key])](#TriggeredSend.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5403
+ * [.create(metadata)](#TriggeredSend.create) ⇒ <code>Promise</code>
5404
+ * [.update(metadata)](#TriggeredSend.update) ⇒ <code>Promise</code>
5405
+ * [.deleteByKey(customerKey)](#TriggeredSend.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5406
+ * [.postRetrieveTasks(metadata)](#TriggeredSend.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
5407
+ * [.setFolderPath(metadata)](#TriggeredSend.setFolderPath)
5408
+ * [.parseMetadata(metadata)](#TriggeredSend.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
5409
+ * [.preDeployTasks(metadata)](#TriggeredSend.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
5410
+ * [.refresh([keyArr], [checkKey])](#TriggeredSend.refresh) ⇒ <code>Promise.&lt;void&gt;</code>
5411
+ * [.getKeysForValidTSDs(metadata)](#TriggeredSend.getKeysForValidTSDs) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5412
+ * [.findRefreshableItems()](#TriggeredSend.findRefreshableItems) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5413
+ * [._refreshItem(key, checkKey)](#TriggeredSend._refreshItem) ⇒ <code>Promise.&lt;boolean&gt;</code>
5414
+
5415
+ <a name="TriggeredSend.retrieve"></a>
5416
+
5417
+ ### TriggeredSend.retrieve(retrieveDir, [_], [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4887
5418
  Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
4888
5419
 
4889
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5420
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4890
5421
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4891
5422
 
4892
5423
  | Param | Type | Description |
@@ -4896,115 +5427,127 @@ Retrieves SOAP based metadata of metadata type into local filesystem. executes c
4896
5427
  | [__] | <code>void</code> | unused parameter |
4897
5428
  | [key] | <code>string</code> | customer key of single item to retrieve |
4898
5429
 
4899
- <a name="TriggeredSendDefinition.create"></a>
5430
+ <a name="TriggeredSend.create"></a>
4900
5431
 
4901
- ### TriggeredSendDefinition.create(metadata) ⇒ <code>Promise</code>
5432
+ ### TriggeredSend.create(metadata) ⇒ <code>Promise</code>
4902
5433
  Create a single TSD.
4903
5434
 
4904
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5435
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4905
5436
  **Returns**: <code>Promise</code> - Promise
4906
5437
 
4907
5438
  | Param | Type | Description |
4908
5439
  | --- | --- | --- |
4909
5440
  | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
4910
5441
 
4911
- <a name="TriggeredSendDefinition.update"></a>
5442
+ <a name="TriggeredSend.update"></a>
4912
5443
 
4913
- ### TriggeredSendDefinition.update(metadata, [handleOutside]) ⇒ <code>Promise</code>
5444
+ ### TriggeredSend.update(metadata) ⇒ <code>Promise</code>
4914
5445
  Updates a single TSD.
4915
5446
 
4916
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5447
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4917
5448
  **Returns**: <code>Promise</code> - Promise
4918
5449
 
4919
5450
  | Param | Type | Description |
4920
5451
  | --- | --- | --- |
4921
5452
  | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
4922
- | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
4923
5453
 
4924
- <a name="TriggeredSendDefinition.deleteByKey"></a>
5454
+ <a name="TriggeredSend.deleteByKey"></a>
4925
5455
 
4926
- ### TriggeredSendDefinition.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5456
+ ### TriggeredSend.deleteByKey(customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4927
5457
  Delete a metadata item from the specified business unit
4928
5458
 
4929
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5459
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4930
5460
  **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
4931
5461
 
4932
5462
  | Param | Type | Description |
4933
5463
  | --- | --- | --- |
4934
5464
  | customerKey | <code>string</code> | Identifier of data extension |
4935
5465
 
4936
- <a name="TriggeredSendDefinition.postRetrieveTasks"></a>
5466
+ <a name="TriggeredSend.postRetrieveTasks"></a>
4937
5467
 
4938
- ### TriggeredSendDefinition.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
5468
+ ### TriggeredSend.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4939
5469
  manages post retrieve steps
4940
5470
 
4941
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5471
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4942
5472
  **Returns**: <code>TYPE.MetadataTypeItem</code> - Array with one metadata object and one query string
4943
5473
 
4944
5474
  | Param | Type | Description |
4945
5475
  | --- | --- | --- |
4946
5476
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query |
4947
5477
 
4948
- <a name="TriggeredSendDefinition.setFolderPath"></a>
5478
+ <a name="TriggeredSend.setFolderPath"></a>
4949
5479
 
4950
- ### TriggeredSendDefinition.setFolderPath(metadata)
5480
+ ### TriggeredSend.setFolderPath(metadata)
4951
5481
  generic script that retrieves the folder path from cache and updates the given metadata with it after retrieve
4952
5482
 
4953
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5483
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4954
5484
 
4955
5485
  | Param | Type | Description |
4956
5486
  | --- | --- | --- |
4957
5487
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
4958
5488
 
4959
- <a name="TriggeredSendDefinition.parseMetadata"></a>
5489
+ <a name="TriggeredSend.parseMetadata"></a>
4960
5490
 
4961
- ### TriggeredSendDefinition.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
5491
+ ### TriggeredSend.parseMetadata(metadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
4962
5492
  parses retrieved Metadata before saving
4963
5493
 
4964
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5494
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4965
5495
  **Returns**: <code>TYPE.MetadataTypeItem</code> \| <code>void</code> - Array with one metadata object and one sql string
4966
5496
 
4967
5497
  | Param | Type | Description |
4968
5498
  | --- | --- | --- |
4969
5499
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single query activity definition |
4970
5500
 
4971
- <a name="TriggeredSendDefinition.preDeployTasks"></a>
5501
+ <a name="TriggeredSend.preDeployTasks"></a>
4972
5502
 
4973
- ### TriggeredSendDefinition.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
5503
+ ### TriggeredSend.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4974
5504
  prepares a TSD for deployment
4975
5505
 
4976
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5506
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4977
5507
  **Returns**: <code>TYPE.MetadataTypeItem</code> - metadata object
4978
5508
 
4979
5509
  | Param | Type | Description |
4980
5510
  | --- | --- | --- |
4981
5511
  | metadata | <code>TYPE.MetadataTypeItem</code> | of a single TSD |
4982
5512
 
4983
- <a name="TriggeredSendDefinition.refresh"></a>
5513
+ <a name="TriggeredSend.refresh"></a>
4984
5514
 
4985
- ### TriggeredSendDefinition.refresh([keyArr]) ⇒ <code>Promise.&lt;void&gt;</code>
5515
+ ### TriggeredSend.refresh([keyArr], [checkKey]) ⇒ <code>Promise.&lt;void&gt;</code>
4986
5516
  TSD-specific refresh method that finds active TSDs and refreshes them
4987
5517
 
4988
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5518
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
4989
5519
  **Returns**: <code>Promise.&lt;void&gt;</code> - -
4990
5520
 
5521
+ | Param | Type | Default | Description |
5522
+ | --- | --- | --- | --- |
5523
+ | [keyArr] | <code>Array.&lt;string&gt;</code> | | metadata keys |
5524
+ | [checkKey] | <code>boolean</code> | <code>true</code> | whether to check if the key is valid |
5525
+
5526
+ <a name="TriggeredSend.getKeysForValidTSDs"></a>
5527
+
5528
+ ### TriggeredSend.getKeysForValidTSDs(metadata) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5529
+ helper for [refresh](refresh) that extracts the keys from the TSD item map and eli
5530
+
5531
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
5532
+ **Returns**: <code>Promise.&lt;Array.&lt;string&gt;&gt;</code> - keyArr
5533
+
4991
5534
  | Param | Type | Description |
4992
5535
  | --- | --- | --- |
4993
- | [keyArr] | <code>Array.&lt;string&gt;</code> | metadata keys |
5536
+ | metadata | <code>TYPE.MetadataTypeMapObj</code> | TSD item map |
4994
5537
 
4995
- <a name="TriggeredSendDefinition._findRefreshableItems"></a>
5538
+ <a name="TriggeredSend.findRefreshableItems"></a>
4996
5539
 
4997
- ### TriggeredSendDefinition.\_findRefreshableItems() ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5540
+ ### TriggeredSend.findRefreshableItems() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4998
5541
  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
4999
5542
 
5000
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5001
- **Returns**: <code>Promise.&lt;Array.&lt;string&gt;&gt;</code> - keyArr
5002
- <a name="TriggeredSendDefinition._refreshItem"></a>
5543
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
5544
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of TSD item map
5545
+ <a name="TriggeredSend._refreshItem"></a>
5003
5546
 
5004
- ### TriggeredSendDefinition.\_refreshItem(key, checkKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5547
+ ### TriggeredSend.\_refreshItem(key, checkKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
5005
5548
  helper for [refresh](refresh) that pauses, publishes and starts a triggered send
5006
5549
 
5007
- **Kind**: static method of [<code>TriggeredSendDefinition</code>](#TriggeredSendDefinition)
5550
+ **Kind**: static method of [<code>TriggeredSend</code>](#TriggeredSend)
5008
5551
  **Returns**: <code>Promise.&lt;boolean&gt;</code> - true if refresh was successful
5009
5552
 
5010
5553
  | Param | Type | Description |
@@ -5012,6 +5555,175 @@ helper for [refresh](refresh) that pauses, publishes and starts a triggered send
5012
5555
  | key | <code>string</code> | external key of triggered send item |
5013
5556
  | checkKey | <code>boolean</code> | whether to check if key exists on the server |
5014
5557
 
5558
+ <a name="User"></a>
5559
+
5560
+ ## User ⇐ [<code>MetadataType</code>](#MetadataType)
5561
+ MetadataType
5562
+
5563
+ **Kind**: global class
5564
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
5565
+
5566
+ * [User](#User) ⇐ [<code>MetadataType</code>](#MetadataType)
5567
+ * [.retrieve(retrieveDir, _, [__], [key])](#User.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5568
+ * [.retrieveForCache()](#User.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5569
+ * [.create(metadata)](#User.create) ⇒ <code>Promise</code>
5570
+ * [.update(metadata)](#User.update) ⇒ <code>Promise</code>
5571
+ * [.preDeployTasks(metadata)](#User.preDeployTasks) ⇒ <code>TYPE.UserDocument</code>
5572
+ * [.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate)](#User.createOrUpdate) ⇒ <code>void</code>
5573
+ * [.postDeployTasks(upsertResults)](#User.postDeployTasks) ⇒ <code>Promise.&lt;void&gt;</code>
5574
+ * [._getRoleObjectForDeploy(roleId, roleName, userId, assignmentOnly, [isRoleRemovale])](#User._getRoleObjectForDeploy) ⇒ <code>object</code>
5575
+ * [.retrieveChangelog()](#User.retrieveChangelog) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5576
+ * [.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields])](#User.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5577
+ * [.document([metadata])](#User.document) ⇒ <code>Promise.&lt;void&gt;</code>
5578
+ * [.postRetrieveTasks(metadata)](#User.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
5579
+
5580
+ <a name="User.retrieve"></a>
5581
+
5582
+ ### User.retrieve(retrieveDir, _, [__], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5583
+ Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
5584
+
5585
+ **Kind**: static method of [<code>User</code>](#User)
5586
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
5587
+
5588
+ | Param | Type | Description |
5589
+ | --- | --- | --- |
5590
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
5591
+ | _ | <code>void</code> | unused parameter |
5592
+ | [__] | <code>void</code> | unused parameter |
5593
+ | [key] | <code>string</code> | customer key of single item to retrieve |
5594
+
5595
+ <a name="User.retrieveForCache"></a>
5596
+
5597
+ ### User.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5598
+ Retrieves import definition metadata for caching
5599
+
5600
+ **Kind**: static method of [<code>User</code>](#User)
5601
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
5602
+ <a name="User.create"></a>
5603
+
5604
+ ### User.create(metadata) ⇒ <code>Promise</code>
5605
+ Create a single item.
5606
+
5607
+ **Kind**: static method of [<code>User</code>](#User)
5608
+ **Returns**: <code>Promise</code> - Promise
5609
+
5610
+ | Param | Type | Description |
5611
+ | --- | --- | --- |
5612
+ | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
5613
+
5614
+ <a name="User.update"></a>
5615
+
5616
+ ### User.update(metadata) ⇒ <code>Promise</code>
5617
+ Updates a single item.
5618
+
5619
+ **Kind**: static method of [<code>User</code>](#User)
5620
+ **Returns**: <code>Promise</code> - Promise
5621
+
5622
+ | Param | Type | Description |
5623
+ | --- | --- | --- |
5624
+ | metadata | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
5625
+
5626
+ <a name="User.preDeployTasks"></a>
5627
+
5628
+ ### User.preDeployTasks(metadata) ⇒ <code>TYPE.UserDocument</code>
5629
+ prepares a item for deployment
5630
+
5631
+ **Kind**: static method of [<code>User</code>](#User)
5632
+ **Returns**: <code>TYPE.UserDocument</code> - metadata object
5633
+
5634
+ | Param | Type | Description |
5635
+ | --- | --- | --- |
5636
+ | metadata | <code>TYPE.UserDocument</code> | of a single item |
5637
+
5638
+ <a name="User.createOrUpdate"></a>
5639
+
5640
+ ### User.createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate) ⇒ <code>void</code>
5641
+ helper for [upsert](#MetadataType.upsert)
5642
+
5643
+ **Kind**: static method of [<code>User</code>](#User)
5644
+
5645
+ | Param | Type | Description |
5646
+ | --- | --- | --- |
5647
+ | metadata | <code>TYPE.MetadataTypeMap</code> | list of metadata |
5648
+ | metadataKey | <code>string</code> | key of item we are looking at |
5649
+ | hasError | <code>boolean</code> | error flag from previous code |
5650
+ | metadataToUpdate | <code>Array.&lt;TYPE.UserDocumentDiff&gt;</code> | list of items to update |
5651
+ | metadataToCreate | <code>Array.&lt;TYPE.UserDocument&gt;</code> | list of items to create |
5652
+
5653
+ <a name="User.postDeployTasks"></a>
5654
+
5655
+ ### User.postDeployTasks(upsertResults) ⇒ <code>Promise.&lt;void&gt;</code>
5656
+ Gets executed after deployment of metadata type
5657
+
5658
+ **Kind**: static method of [<code>User</code>](#User)
5659
+ **Returns**: <code>Promise.&lt;void&gt;</code> - promise
5660
+
5661
+ | Param | Type | Description |
5662
+ | --- | --- | --- |
5663
+ | upsertResults | <code>TYPE.UserDocumentMap</code> | metadata mapped by their keyField |
5664
+
5665
+ <a name="User._getRoleObjectForDeploy"></a>
5666
+
5667
+ ### User.\_getRoleObjectForDeploy(roleId, roleName, userId, assignmentOnly, [isRoleRemovale]) ⇒ <code>object</code>
5668
+ helper for [User._prepareRoleAssignments](User._prepareRoleAssignments)
5669
+
5670
+ **Kind**: static method of [<code>User</code>](#User)
5671
+ **Returns**: <code>object</code> - format needed by API
5672
+
5673
+ | Param | Type | Default | Description |
5674
+ | --- | --- | --- | --- |
5675
+ | roleId | <code>string</code> | | role.ObjectID |
5676
+ | roleName | <code>string</code> | | role.Name |
5677
+ | userId | <code>number</code> | | user.AccountUserID |
5678
+ | assignmentOnly | <code>boolean</code> | | if true, only assignment configuration will be returned |
5679
+ | [isRoleRemovale] | <code>boolean</code> | <code>false</code> | if true, role will be removed from user; otherwise added |
5680
+
5681
+ <a name="User.retrieveChangelog"></a>
5682
+
5683
+ ### User.retrieveChangelog() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5684
+ Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
5685
+
5686
+ **Kind**: static method of [<code>User</code>](#User)
5687
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
5688
+ <a name="User.retrieveSOAP"></a>
5689
+
5690
+ ### User.retrieveSOAP(retrieveDir, [requestParams], [singleRetrieve], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
5691
+ Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type into local filesystem. executes callback with retrieved metadata
5692
+
5693
+ **Kind**: static method of [<code>User</code>](#User)
5694
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of item map
5695
+
5696
+ | Param | Type | Description |
5697
+ | --- | --- | --- |
5698
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
5699
+ | [requestParams] | <code>TYPE.SoapRequestParams</code> | required for the specific request (filter for example) |
5700
+ | [singleRetrieve] | <code>string</code> \| <code>number</code> | key of single item to filter by |
5701
+ | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
5702
+
5703
+ <a name="User.document"></a>
5704
+
5705
+ ### User.document([metadata]) ⇒ <code>Promise.&lt;void&gt;</code>
5706
+ Creates markdown documentation of all roles
5707
+
5708
+ **Kind**: static method of [<code>User</code>](#User)
5709
+ **Returns**: <code>Promise.&lt;void&gt;</code> - -
5710
+
5711
+ | Param | Type | Description |
5712
+ | --- | --- | --- |
5713
+ | [metadata] | <code>TYPE.MetadataTypeMap</code> | user list |
5714
+
5715
+ <a name="User.postRetrieveTasks"></a>
5716
+
5717
+ ### User.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code> \| <code>void</code>
5718
+ manages post retrieve steps
5719
+
5720
+ **Kind**: static method of [<code>User</code>](#User)
5721
+ **Returns**: <code>TYPE.MetadataTypeItem</code> \| <code>void</code> - a single item
5722
+
5723
+ | Param | Type | Description |
5724
+ | --- | --- | --- |
5725
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
5726
+
5015
5727
  <a name="Retriever"></a>
5016
5728
 
5017
5729
  ## Retriever
@@ -5096,6 +5808,7 @@ CLI entry for SFMC DevTools
5096
5808
  * [.logSubtypes(subTypeArr)](#Util.logSubtypes) ⇒ <code>void</code>
5097
5809
  * [.getKeysString(keyArr, [isId])](#Util.getKeysString) ⇒ <code>string</code>
5098
5810
  * [.sleep(ms)](#Util.sleep) ⇒ <code>Promise.&lt;void&gt;</code>
5811
+ * [.getSsjs(code)](#Util.getSsjs) ⇒ <code>string</code>
5099
5812
 
5100
5813
  <a name="Util.skipInteraction"></a>
5101
5814
 
@@ -5402,6 +6115,33 @@ pause execution of code; useful when multiple server calls are dependent on each
5402
6115
  | --- | --- | --- |
5403
6116
  | ms | <code>number</code> | time in miliseconds to wait |
5404
6117
 
6118
+ <a name="Util.getSsjs"></a>
6119
+
6120
+ ### Util.getSsjs(code) ⇒ <code>string</code>
6121
+ helper for [_extractCode](#Asset._extractCode) and [prepExtractedCode](#Script.prepExtractedCode) to determine if a code block is a valid SSJS block
6122
+
6123
+ **Kind**: static method of [<code>Util</code>](#Util)
6124
+ **Returns**: <code>string</code> - the SSJS code if code block is a valid SSJS block, otherwise null
6125
+
6126
+ | Param | Type | Description |
6127
+ | --- | --- | --- |
6128
+ | code | <code>string</code> | code block to check |
6129
+
6130
+ **Example**
6131
+ ```js
6132
+ the following is invalid:
6133
+ <script runat="server">
6134
+ // 1
6135
+ </script>
6136
+ <script runat="server">
6137
+ // 2
6138
+ </script>
6139
+
6140
+ the following is valid:
6141
+ <script runat="server">
6142
+ // 3
6143
+ </script>
6144
+ ```
5405
6145
  <a name="MetadataTypeDefinitions"></a>
5406
6146
 
5407
6147
  ## MetadataTypeDefinitions
@@ -5473,7 +6213,7 @@ CLI helper class
5473
6213
  * [._askCredentials(properties, [credName])](#Cli._askCredentials) ⇒ <code>Promise.&lt;object&gt;</code>
5474
6214
  * [.selectTypes(properties, [setTypesArr])](#Cli.selectTypes) ⇒ <code>Promise.&lt;void&gt;</code>
5475
6215
  * [._summarizeSubtypes(responses, type)](#Cli._summarizeSubtypes) ⇒ <code>void</code>
5476
- * [.explainTypes()](#Cli.explainTypes) ⇒ <code>void</code>
6216
+ * [.explainTypes()](#Cli.explainTypes) ⇒ <code>Array.&lt;object&gt;</code>
5477
6217
 
5478
6218
  <a name="Cli.initMcdevConfig"></a>
5479
6219
 
@@ -5605,10 +6345,11 @@ this keeps the config automatically upgradable when we add new subtypes or chang
5605
6345
 
5606
6346
  <a name="Cli.explainTypes"></a>
5607
6347
 
5608
- ### Cli.explainTypes() ⇒ <code>void</code>
6348
+ ### Cli.explainTypes() ⇒ <code>Array.&lt;object&gt;</code>
5609
6349
  shows metadata type descriptions
5610
6350
 
5611
6351
  **Kind**: static method of [<code>Cli</code>](#Cli)
6352
+ **Returns**: <code>Array.&lt;object&gt;</code> - list of supported types with their apiNames
5612
6353
  <a name="config"></a>
5613
6354
 
5614
6355
  ## config
@@ -5663,17 +6404,18 @@ DevOps helper class
5663
6404
  **Kind**: global constant
5664
6405
 
5665
6406
  * [DevOps](#DevOps)
5666
- * [.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths])](#DevOps.getDeltaList) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
6407
+ * [.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths], [commitHistory])](#DevOps.getDeltaList) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
5667
6408
  * [~delta](#DevOps.getDeltaList..delta) : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5668
- * [~copied](#DevOps.getDeltaList..copied) : <code>TYPE.DeltaPkgItem</code>
5669
- * [.buildDeltaDefinitions(properties, range, [diffArr])](#DevOps.buildDeltaDefinitions) <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
6409
+ * [~buObjects](#DevOps.getDeltaList..buObjects) : <code>Object.&lt;string, TYPE.BuObject&gt;</code>
6410
+ * [~copied](#DevOps.getDeltaList..copied) : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
6411
+ * [.buildDeltaDefinitions(properties, range, [diffArr], [commitHistory])](#DevOps.buildDeltaDefinitions) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
5670
6412
  * [~deltaDeployAll](#DevOps.buildDeltaDefinitions..deltaDeployAll) : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5671
6413
  * [.document(directory, jsonReport)](#DevOps.document) ⇒ <code>void</code>
5672
6414
  * [.getFilesToCommit(properties, buObject, metadataType, keyArr)](#DevOps.getFilesToCommit) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
5673
6415
 
5674
6416
  <a name="DevOps.getDeltaList"></a>
5675
6417
 
5676
- ### DevOps.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
6418
+ ### DevOps.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths], [commitHistory]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
5677
6419
  Extracts the delta between a commit and the current state for deployment.
5678
6420
  Interactive commit selection if no commits are passed.
5679
6421
 
@@ -5686,23 +6428,29 @@ Interactive commit selection if no commits are passed.
5686
6428
  | [range] | <code>string</code> | git commit range |
5687
6429
  | [saveToDeployDir] | <code>boolean</code> | if true, copy metadata changes into deploy directory |
5688
6430
  | [filterPaths] | <code>string</code> | filter file paths that start with any specified path (comma separated) |
6431
+ | [commitHistory] | <code>number</code> | cli option to override default commit history value in config |
5689
6432
 
5690
6433
 
5691
- * [.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths])](#DevOps.getDeltaList) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
6434
+ * [.getDeltaList(properties, [range], [saveToDeployDir], [filterPaths], [commitHistory])](#DevOps.getDeltaList) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
5692
6435
  * [~delta](#DevOps.getDeltaList..delta) : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5693
- * [~copied](#DevOps.getDeltaList..copied) : <code>TYPE.DeltaPkgItem</code>
6436
+ * [~buObjects](#DevOps.getDeltaList..buObjects) : <code>Object.&lt;string, TYPE.BuObject&gt;</code>
6437
+ * [~copied](#DevOps.getDeltaList..copied) : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5694
6438
 
5695
6439
  <a name="DevOps.getDeltaList..delta"></a>
5696
6440
 
5697
6441
  #### getDeltaList~delta : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5698
6442
  **Kind**: inner constant of [<code>getDeltaList</code>](#DevOps.getDeltaList)
6443
+ <a name="DevOps.getDeltaList..buObjects"></a>
6444
+
6445
+ #### getDeltaList~buObjects : <code>Object.&lt;string, TYPE.BuObject&gt;</code>
6446
+ **Kind**: inner constant of [<code>getDeltaList</code>](#DevOps.getDeltaList)
5699
6447
  <a name="DevOps.getDeltaList..copied"></a>
5700
6448
 
5701
- #### getDeltaList~copied : <code>TYPE.DeltaPkgItem</code>
6449
+ #### getDeltaList~copied : <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code>
5702
6450
  **Kind**: inner constant of [<code>getDeltaList</code>](#DevOps.getDeltaList)
5703
6451
  <a name="DevOps.buildDeltaDefinitions"></a>
5704
6452
 
5705
- ### DevOps.buildDeltaDefinitions(properties, range, [diffArr]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
6453
+ ### DevOps.buildDeltaDefinitions(properties, range, [diffArr], [commitHistory]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.DeltaPkgItem&gt;&gt;</code>
5706
6454
  wrapper around DevOps.getDeltaList, Builder.buildTemplate and M
5707
6455
 
5708
6456
  **Kind**: static method of [<code>DevOps</code>](#DevOps)
@@ -5713,6 +6461,7 @@ wrapper around DevOps.getDeltaList, Builder.buildTemplate and M
5713
6461
  | properties | <code>TYPE.Mcdevrc</code> | project config file |
5714
6462
  | range | <code>string</code> | git commit range |
5715
6463
  | [diffArr] | <code>Array.&lt;TYPE.DeltaPkgItem&gt;</code> | instead of running git diff the method can also get a list of files to process |
6464
+ | [commitHistory] | <code>number</code> | cli option to override default commit history value in config |
5716
6465
 
5717
6466
  <a name="DevOps.buildDeltaDefinitions..deltaDeployAll"></a>
5718
6467
 
@@ -5761,6 +6510,7 @@ File extends fs-extra. It adds logger and util methods for file handling
5761
6510
  * [.normalizePath(denormalizedPath)](#File.normalizePath) ⇒ <code>string</code>
5762
6511
  * [.writeJSONToFile(directory, filename, content)](#File.writeJSONToFile) ⇒ <code>Promise</code>
5763
6512
  * [.writePrettyToFile(directory, filename, filetype, content, [templateVariables])](#File.writePrettyToFile) ⇒ <code>Promise.&lt;boolean&gt;</code>
6513
+ * [._beautify_beautyAmp(content)](#File._beautify_beautyAmp) ⇒ <code>string</code>
5764
6514
  * [._beautify_prettier(directory, filename, filetype, content)](#File._beautify_prettier) ⇒ <code>string</code>
5765
6515
  * [.writeToFile(directory, filename, filetype, content, [encoding])](#File.writeToFile) ⇒ <code>Promise.&lt;boolean&gt;</code>
5766
6516
  * [.readJSONFile(directory, filename, sync, cleanPath)](#File.readJSONFile) ⇒ <code>Promise.&lt;object&gt;</code> \| <code>object</code> \| <code>void</code>
@@ -5862,6 +6612,18 @@ Saves beautified files in the local file system. Will create the parent director
5862
6612
  | content | <code>string</code> | filecontent |
5863
6613
  | [templateVariables] | <code>TYPE.TemplateMap</code> | templating variables to be replaced in the metadata |
5864
6614
 
6615
+ <a name="File._beautify_beautyAmp"></a>
6616
+
6617
+ ### File.\_beautify\_beautyAmp(content) ⇒ <code>string</code>
6618
+ helper for [writePrettyToFile](#File.writePrettyToFile), applying beautyAmp onto given stringified content
6619
+
6620
+ **Kind**: static method of [<code>File</code>](#File)
6621
+ **Returns**: <code>string</code> - original string on error; formatted string on success
6622
+
6623
+ | Param | Type | Description |
6624
+ | --- | --- | --- |
6625
+ | content | <code>string</code> | filecontent |
6626
+
5865
6627
  <a name="File._beautify_prettier"></a>
5866
6628
 
5867
6629
  ### File.\_beautify\_prettier(directory, filename, filetype, content) ⇒ <code>string</code>
@@ -6911,6 +7673,7 @@ Util that contains logger and simple util methods
6911
7673
  * [.logSubtypes(subTypeArr)](#Util.logSubtypes) ⇒ <code>void</code>
6912
7674
  * [.getKeysString(keyArr, [isId])](#Util.getKeysString) ⇒ <code>string</code>
6913
7675
  * [.sleep(ms)](#Util.sleep) ⇒ <code>Promise.&lt;void&gt;</code>
7676
+ * [.getSsjs(code)](#Util.getSsjs) ⇒ <code>string</code>
6914
7677
 
6915
7678
  <a name="Util.skipInteraction"></a>
6916
7679
 
@@ -7217,6 +7980,33 @@ pause execution of code; useful when multiple server calls are dependent on each
7217
7980
  | --- | --- | --- |
7218
7981
  | ms | <code>number</code> | time in miliseconds to wait |
7219
7982
 
7983
+ <a name="Util.getSsjs"></a>
7984
+
7985
+ ### Util.getSsjs(code) ⇒ <code>string</code>
7986
+ helper for [_extractCode](#Asset._extractCode) and [prepExtractedCode](#Script.prepExtractedCode) to determine if a code block is a valid SSJS block
7987
+
7988
+ **Kind**: static method of [<code>Util</code>](#Util)
7989
+ **Returns**: <code>string</code> - the SSJS code if code block is a valid SSJS block, otherwise null
7990
+
7991
+ | Param | Type | Description |
7992
+ | --- | --- | --- |
7993
+ | code | <code>string</code> | code block to check |
7994
+
7995
+ **Example**
7996
+ ```js
7997
+ the following is invalid:
7998
+ <script runat="server">
7999
+ // 1
8000
+ </script>
8001
+ <script runat="server">
8002
+ // 2
8003
+ </script>
8004
+
8005
+ the following is valid:
8006
+ <script runat="server">
8007
+ // 3
8008
+ </script>
8009
+ ```
7220
8010
  <a name="csvToArray"></a>
7221
8011
 
7222
8012
  ## csvToArray(csv) ⇒ <code>Array.&lt;string&gt;</code>
@@ -7400,31 +8190,69 @@ key=customer key
7400
8190
  | [Template] | <code>object</code> | - |
7401
8191
  | [Template.CustomerKey] | <code>string</code> | key of optionally associated DE teplate |
7402
8192
 
7403
- <a name="AccountUserDocument"></a>
8193
+ <a name="UserDocumentMap"></a>
8194
+
8195
+ ## UserDocumentMap : <code>object</code>
8196
+ key=customer key
7404
8197
 
7405
- ## AccountUserDocument : <code>object</code>
7406
8198
  **Kind**: global typedef
7407
8199
  **Properties**
7408
8200
 
7409
8201
  | Name | Type | Description |
7410
8202
  | --- | --- | --- |
7411
- | TYPE | <code>string</code> | user.type__c |
7412
- | UserID | <code>string</code> | user.UserID |
7413
- | AccountUserID | <code>string</code> | user.AccountUserID |
8203
+ | [ID] | <code>string</code> | equal to UserID; optional in update/create calls |
8204
+ | UserID | <code>string</code> | equal to ID; required in update/create calls |
8205
+ | [AccountUserID] | <code>number</code> | user.AccountUserID |
8206
+ | c__AccountUserID | <code>number</code> | copy of AccountUserID |
7414
8207
  | CustomerKey | <code>string</code> | user.CustomerKey |
7415
8208
  | Name | <code>string</code> | user.Name |
7416
8209
  | Email | <code>string</code> | user.Email |
7417
8210
  | NotificationEmailAddress | <code>string</code> | user.NotificationEmailAddress |
7418
- | ActiveFlag | <code>string</code> | user.ActiveFlag === true ? '✓' : '-' |
7419
- | IsAPIUser | <code>string</code> | user.IsAPIUser === true ? '✓' : '-' |
7420
- | MustChangePassword | <code>string</code> | user.MustChangePassword === true ? '✓' : '-' |
7421
- | DefaultBusinessUnit | <code>string</code> | defaultBUName |
7422
- | AssociatedBusinessUnits__c | <code>string</code> | associatedBus |
7423
- | Roles | <code>string</code> | roles |
7424
- | UserPermissions | <code>string</code> | userPermissions |
8211
+ | ActiveFlag | <code>boolean</code> | user.ActiveFlag === true ? '✓' : '-' |
8212
+ | IsAPIUser | <code>boolean</code> | user.IsAPIUser === true ? '✓' : '-' |
8213
+ | MustChangePassword | <code>boolean</code> | user.MustChangePassword === true ? '✓' : '-' |
8214
+ | DefaultBusinessUnit | <code>number</code> | defaultBUName |
8215
+ | c__AssociatedBusinessUnits | <code>Array.&lt;number&gt;</code> | associatedBus |
8216
+ | [Roles] | <code>object</code> | (API only) |
8217
+ | [Roles.Role] | <code>Array.&lt;object&gt;</code> | roles (API only) |
8218
+ | c__RoleNamesGlobal | <code>Array.&lt;string&gt;</code> | roles |
8219
+ | UserPermissions | <code>Array.&lt;string&gt;</code> | userPermissions |
7425
8220
  | LastSuccessfulLogin | <code>string</code> | this.timeSinceDate(user.LastSuccessfulLogin) |
7426
8221
  | CreatedDate | <code>string</code> | user.CreatedDate |
7427
8222
  | ModifiedDate | <code>string</code> | user.ModifiedDate |
8223
+ | Client | <code>object</code> | - |
8224
+ | [Client.ID] | <code>number</code> | EID e.g:7281698 |
8225
+ | Client.ModifiedBy | <code>number</code> | AccountUserID of user who last modified this user |
8226
+ | c__type | <code>&#x27;User&#x27;</code> \| <code>&#x27;Installed Package&#x27;</code> | - |
8227
+ | [IsLocked] | <code>boolean</code> | (API only) |
8228
+ | [Unlock] | <code>boolean</code> | used to unlock a user that has IsLocked === true |
8229
+ | c__IsLocked_readOnly | <code>boolean</code> | copy of IsLocked |
8230
+ | c__TimeZoneName | <code>string</code> | name of timezone |
8231
+ | [TimeZone] | <code>object</code> | (API only) |
8232
+ | [TimeZone.Name] | <code>string</code> | (API only) |
8233
+ | [TimeZone.ID] | <code>string</code> | (API only) |
8234
+ | c__LocaleCode | <code>&#x27;en-US&#x27;</code> \| <code>&#x27;fr-CA&#x27;</code> \| <code>&#x27;fr-FR&#x27;</code> \| <code>&#x27;de-DE&#x27;</code> \| <code>&#x27;it-IT&#x27;</code> \| <code>&#x27;ja-JP&#x27;</code> \| <code>&#x27;pt-BR&#x27;</code> \| <code>&#x27;es-419&#x27;</code> \| <code>&#x27;es-ES&#x27;</code> | fr-CA, en-US, ... |
8235
+ | [Locale] | <code>object</code> | (API only) |
8236
+ | [Locale.LocaleCode] | <code>&#x27;en-US&#x27;</code> \| <code>&#x27;fr-CA&#x27;</code> \| <code>&#x27;fr-FR&#x27;</code> \| <code>&#x27;de-DE&#x27;</code> \| <code>&#x27;it-IT&#x27;</code> \| <code>&#x27;ja-JP&#x27;</code> \| <code>&#x27;pt-BR&#x27;</code> \| <code>&#x27;es-419&#x27;</code> \| <code>&#x27;es-ES&#x27;</code> | (API only) |
8237
+
8238
+ <a name="BusinessUnitAssignmentConfiguration"></a>
8239
+
8240
+ ## BusinessUnitAssignmentConfiguration : <code>object</code>
8241
+ **Kind**: global typedef
8242
+ **Properties**
8243
+
8244
+ | Name | Type | Description |
8245
+ | --- | --- | --- |
8246
+ | Client | <code>object</code> | wrapper |
8247
+ | Client.ID | <code>number</code> | EID e.g:7281698 |
8248
+ | [PartnerKey] | <code>string</code> | empty string |
8249
+ | ID | <code>number</code> | User ID e.g:717133502 |
8250
+ | [ObjectID] | <code>string</code> | empty string |
8251
+ | [Delete] | <code>number</code> | 0,1 |
8252
+ | BusinessUnitAssignmentConfiguration | [<code>BusinessUnitAssignmentConfiguration</code>](#BusinessUnitAssignmentConfiguration) | - |
8253
+ | BusinessUnitIds | <code>object</code> | wrapper |
8254
+ | BusinessUnitIds.BusinessUnitId | <code>Array.&lt;number&gt;</code> \| <code>number</code> | e.g:[518003624] |
8255
+ | IsDelete | <code>boolean</code> | assign BU if false, remove assignment if true |
7428
8256
 
7429
8257
  <a name="AutomationActivity"></a>
7430
8258