mcdev 6.0.2 → 7.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 (602) hide show
  1. package/.beautyamp.json +13 -0
  2. package/.eslintrc.json +7 -1
  3. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  4. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +10 -3
  5. package/.github/workflows/close_issues_on_merge.yml +1 -1
  6. package/.github/workflows/code-test.yml +51 -3
  7. package/.github/workflows/coverage-base-update.yml +1 -1
  8. package/.github/workflows/coverage-develop-branch.yml +1 -1
  9. package/.github/workflows/coverage-main-branch.yml +1 -1
  10. package/.github/workflows/coverage.yml +2 -2
  11. package/.github/workflows/npm-publish.yml +3 -2
  12. package/.github/workflows/pr-labeler.yml +1 -1
  13. package/.husky/commit-msg +0 -2
  14. package/.husky/post-checkout +0 -3
  15. package/.husky/post-merge +2 -7
  16. package/.husky/pre-commit +5 -5
  17. package/.prettierrc +0 -8
  18. package/.vscode/extensions.json +2 -0
  19. package/.vscode/settings.json +15 -3
  20. package/@types/lib/Builder.d.ts +97 -0
  21. package/@types/lib/Builder.d.ts.map +1 -0
  22. package/@types/lib/Deployer.d.ts +99 -0
  23. package/@types/lib/Deployer.d.ts.map +1 -0
  24. package/@types/lib/MetadataTypeDefinitions.d.ts +80 -0
  25. package/@types/lib/MetadataTypeDefinitions.d.ts.map +1 -0
  26. package/@types/lib/MetadataTypeInfo.d.ts +78 -0
  27. package/@types/lib/MetadataTypeInfo.d.ts.map +1 -0
  28. package/@types/lib/Retriever.d.ts +66 -0
  29. package/@types/lib/Retriever.d.ts.map +1 -0
  30. package/@types/lib/cli.d.ts +3 -0
  31. package/@types/lib/cli.d.ts.map +1 -0
  32. package/@types/lib/index.d.ts +383 -0
  33. package/@types/lib/index.d.ts.map +1 -0
  34. package/@types/lib/metadataTypes/Asset.d.ts +1082 -0
  35. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -0
  36. package/@types/lib/metadataTypes/AttributeGroup.d.ts +290 -0
  37. package/@types/lib/metadataTypes/AttributeGroup.d.ts.map +1 -0
  38. package/@types/lib/metadataTypes/AttributeSet.d.ts +968 -0
  39. package/@types/lib/metadataTypes/AttributeSet.d.ts.map +1 -0
  40. package/@types/lib/metadataTypes/Automation.d.ts +921 -0
  41. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -0
  42. package/@types/lib/metadataTypes/Campaign.d.ts +190 -0
  43. package/@types/lib/metadataTypes/Campaign.d.ts.map +1 -0
  44. package/@types/lib/metadataTypes/ContentArea.d.ts +250 -0
  45. package/@types/lib/metadataTypes/ContentArea.d.ts.map +1 -0
  46. package/@types/lib/metadataTypes/DataExtension.d.ts +571 -0
  47. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -0
  48. package/@types/lib/metadataTypes/DataExtensionField.d.ts +236 -0
  49. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -0
  50. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts +175 -0
  51. package/@types/lib/metadataTypes/DataExtensionTemplate.d.ts.map +1 -0
  52. package/@types/lib/metadataTypes/DataExtract.d.ts +217 -0
  53. package/@types/lib/metadataTypes/DataExtract.d.ts.map +1 -0
  54. package/@types/lib/metadataTypes/DataExtractType.d.ts +80 -0
  55. package/@types/lib/metadataTypes/DataExtractType.d.ts.map +1 -0
  56. package/@types/lib/metadataTypes/DeliveryProfile.d.ts +102 -0
  57. package/@types/lib/metadataTypes/DeliveryProfile.d.ts.map +1 -0
  58. package/@types/lib/metadataTypes/Discovery.d.ts +189 -0
  59. package/@types/lib/metadataTypes/Discovery.d.ts.map +1 -0
  60. package/@types/lib/metadataTypes/Email.d.ts +384 -0
  61. package/@types/lib/metadataTypes/Email.d.ts.map +1 -0
  62. package/@types/lib/metadataTypes/EmailSend.d.ts +652 -0
  63. package/@types/lib/metadataTypes/EmailSend.d.ts.map +1 -0
  64. package/@types/lib/metadataTypes/Event.d.ts +958 -0
  65. package/@types/lib/metadataTypes/Event.d.ts.map +1 -0
  66. package/@types/lib/metadataTypes/FileLocation.d.ts +101 -0
  67. package/@types/lib/metadataTypes/FileLocation.d.ts.map +1 -0
  68. package/@types/lib/metadataTypes/FileTransfer.d.ts +228 -0
  69. package/@types/lib/metadataTypes/FileTransfer.d.ts.map +1 -0
  70. package/@types/lib/metadataTypes/Filter.d.ts +145 -0
  71. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -0
  72. package/@types/lib/metadataTypes/Folder.d.ts +287 -0
  73. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -0
  74. package/@types/lib/metadataTypes/ImportFile.d.ts +409 -0
  75. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -0
  76. package/@types/lib/metadataTypes/Journey.d.ts +541 -0
  77. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -0
  78. package/@types/lib/metadataTypes/List.d.ts +191 -0
  79. package/@types/lib/metadataTypes/List.d.ts.map +1 -0
  80. package/@types/lib/metadataTypes/MetadataType.d.ts +680 -0
  81. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -0
  82. package/@types/lib/metadataTypes/MobileCode.d.ts +225 -0
  83. package/@types/lib/metadataTypes/MobileCode.d.ts.map +1 -0
  84. package/@types/lib/metadataTypes/MobileKeyword.d.ts +432 -0
  85. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -0
  86. package/@types/lib/metadataTypes/MobileMessage.d.ts +931 -0
  87. package/@types/lib/metadataTypes/MobileMessage.d.ts.map +1 -0
  88. package/@types/lib/metadataTypes/Query.d.ts +299 -0
  89. package/@types/lib/metadataTypes/Query.d.ts.map +1 -0
  90. package/@types/lib/metadataTypes/Role.d.ts +164 -0
  91. package/@types/lib/metadataTypes/Role.d.ts.map +1 -0
  92. package/@types/lib/metadataTypes/Script.d.ts +305 -0
  93. package/@types/lib/metadataTypes/Script.d.ts.map +1 -0
  94. package/@types/lib/metadataTypes/SendClassification.d.ts +221 -0
  95. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -0
  96. package/@types/lib/metadataTypes/SenderProfile.d.ts +257 -0
  97. package/@types/lib/metadataTypes/SenderProfile.d.ts.map +1 -0
  98. package/@types/lib/metadataTypes/TransactionalEmail.d.ts +230 -0
  99. package/@types/lib/metadataTypes/TransactionalEmail.d.ts.map +1 -0
  100. package/@types/lib/metadataTypes/TransactionalMessage.d.ts +163 -0
  101. package/@types/lib/metadataTypes/TransactionalMessage.d.ts.map +1 -0
  102. package/@types/lib/metadataTypes/TransactionalPush.d.ts +175 -0
  103. package/@types/lib/metadataTypes/TransactionalPush.d.ts.map +1 -0
  104. package/@types/lib/metadataTypes/TransactionalSMS.d.ts +205 -0
  105. package/@types/lib/metadataTypes/TransactionalSMS.d.ts.map +1 -0
  106. package/@types/lib/metadataTypes/TriggeredSend.d.ts +671 -0
  107. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -0
  108. package/@types/lib/metadataTypes/User.d.ts +677 -0
  109. package/@types/lib/metadataTypes/User.d.ts.map +1 -0
  110. package/@types/lib/metadataTypes/Verification.d.ts +188 -0
  111. package/@types/lib/metadataTypes/Verification.d.ts.map +1 -0
  112. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts +692 -0
  113. package/@types/lib/metadataTypes/definitions/Asset.definition.d.ts.map +1 -0
  114. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts +246 -0
  115. package/@types/lib/metadataTypes/definitions/AttributeGroup.definition.d.ts.map +1 -0
  116. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts +893 -0
  117. package/@types/lib/metadataTypes/definitions/AttributeSet.definition.d.ts.map +1 -0
  118. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts +616 -0
  119. package/@types/lib/metadataTypes/definitions/Automation.definition.d.ts.map +1 -0
  120. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts +126 -0
  121. package/@types/lib/metadataTypes/definitions/Campaign.definition.d.ts.map +1 -0
  122. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts +182 -0
  123. package/@types/lib/metadataTypes/definitions/ContentArea.definition.d.ts.map +1 -0
  124. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts +237 -0
  125. package/@types/lib/metadataTypes/definitions/DataExtension.definition.d.ts.map +1 -0
  126. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts +121 -0
  127. package/@types/lib/metadataTypes/definitions/DataExtensionField.definition.d.ts.map +1 -0
  128. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts +133 -0
  129. package/@types/lib/metadataTypes/definitions/DataExtensionTemplate.definition.d.ts.map +1 -0
  130. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts +156 -0
  131. package/@types/lib/metadataTypes/definitions/DataExtract.definition.d.ts.map +1 -0
  132. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts +34 -0
  133. package/@types/lib/metadataTypes/definitions/DataExtractType.definition.d.ts.map +1 -0
  134. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts +80 -0
  135. package/@types/lib/metadataTypes/definitions/DeliveryProfile.definition.d.ts.map +1 -0
  136. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts +146 -0
  137. package/@types/lib/metadataTypes/definitions/Discovery.definition.d.ts.map +1 -0
  138. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts +314 -0
  139. package/@types/lib/metadataTypes/definitions/Email.definition.d.ts.map +1 -0
  140. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts +582 -0
  141. package/@types/lib/metadataTypes/definitions/EmailSend.definition.d.ts.map +1 -0
  142. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts +867 -0
  143. package/@types/lib/metadataTypes/definitions/Event.definition.d.ts.map +1 -0
  144. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts +68 -0
  145. package/@types/lib/metadataTypes/definitions/FileLocation.definition.d.ts.map +1 -0
  146. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts +191 -0
  147. package/@types/lib/metadataTypes/definitions/FileTransfer.definition.d.ts.map +1 -0
  148. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +147 -0
  149. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts.map +1 -0
  150. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts +174 -0
  151. package/@types/lib/metadataTypes/definitions/Folder.definition.d.ts.map +1 -0
  152. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts +306 -0
  153. package/@types/lib/metadataTypes/definitions/ImportFile.definition.d.ts.map +1 -0
  154. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +426 -0
  155. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts.map +1 -0
  156. package/@types/lib/metadataTypes/definitions/List.definition.d.ts +118 -0
  157. package/@types/lib/metadataTypes/definitions/List.definition.d.ts.map +1 -0
  158. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts +167 -0
  159. package/@types/lib/metadataTypes/definitions/MobileCode.definition.d.ts.map +1 -0
  160. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts +276 -0
  161. package/@types/lib/metadataTypes/definitions/MobileKeyword.definition.d.ts.map +1 -0
  162. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts +783 -0
  163. package/@types/lib/metadataTypes/definitions/MobileMessage.definition.d.ts.map +1 -0
  164. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts +203 -0
  165. package/@types/lib/metadataTypes/definitions/Query.definition.d.ts.map +1 -0
  166. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts +108 -0
  167. package/@types/lib/metadataTypes/definitions/Role.definition.d.ts.map +1 -0
  168. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts +153 -0
  169. package/@types/lib/metadataTypes/definitions/Script.definition.d.ts.map +1 -0
  170. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts +151 -0
  171. package/@types/lib/metadataTypes/definitions/SendClassification.definition.d.ts.map +1 -0
  172. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts +180 -0
  173. package/@types/lib/metadataTypes/definitions/SenderProfile.definition.d.ts.map +1 -0
  174. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts +167 -0
  175. package/@types/lib/metadataTypes/definitions/TransactionalEmail.definition.d.ts.map +1 -0
  176. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts +99 -0
  177. package/@types/lib/metadataTypes/definitions/TransactionalMessage.definition.d.ts.map +1 -0
  178. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts +119 -0
  179. package/@types/lib/metadataTypes/definitions/TransactionalPush.definition.d.ts.map +1 -0
  180. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts +113 -0
  181. package/@types/lib/metadataTypes/definitions/TransactionalSMS.definition.d.ts.map +1 -0
  182. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts +560 -0
  183. package/@types/lib/metadataTypes/definitions/TriggeredSend.definition.d.ts.map +1 -0
  184. package/@types/lib/metadataTypes/definitions/User.definition.d.ts +423 -0
  185. package/@types/lib/metadataTypes/definitions/User.definition.d.ts.map +1 -0
  186. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts +129 -0
  187. package/@types/lib/metadataTypes/definitions/Verification.definition.d.ts.map +1 -0
  188. package/@types/lib/retrieveChangelog.d.ts +3 -0
  189. package/@types/lib/retrieveChangelog.d.ts.map +1 -0
  190. package/@types/lib/util/auth.d.ts +41 -0
  191. package/@types/lib/util/auth.d.ts.map +1 -0
  192. package/@types/lib/util/businessUnit.d.ts +21 -0
  193. package/@types/lib/util/businessUnit.d.ts.map +1 -0
  194. package/@types/lib/util/cache.d.ts +64 -0
  195. package/@types/lib/util/cache.d.ts.map +1 -0
  196. package/@types/lib/util/cli.d.ts +125 -0
  197. package/@types/lib/util/cli.d.ts.map +1 -0
  198. package/@types/lib/util/config.d.ts +45 -0
  199. package/@types/lib/util/config.d.ts.map +1 -0
  200. package/@types/lib/util/devops.d.ts +62 -0
  201. package/@types/lib/util/devops.d.ts.map +1 -0
  202. package/@types/lib/util/file.d.ts +20 -0
  203. package/@types/lib/util/file.d.ts.map +1 -0
  204. package/@types/lib/util/init.config.d.ts +66 -0
  205. package/@types/lib/util/init.config.d.ts.map +1 -0
  206. package/@types/lib/util/init.d.ts +72 -0
  207. package/@types/lib/util/init.d.ts.map +1 -0
  208. package/@types/lib/util/init.git.d.ts +40 -0
  209. package/@types/lib/util/init.git.d.ts.map +1 -0
  210. package/@types/lib/util/init.npm.d.ts +24 -0
  211. package/@types/lib/util/init.npm.d.ts.map +1 -0
  212. package/@types/lib/util/replaceContentBlockReference.d.ts +105 -0
  213. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -0
  214. package/@types/lib/util/util.d.ts +322 -0
  215. package/@types/lib/util/util.d.ts.map +1 -0
  216. package/@types/types/mcdev.d.d.ts +1282 -0
  217. package/@types/types/mcdev.d.d.ts.map +1 -0
  218. package/LICENSE +1 -1
  219. package/README.md +7 -3
  220. package/boilerplate/files/.beautyamp.json +13 -0
  221. package/boilerplate/files/.prettierrc +3 -0
  222. package/boilerplate/files/.vscode/extensions.json +6 -1
  223. package/boilerplate/files/.vscode/settings.json +16 -4
  224. package/boilerplate/forcedUpdates.json +9 -0
  225. package/jsconfig.json +7 -2
  226. package/lib/Builder.js +49 -45
  227. package/lib/Deployer.js +100 -45
  228. package/lib/MetadataTypeDefinitions.js +6 -0
  229. package/lib/MetadataTypeInfo.js +4 -0
  230. package/lib/Retriever.js +33 -27
  231. package/lib/cli.js +363 -28
  232. package/lib/index.js +615 -55
  233. package/lib/metadataTypes/Asset.js +811 -159
  234. package/lib/metadataTypes/AttributeGroup.js +17 -12
  235. package/lib/metadataTypes/AttributeSet.js +20 -15
  236. package/lib/metadataTypes/Automation.js +125 -93
  237. package/lib/metadataTypes/Campaign.js +18 -6
  238. package/lib/metadataTypes/ContentArea.js +21 -18
  239. package/lib/metadataTypes/DataExtension.js +229 -113
  240. package/lib/metadataTypes/DataExtensionField.js +52 -53
  241. package/lib/metadataTypes/DataExtensionTemplate.js +17 -5
  242. package/lib/metadataTypes/DataExtract.js +62 -27
  243. package/lib/metadataTypes/DataExtractType.js +17 -5
  244. package/lib/metadataTypes/DeliveryProfile.js +47 -0
  245. package/lib/metadataTypes/Discovery.js +15 -4
  246. package/lib/metadataTypes/Email.js +22 -19
  247. package/lib/metadataTypes/EmailSend.js +135 -35
  248. package/lib/metadataTypes/Event.js +95 -60
  249. package/lib/metadataTypes/FileLocation.js +17 -5
  250. package/lib/metadataTypes/FileTransfer.js +62 -26
  251. package/lib/metadataTypes/Filter.js +16 -4
  252. package/lib/metadataTypes/Folder.js +67 -39
  253. package/lib/metadataTypes/ImportFile.js +341 -91
  254. package/lib/metadataTypes/Journey.js +681 -324
  255. package/lib/metadataTypes/List.js +26 -14
  256. package/lib/metadataTypes/MetadataType.js +501 -265
  257. package/lib/metadataTypes/MobileCode.js +17 -5
  258. package/lib/metadataTypes/MobileKeyword.js +59 -43
  259. package/lib/metadataTypes/MobileMessage.js +67 -40
  260. package/lib/metadataTypes/Query.js +46 -38
  261. package/lib/metadataTypes/Role.js +34 -23
  262. package/lib/metadataTypes/Script.js +127 -39
  263. package/lib/metadataTypes/SendClassification.js +120 -5
  264. package/lib/metadataTypes/SenderProfile.js +179 -0
  265. package/lib/metadataTypes/TransactionalEmail.js +30 -17
  266. package/lib/metadataTypes/TransactionalMessage.js +25 -11
  267. package/lib/metadataTypes/TransactionalPush.js +24 -9
  268. package/lib/metadataTypes/TransactionalSMS.js +78 -46
  269. package/lib/metadataTypes/TriggeredSend.js +191 -43
  270. package/lib/metadataTypes/User.js +90 -62
  271. package/lib/metadataTypes/Verification.js +39 -21
  272. package/lib/metadataTypes/definitions/Asset.definition.js +3 -3
  273. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +7 -1
  274. package/lib/metadataTypes/definitions/AttributeSet.definition.js +2 -2
  275. package/lib/metadataTypes/definitions/Automation.definition.js +4 -1
  276. package/lib/metadataTypes/definitions/Campaign.definition.js +1 -1
  277. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -1
  278. package/lib/metadataTypes/definitions/DataExtension.definition.js +17 -1
  279. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -1
  280. package/lib/metadataTypes/definitions/DataExtractType.definition.js +2 -2
  281. package/lib/metadataTypes/definitions/DeliveryProfile.definition.js +59 -0
  282. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -1
  283. package/lib/metadataTypes/definitions/Email.definition.js +1 -1
  284. package/lib/metadataTypes/definitions/EmailSend.definition.js +19 -4
  285. package/lib/metadataTypes/definitions/Event.definition.js +140 -128
  286. package/lib/metadataTypes/definitions/FileLocation.definition.js +1 -1
  287. package/lib/metadataTypes/definitions/Filter.definition.js +1 -1
  288. package/lib/metadataTypes/definitions/Folder.definition.js +25 -2
  289. package/lib/metadataTypes/definitions/ImportFile.definition.js +52 -7
  290. package/lib/metadataTypes/definitions/Journey.definition.js +12 -0
  291. package/lib/metadataTypes/definitions/List.definition.js +1 -1
  292. package/lib/metadataTypes/definitions/MobileCode.definition.js +1 -1
  293. package/lib/metadataTypes/definitions/MobileMessage.definition.js +11 -5
  294. package/lib/metadataTypes/definitions/Query.definition.js +6 -0
  295. package/lib/metadataTypes/definitions/Script.definition.js +14 -14
  296. package/lib/metadataTypes/definitions/SendClassification.definition.js +60 -20
  297. package/lib/metadataTypes/definitions/SenderProfile.definition.js +185 -0
  298. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +2 -2
  299. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +69 -0
  300. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +6 -0
  301. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +6 -0
  302. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +15 -4
  303. package/lib/metadataTypes/definitions/Verification.definition.js +1 -1
  304. package/lib/retrieveChangelog.js +7 -2
  305. package/lib/util/auth.js +56 -21
  306. package/lib/util/businessUnit.js +20 -2
  307. package/lib/util/cache.js +37 -18
  308. package/lib/util/cli.js +72 -29
  309. package/lib/util/config.js +27 -9
  310. package/lib/util/devops.js +45 -24
  311. package/lib/util/file.js +58 -33
  312. package/lib/util/init.config.js +55 -24
  313. package/lib/util/init.git.js +6 -6
  314. package/lib/util/init.js +36 -14
  315. package/lib/util/init.npm.js +2 -2
  316. package/lib/util/replaceContentBlockReference.js +278 -0
  317. package/lib/util/util.js +152 -54
  318. package/package.json +33 -30
  319. package/test/general.test.js +1327 -4
  320. package/test/mockRoot/.mcdevrc.json +26 -4
  321. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +3 -4
  322. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +1 -4
  323. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.json +11 -0
  324. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.sql +4 -0
  325. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.html +12 -0
  326. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.json +39 -0
  327. package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +6 -6
  328. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +7 -7
  329. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +3 -4
  330. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testNew_dataExtension.dataExtension-meta.json +1 -4
  331. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testExisting_emailSend.emailSend-meta.json +36 -0
  332. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testNew_emailSend.emailSend-meta.json +36 -0
  333. package/test/mockRoot/deploy/testInstance/testBU/importFile/testExisting_importFile.importFile-meta.json +10 -4
  334. package/test/mockRoot/deploy/testInstance/testBU/importFile/testNew_importFile.importFile-meta.json +8 -4
  335. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_journey_Quicksend.journey-meta.json +232 -0
  336. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.json +2 -4
  337. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.json +2 -4
  338. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query.query-meta.json +1 -1
  339. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.json +1 -1
  340. package/test/mockRoot/deploy/testInstance/testBU/query/testNew_query.query-meta.json +1 -1
  341. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testExisting_sendClassification.sendClassification-meta.json +8 -0
  342. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testNew_sendClassification.sendClassification-meta.json +8 -0
  343. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testExisting_senderProfile.senderProfile-meta.json +14 -0
  344. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testNew_senderProfile.senderProfile-meta.json +14 -0
  345. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +1 -1
  346. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -1
  347. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testExisting_tpush.transactionalPush-meta.json +1 -3
  348. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testNew_tpush.transactionalPush-meta.json +1 -3
  349. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +1 -2
  350. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +1 -2
  351. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testExisting_triggeredSend.triggeredSend-meta.json +4 -5
  352. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testNew_triggeredSend.triggeredSend-meta.json +4 -5
  353. package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  354. package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  355. package/test/resourceFactory.js +118 -7
  356. package/test/resources/1111111/automation/v1/queries/get-response.json +6 -0
  357. package/test/resources/1111111/automation/v1/queries/post-response.json +18 -0
  358. package/test/resources/1111111/dataExtension/create-expected.json +4 -7
  359. package/test/resources/1111111/dataExtension/retrieve-expected.json +2 -4
  360. package/test/resources/1111111/dataExtension/update-expected.json +7 -7
  361. package/test/resources/1111111/dataExtension/update-response.xml +3 -1
  362. package/test/resources/1111111/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
  363. package/test/resources/1111111/query/patch_keySuffix-expected.json +11 -0
  364. package/test/resources/1111111/query/patch_keySuffix-expected.sql +4 -0
  365. package/test/resources/9999999/asset/block-1157-retrieve-expected.html +4 -3
  366. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +81 -0
  367. package/test/resources/9999999/asset/build-templatebasedemail-html-expected.html +20 -0
  368. package/test/resources/9999999/asset/build-templatebasedemail-preheader-expected.amp +1 -0
  369. package/test/resources/9999999/asset/create-expected.json +18 -0
  370. package/test/resources/9999999/asset/resolveId-1234-notFound-expected.json +1 -0
  371. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +8 -0
  372. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +8 -0
  373. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +84 -0
  374. package/test/resources/9999999/asset/retrieve-templatebasedemail-html-expected.html +20 -0
  375. package/test/resources/9999999/asset/retrieve-templatebasedemail-preheader-expected.amp +1 -0
  376. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +81 -0
  377. package/test/resources/9999999/asset/template-templatebasedemail-html-expected.html +20 -0
  378. package/test/resources/9999999/asset/template-templatebasedemail-preheader-expected.amp +1 -0
  379. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-id-expected.html +33 -0
  380. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +33 -0
  381. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-name-expected.html +35 -0
  382. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +4 -0
  383. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -0
  384. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +4 -0
  385. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-id-expected.amp +4 -0
  386. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -0
  387. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-name-expected.amp +4 -0
  388. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +1 -1
  389. package/test/resources/9999999/asset/v1/content/assets/5286/get-response.json +48 -0
  390. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +198 -0
  391. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +4 -3
  392. package/test/resources/9999999/asset/v1/content/assets/950143/delete-response.txt +1 -0
  393. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +105 -0
  394. package/test/resources/9999999/asset/v1/content/assets/post-response.json +59 -0
  395. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN174,175,176,177,178,179,180,181,182,183,184,185,186,187,188,189,190,191,192,14.json +7 -0
  396. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN193,194,15.json +7 -0
  397. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN195,196,197,198,199,200,201,202,203,210,211,212,213,3.json +46 -0
  398. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +32 -0
  399. package/test/resources/9999999/asset/v1/content/assets/query/{post-response.json → post-response-assetType.idIN207,208,209,5.json} +45 -47
  400. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN214,4.json +35 -0
  401. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN215,216,217,218,219,220,221,222,223,224,225,226,227,228.json +7 -0
  402. package/test/resources/9999999/asset/v1/content/assets/query/post-response-customerKey=mcdev-issue-1157.json +46 -0
  403. package/test/resources/9999999/attributeGroup/retrieve-expected.json +1 -1
  404. package/test/resources/9999999/attributeSet/retrieve-expected.json +3 -3
  405. package/test/resources/9999999/automation/build-expected.json +7 -7
  406. package/test/resources/9999999/automation/create-expected.json +7 -7
  407. package/test/resources/9999999/automation/patch_fixKeys-pause-expected.json +6 -6
  408. package/test/resources/9999999/automation/patch_fixKeys-schedule-expected.json +6 -6
  409. package/test/resources/9999999/automation/retrieve-expected.json +7 -7
  410. package/test/resources/9999999/automation/template-expected.json +7 -7
  411. package/test/resources/9999999/automation/update-expected.json +6 -6
  412. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/delete-response.txt +1 -0
  413. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/delete-response.json +1 -0
  414. package/test/resources/9999999/automation/v1/imports/1ebf557b-372e-eb11-b81b-48df37d1dbd7/get-response.json +78 -0
  415. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/delete-response.txt +0 -0
  416. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/get-response.json +35 -0
  417. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/patch-response.json +14 -10
  418. package/test/resources/9999999/automation/v1/imports/get-response.json +78 -1
  419. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +1 -1
  420. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/get-response.json +17 -0
  421. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/patch-response.json +18 -0
  422. package/test/resources/9999999/automation/v1/queries/abcde-607c-4940-afef-437965094dat/get-response.json +17 -0
  423. package/test/resources/9999999/automation/v1/queries/get-response.json +20 -3
  424. package/test/resources/9999999/automation/v1/scripts/39f6a488-20eb-4ba0-b0b9-023725b574e4/delete-response.txt +1 -0
  425. package/test/resources/9999999/automation/v1/scripts/get-response.json +3 -3
  426. package/test/resources/9999999/dataExtension/build-expected.json +3 -4
  427. package/test/resources/9999999/dataExtension/create-expected.json +1 -4
  428. package/test/resources/9999999/dataExtension/retrieve-Name=testExisting_dataExtension-response.xml +4 -4
  429. package/test/resources/9999999/dataExtension/retrieve-expected.json +3 -4
  430. package/test/resources/9999999/dataExtension/retrieve-response.xml +96 -1
  431. package/test/resources/9999999/dataExtension/template-expected.json +3 -4
  432. package/test/resources/9999999/dataExtension/update-expected.json +4 -3
  433. package/test/resources/9999999/dataExtension/update-response.xml +5 -3
  434. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +72 -0
  435. package/test/resources/9999999/dataFolder/retrieve-ContentType=userinitiatedsends-response.xml +48 -0
  436. package/test/resources/9999999/deliveryProfile/get-expected.json +7 -0
  437. package/test/resources/9999999/emailSend/build-expected.json +43 -0
  438. package/test/resources/9999999/emailSend/get-expected.json +43 -0
  439. package/test/resources/9999999/emailSend/patch-expected.json +41 -0
  440. package/test/resources/9999999/emailSend/post-expected.json +41 -0
  441. package/test/resources/9999999/emailSend/template-expected.json +43 -0
  442. package/test/resources/9999999/emailSendDefinition/create-response.xml +98 -0
  443. package/test/resources/9999999/emailSendDefinition/delete-response.xml +36 -0
  444. package/test/resources/9999999/emailSendDefinition/retrieve-IsPlatformObject=falseANDDescriptionnotEqualsSFSendDefinition-response.xml +18 -8
  445. package/test/resources/9999999/emailSendDefinition/update-response.xml +97 -0
  446. package/test/resources/9999999/importDefinition/retrieve-CustomerKey=testExisting_importFile-response.xml +30 -0
  447. package/test/resources/9999999/importDefinition/retrieve-Name=testExisting_importFile-response.xml +30 -0
  448. package/test/resources/9999999/importFile/build-expected.json +11 -6
  449. package/test/resources/9999999/importFile/get-expected.json +13 -7
  450. package/test/resources/9999999/importFile/get-sms-expected.json +79 -0
  451. package/test/resources/9999999/importFile/patch-expected.json +12 -7
  452. package/test/resources/9999999/importFile/post-expected.json +8 -5
  453. package/test/resources/9999999/importFile/template-expected.json +10 -5
  454. package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +124 -0
  455. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/delete-response.txt +1 -0
  456. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +253 -0
  457. package/test/resources/9999999/interaction/v1/interactions/get-response.json +83 -779
  458. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Multistep/get-response.json +457 -0
  459. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +253 -0
  460. package/test/resources/9999999/interaction/v1/interactions/{key_0b76dccf-594c-b6dc-1acf-10c4493dcb84 → key_testExisting_temail}/get-response.json +5 -5
  461. package/test/resources/9999999/journey/build-expected.json +105 -449
  462. package/test/resources/9999999/journey/get-multistep-expected.json +413 -0
  463. package/test/resources/9999999/journey/get-quicksend-expected.json +232 -0
  464. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +232 -0
  465. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +232 -0
  466. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +232 -0
  467. package/test/resources/9999999/journey/get-transactionalEmail-expected.json +211 -0
  468. package/test/resources/9999999/journey/template-expected.json +105 -449
  469. package/test/resources/9999999/legacy/v1/beta/messaging/deliverypolicy/get-response.json +15 -0
  470. package/test/resources/9999999/legacy/v1/beta/mobile/imports/get-response.json +112 -0
  471. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTQ3Ojc4OjA/get-response.json +1 -1
  472. package/test/resources/9999999/legacy/v1/beta/object/NWQwdnhEU3dFZWVBekJRQzdISWl0QTo0NTow/get-response.json +12 -0
  473. package/test/resources/9999999/list/retrieve-response.xml +13 -0
  474. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +1 -1
  475. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +1 -1
  476. package/test/resources/9999999/mobileMessage/build-expected.json +2 -5
  477. package/test/resources/9999999/mobileMessage/get-expected.json +2 -5
  478. package/test/resources/9999999/mobileMessage/post-create-expected.json +2 -4
  479. package/test/resources/9999999/mobileMessage/post-update-expected.json +2 -5
  480. package/test/resources/9999999/mobileMessage/template-expected.json +2 -5
  481. package/test/resources/9999999/query/build-expected.json +1 -1
  482. package/test/resources/9999999/query/build-expected.sql +2 -1
  483. package/test/resources/9999999/query/get-expected.json +1 -1
  484. package/test/resources/9999999/query/get-expected.sql +2 -1
  485. package/test/resources/9999999/query/get2-expected.json +1 -1
  486. package/test/resources/9999999/query/patch-expected.json +1 -1
  487. package/test/resources/9999999/query/patch_fixKeys-expected.json +1 -1
  488. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.json +11 -0
  489. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.sql +6 -0
  490. package/test/resources/9999999/query/post-expected.json +1 -1
  491. package/test/resources/9999999/query/template-expected.json +1 -1
  492. package/test/resources/9999999/query/template-expected.sql +2 -1
  493. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query2ANDStatus=Active-response.xml +30 -0
  494. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixKeysSuffixANDStatus=Active-response.xml +30 -0
  495. package/test/resources/9999999/script/get_ampincluded-expected.html +5 -0
  496. package/test/resources/9999999/script/get_ampincluded-rcb-id-expected.html +5 -0
  497. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +5 -0
  498. package/test/resources/9999999/script/get_ampincluded-rcb-name-expected.html +5 -0
  499. package/test/resources/9999999/script/get_ampscript-expected.html +6 -1
  500. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +8 -0
  501. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +8 -0
  502. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +10 -0
  503. package/test/resources/9999999/script/get_mixed-expected.html +5 -2
  504. package/test/resources/9999999/script/get_mixed-rcb-id-expected.html +12 -0
  505. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +12 -0
  506. package/test/resources/9999999/script/get_mixed-rcb-name-expected.html +14 -0
  507. package/test/resources/9999999/sendClassification/build-expected.json +8 -0
  508. package/test/resources/9999999/sendClassification/create-response.xml +51 -0
  509. package/test/resources/9999999/sendClassification/delete-response.xml +36 -0
  510. package/test/resources/9999999/sendClassification/get-expected.json +10 -0
  511. package/test/resources/9999999/sendClassification/patch-expected.json +8 -0
  512. package/test/resources/9999999/sendClassification/post-expected.json +8 -0
  513. package/test/resources/9999999/sendClassification/retrieve-response.xml +86 -0
  514. package/test/resources/9999999/sendClassification/template-expected.json +8 -0
  515. package/test/resources/9999999/sendClassification/update-response.xml +49 -0
  516. package/test/resources/9999999/senderProfile/build-expected.json +14 -0
  517. package/test/resources/9999999/senderProfile/create-response.xml +49 -0
  518. package/test/resources/9999999/senderProfile/delete-response.xml +36 -0
  519. package/test/resources/9999999/senderProfile/get-expected.json +16 -0
  520. package/test/resources/9999999/senderProfile/get-rcb-id-expected.json +16 -0
  521. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +16 -0
  522. package/test/resources/9999999/senderProfile/get-rcb-name-expected.json +16 -0
  523. package/test/resources/9999999/senderProfile/patch-expected.json +14 -0
  524. package/test/resources/9999999/senderProfile/post-expected.json +14 -0
  525. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=Default-response.xml +44 -0
  526. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=wrong-key-response.xml +26 -0
  527. package/test/resources/9999999/senderProfile/retrieve-response.xml +80 -0
  528. package/test/resources/9999999/senderProfile/template-expected.json +14 -0
  529. package/test/resources/9999999/senderProfile/update-response.xml +47 -0
  530. package/test/resources/9999999/transactionalEmail/build-expected.json +3 -3
  531. package/test/resources/9999999/transactionalEmail/get-expected.json +3 -3
  532. package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -3
  533. package/test/resources/9999999/transactionalEmail/post-expected.json +2 -2
  534. package/test/resources/9999999/transactionalEmail/template-expected.json +3 -3
  535. package/test/resources/9999999/transactionalPush/build-expected.json +1 -1
  536. package/test/resources/9999999/transactionalPush/get-expected.json +1 -1
  537. package/test/resources/9999999/transactionalPush/patch-expected.json +1 -3
  538. package/test/resources/9999999/transactionalPush/post-expected.json +1 -3
  539. package/test/resources/9999999/transactionalPush/template-expected.json +1 -1
  540. package/test/resources/9999999/transactionalSMS/build-expected.amp +1 -1
  541. package/test/resources/9999999/transactionalSMS/build-expected.json +1 -2
  542. package/test/resources/9999999/transactionalSMS/get-expected.amp +1 -1
  543. package/test/resources/9999999/transactionalSMS/get-expected.json +1 -2
  544. package/test/resources/9999999/transactionalSMS/patch-expected.amp +1 -1
  545. package/test/resources/9999999/transactionalSMS/patch-expected.json +1 -2
  546. package/test/resources/9999999/transactionalSMS/post-expected.amp +1 -1
  547. package/test/resources/9999999/transactionalSMS/post-expected.json +1 -2
  548. package/test/resources/9999999/transactionalSMS/template-expected.amp +1 -1
  549. package/test/resources/9999999/transactionalSMS/template-expected.json +1 -2
  550. package/test/resources/9999999/triggeredSend/build-expected.json +5 -6
  551. package/test/resources/9999999/triggeredSend/get-expected.json +5 -6
  552. package/test/resources/9999999/triggeredSend/get-rcb-id-expected.json +29 -0
  553. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +29 -0
  554. package/test/resources/9999999/triggeredSend/get-rcb-name-expected.json +29 -0
  555. package/test/resources/9999999/triggeredSend/patch-expected.json +5 -6
  556. package/test/resources/9999999/triggeredSend/post-expected.json +5 -6
  557. package/test/resources/9999999/triggeredSend/template-expected.json +5 -6
  558. package/test/resources/9999999/triggeredSendDefinition/create-response.xml +6 -1
  559. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +53 -1
  560. package/test/resources/9999999/triggeredSendDefinition/update-response.xml +6 -1
  561. package/test/resources/9999999/verification/build-expected.json +1 -1
  562. package/test/resources/9999999/verification/get-expected.json +1 -1
  563. package/test/resources/9999999/verification/patch-expected.json +1 -1
  564. package/test/resources/9999999/verification/post-expected.json +1 -1
  565. package/test/resources/9999999/verification/template-expected.json +1 -1
  566. package/test/type.asset.test.js +733 -17
  567. package/test/type.attributeGroup.test.js +6 -2
  568. package/test/type.attributeSet.test.js +6 -2
  569. package/test/type.automation.test.js +174 -162
  570. package/test/type.dataExtension.test.js +41 -45
  571. package/test/type.dataExtract.test.js +22 -29
  572. package/test/type.deliveryProfile.test.js +45 -0
  573. package/test/type.emailSend.test.js +144 -0
  574. package/test/type.event.test.js +62 -0
  575. package/test/type.fileTransfer.test.js +21 -29
  576. package/test/type.importFile.test.js +61 -35
  577. package/test/type.journey.test.js +251 -45
  578. package/test/type.mobileKeyword.test.js +46 -54
  579. package/test/type.mobileMessage.test.js +28 -27
  580. package/test/type.query.test.js +303 -124
  581. package/test/type.script.test.js +288 -69
  582. package/test/type.sendClassification.test.js +156 -0
  583. package/test/type.senderProfile.test.js +254 -0
  584. package/test/type.transactionalEmail.test.js +15 -11
  585. package/test/type.transactionalPush.test.js +15 -11
  586. package/test/type.transactionalSMS.test.js +30 -23
  587. package/test/type.triggeredSend.test.js +130 -17
  588. package/test/type.user.test.js +22 -14
  589. package/test/type.verification.test.js +13 -10
  590. package/test/utils.js +76 -21
  591. package/tsconfig.json +21 -0
  592. package/types/mcdev.d.js +190 -66
  593. package/docs/dist/documentation.md +0 -8878
  594. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_interaction.interaction-meta.json +0 -576
  595. package/test/mockRoot/deploy/testInstance/testBU/journey/testNew_interaction.interaction-meta.json +0 -266
  596. package/test/resources/9999999/interaction/v1/EventDefinitions/get-response.json +0 -43
  597. package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +0 -1
  598. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +0 -592
  599. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/put-response.json +0 -592
  600. package/test/resources/9999999/interaction/v1/interactions/post-response.json +0 -280
  601. package/test/resources/9999999/journey/get-expected.json +0 -576
  602. package/test/resources/9999999/script/get_ampincluded-expected.ssjs +0 -5
@@ -1,25 +1,46 @@
1
1
  'use strict';
2
2
 
3
- import TYPE from '../../types/mcdev.d.js';
4
3
  import MetadataType from './MetadataType.js';
5
4
  import { Util } from '../util/util.js';
6
5
  import File from '../util/file.js';
7
6
  import cache from '../util/cache.js';
8
7
 
8
+ /**
9
+ * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject
10
+ * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract
11
+ * @typedef {import('../../types/mcdev.d.js').CodeExtractItem} CodeExtractItem
12
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItem} MetadataTypeItem
13
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemDiff} MetadataTypeItemDiff
14
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemObj} MetadataTypeItemObj
15
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMap} MetadataTypeMap
16
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj
17
+ * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams
18
+ * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap
19
+ */
20
+
21
+ /**
22
+ * @typedef {import('../../types/mcdev.d.js').UserDocument} UserDocument
23
+ * @typedef {import('../../types/mcdev.d.js').UserDocumentDocument} UserDocumentDocument
24
+ * @typedef {import('../../types/mcdev.d.js').UserDocumentDiff} UserDocumentDiff
25
+ * @typedef {import('../../types/mcdev.d.js').UserDocumentMap} UserDocumentMap
26
+ * @typedef {import('../../types/mcdev.d.js').AccountUserConfiguration} AccountUserConfiguration
27
+ */
28
+
9
29
  /**
10
30
  * MetadataType
11
31
  *
12
32
  * @augments MetadataType
13
33
  */
14
34
  class User extends MetadataType {
35
+ static userBUassignments;
15
36
  /**
16
37
  * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
17
38
  *
18
39
  * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
19
- * @param {void} _ unused parameter
20
- * @param {void} [__] unused parameter
40
+ * @param {void | string[]} _ unused parameter
41
+ * @param {void | string[]} [__] unused parameter
21
42
  * @param {string} [key] customer key of single item to retrieve
22
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
43
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
23
44
  */
24
45
  static async retrieve(retrieveDir, _, __, key) {
25
46
  if (this.buObject.eid !== this.buObject.mid) {
@@ -31,7 +52,7 @@ class User extends MetadataType {
31
52
  /**
32
53
  * Retrieves import definition metadata for caching
33
54
  *
34
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise
55
+ * @returns {Promise.<MetadataTypeMapObj>} Promise
35
56
  */
36
57
  static async retrieveForCache() {
37
58
  return this.retrieve(null);
@@ -40,7 +61,7 @@ class User extends MetadataType {
40
61
  /**
41
62
  * Create a single item.
42
63
  *
43
- * @param {TYPE.MetadataTypeItem} metadata single metadata entry
64
+ * @param {MetadataTypeItem} metadata single metadata entry
44
65
  * @returns {Promise} Promise
45
66
  */
46
67
  static async create(metadata) {
@@ -54,7 +75,7 @@ class User extends MetadataType {
54
75
  /**
55
76
  * Updates a single item.
56
77
  *
57
- * @param {TYPE.MetadataTypeItem} metadata single metadata entry
78
+ * @param {MetadataTypeItem} metadata single metadata entry
58
79
  * @returns {Promise} Promise
59
80
  */
60
81
  static async update(metadata) {
@@ -67,8 +88,8 @@ class User extends MetadataType {
67
88
  /**
68
89
  * prepares a item for deployment
69
90
  *
70
- * @param {TYPE.UserDocument} metadata of a single item
71
- * @returns {TYPE.UserDocument} metadata object
91
+ * @param {UserDocument} metadata of a single item
92
+ * @returns {Promise.<UserDocument>} metadata object
72
93
  */
73
94
  static async preDeployTasks(metadata) {
74
95
  metadata.Client = {
@@ -92,7 +113,7 @@ class User extends MetadataType {
92
113
  'Name',
93
114
  'CustomerKey'
94
115
  );
95
- roleCache = cache.getByKey('role', roleKey);
116
+ roleCache = cache.getByKey('role', roleKey + '');
96
117
  } catch {
97
118
  // skip this role in case of errors
98
119
  return;
@@ -130,12 +151,9 @@ class User extends MetadataType {
130
151
  if (metadata.c__TimeZoneName) {
131
152
  // find the ID of the timezone
132
153
  metadata.TimeZone = { Name: metadata.c__TimeZoneName };
133
- metadata.TimeZone.ID = cache.searchForField(
134
- '_timezone',
135
- metadata.c__TimeZoneName,
136
- 'description',
137
- 'id'
138
- );
154
+ metadata.TimeZone.ID =
155
+ '' +
156
+ cache.searchForField('_timezone', metadata.c__TimeZoneName, 'description', 'id');
139
157
  delete metadata.c__TimeZoneName;
140
158
  }
141
159
 
@@ -198,15 +216,21 @@ class User extends MetadataType {
198
216
  /**
199
217
  * helper for {@link MetadataType.upsert}
200
218
  *
201
- * @param {TYPE.MetadataTypeMap} metadata list of metadata
219
+ * @param {MetadataTypeMap} metadata list of metadata
202
220
  * @param {string} metadataKey key of item we are looking at
203
221
  * @param {boolean} hasError error flag from previous code
204
- * @param {TYPE.UserDocumentDiff[]} metadataToUpdate list of items to update
205
- * @param {TYPE.UserDocument[]} metadataToCreate list of items to create
206
- * @returns {void}
222
+ * @param {UserDocumentDiff[]} metadataToUpdate list of items to update
223
+ * @param {UserDocument[]} metadataToCreate list of items to create
224
+ * @returns {Promise.<'create'|'update'|'skip'>} action to take
207
225
  */
208
- static createOrUpdate(metadata, metadataKey, hasError, metadataToUpdate, metadataToCreate) {
209
- const action = super.createOrUpdate(
226
+ static async createOrUpdate(
227
+ metadata,
228
+ metadataKey,
229
+ hasError,
230
+ metadataToUpdate,
231
+ metadataToCreate
232
+ ) {
233
+ const action = await super.createOrUpdate(
210
234
  metadata,
211
235
  metadataKey,
212
236
  hasError,
@@ -217,21 +241,22 @@ class User extends MetadataType {
217
241
  if (action === 'create') {
218
242
  const createItem = metadataToCreate.at(-1);
219
243
  User._setPasswordForNewUser(createItem);
220
- User._prepareRoleAssignments({ after: createItem });
244
+ User._prepareRoleAssignments({ before: null, after: createItem });
221
245
  User._prepareBuAssignments(metadata[metadataKey], null, createItem);
222
246
  } else if (action === 'update') {
223
247
  const updateItem = metadataToUpdate.at(-1);
224
248
  User._prepareRoleAssignments(updateItem);
225
249
  User._prepareBuAssignments(metadata[metadataKey], updateItem, null);
226
250
  }
251
+ return action;
227
252
  }
228
253
 
229
254
  /**
230
255
  *
231
256
  * @private
232
- * @param {TYPE.MetadataTypeItem} metadata single metadata itme
233
- * @param {TYPE.UserDocumentDiff} [updateItem] item to update
234
- * @param {TYPE.UserDocument} [createItem] item to create
257
+ * @param {MetadataTypeItem} metadata single metadata itme
258
+ * @param {UserDocumentDiff} [updateItem] item to update
259
+ * @param {UserDocument} [createItem] item to create
235
260
  */
236
261
  static _prepareBuAssignments(metadata, updateItem, createItem) {
237
262
  this.userBUassignments ||= { add: {}, delete: {} };
@@ -274,7 +299,7 @@ class User extends MetadataType {
274
299
  /**
275
300
  * Gets executed after deployment of metadata type
276
301
  *
277
- * @param {TYPE.UserDocumentMap} upsertResults metadata mapped by their keyField
302
+ * @param {UserDocumentMap} upsertResults metadata mapped by their keyField
278
303
  * @returns {Promise.<void>} promise
279
304
  */
280
305
  static async postDeployTasks(upsertResults) {
@@ -286,11 +311,11 @@ class User extends MetadataType {
286
311
  * create/update business unit assignments
287
312
  *
288
313
  * @private
289
- * @param {TYPE.UserDocumentMap} upsertResults metadata mapped by their keyField
290
- * @returns {void}
314
+ * @param {UserDocumentMap} upsertResults metadata mapped by their keyField
315
+ * @returns {Promise.<void>} -
291
316
  */
292
317
  static async _handleBuAssignments(upsertResults) {
293
- /** @type {TYPE.UserConfiguration[]} */
318
+ /** @type {AccountUserConfiguration[]} */
294
319
  const configs = [];
295
320
  for (const action in this.userBUassignments) {
296
321
  for (const data of Object.entries(this.userBUassignments[action])) {
@@ -301,7 +326,7 @@ class User extends MetadataType {
301
326
  }
302
327
  userId = userId.startsWith('key:') ? upsertResults[userId.slice(4)].ID : userId;
303
328
  configs.push(
304
- /** @type {TYPE.UserConfiguration} */ {
329
+ /** @type {AccountUserConfiguration} */ {
305
330
  Client: { ID: this.buObject.eid },
306
331
  ID: userId,
307
332
  BusinessUnitAssignmentConfiguration: {
@@ -315,6 +340,7 @@ class User extends MetadataType {
315
340
  if (configs.length > 0) {
316
341
  Util.logger.info('Deploying: BU assignment changes');
317
342
  // run update
343
+ // @ts-expect-error bad jsodc in SFMC-SDK
318
344
  const buResponse = await this.client.soap.configure('AccountUser', configs);
319
345
  // process response
320
346
  if (buResponse.OverallStatus === 'OK') {
@@ -337,7 +363,7 @@ class User extends MetadataType {
337
363
  const userBUresults = {};
338
364
  for (const result of configureResults) {
339
365
  if (result.StatusCode === 'OK') {
340
- /** @type {TYPE.UserConfiguration} */
366
+ /** @type {AccountUserConfiguration} */
341
367
  const config = result.Object;
342
368
  const buArr =
343
369
  config.BusinessUnitAssignmentConfiguration.BusinessUnitIds
@@ -395,7 +421,7 @@ class User extends MetadataType {
395
421
  * helper for {@link User.createOrUpdate}
396
422
  *
397
423
  * @private
398
- * @param {TYPE.UserDocument} metadata single created user
424
+ * @param {UserDocument} metadata single created user
399
425
  * @returns {void}
400
426
  */
401
427
  static _setPasswordForNewUser(metadata) {
@@ -418,7 +444,7 @@ class User extends MetadataType {
418
444
  * Adding roles works automatically for roles listed on the user
419
445
  *
420
446
  * @private
421
- * @param {TYPE.UserDocumentDiff} item updated user with before and after state
447
+ * @param {UserDocumentDiff} item updated user with before and after state
422
448
  * @returns {void}
423
449
  */
424
450
  static _prepareRoleAssignments(item) {
@@ -544,7 +570,7 @@ class User extends MetadataType {
544
570
  /**
545
571
  * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
546
572
  *
547
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
573
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
548
574
  */
549
575
  static async retrieveChangelog() {
550
576
  return this._retrieve();
@@ -553,13 +579,13 @@ class User extends MetadataType {
553
579
  * Retrieves SOAP based metadata of metadata type into local filesystem. executes callback with retrieved metadata
554
580
  *
555
581
  * @private
556
- * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
582
+ * @param {string} [retrieveDir] Directory where retrieved metadata directory will be saved
557
583
  * @param {string} [key] customer key of single item to retrieve
558
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
584
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
559
585
  */
560
586
  static async _retrieve(retrieveDir, key) {
561
587
  this.userIdBuMap = {};
562
- /** @type {TYPE.SoapRequestParams} */
588
+ /** @type {SoapRequestParams} */
563
589
  const requestParams = {
564
590
  QueryAllAccounts: true,
565
591
 
@@ -594,10 +620,10 @@ class User extends MetadataType {
594
620
  * Retrieves SOAP via generic fuel-soap wrapper based metadata of metadata type into local filesystem. executes callback with retrieved metadata
595
621
  *
596
622
  * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
597
- * @param {TYPE.SoapRequestParams} [requestParams] required for the specific request (filter for example)
598
- * @param {string|number} [singleRetrieve] key of single item to filter by
623
+ * @param {SoapRequestParams} [requestParams] required for the specific request (filter for example)
624
+ * @param {string} [singleRetrieve] key of single item to filter by
599
625
  * @param {string[]} [additionalFields] Returns specified fields even if their retrieve definition is not set to true
600
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of item map
626
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of item map
601
627
  */
602
628
  static async retrieveSOAP(retrieveDir, requestParams, singleRetrieve, additionalFields) {
603
629
  // to avoid not retrieving roles and userPermissions for users above the 2500 records limit we need to retrieve users twice, once with ActiveFlag=true and once with ActiveFlag=false
@@ -646,7 +672,7 @@ class User extends MetadataType {
646
672
  }
647
673
  } catch (ex) {
648
674
  this._handleSOAPErrors(ex, 'retrieving');
649
- return {};
675
+ return;
650
676
  }
651
677
  }
652
678
  if (
@@ -658,7 +684,7 @@ class User extends MetadataType {
658
684
  resultsBulk
659
685
  ))
660
686
  ) {
661
- return {};
687
+ return;
662
688
  }
663
689
 
664
690
  const metadata = this.parseResponseBody(resultsBulk);
@@ -743,13 +769,14 @@ class User extends MetadataType {
743
769
  * helper for {@link User.retrieveSOAP}
744
770
  *
745
771
  * @private
746
- * @param {TYPE.SoapRequestParams} [requestParams] required for the specific request (filter for example)
772
+ * @param {SoapRequestParams} requestParams required for the specific request (filter for example)
747
773
  * @param {string} soapType e.g. AccountUser
748
774
  * @param {string[]} fields list of fields to retrieve
749
775
  * @param {object} resultsBulk actual return value of this method
750
776
  * @returns {Promise.<boolean>} success flag
751
777
  */
752
778
  static async _retrieveSOAP_installedPackage(requestParams, soapType, fields, resultsBulk) {
779
+ /** @type {SoapRequestParams} */
753
780
  const requestParamsInstalledPackage = {
754
781
  QueryAllAccounts: true,
755
782
 
@@ -785,7 +812,10 @@ class User extends MetadataType {
785
812
  },
786
813
  },
787
814
  };
788
- if (requestParams?.filter?.leftOperand?.leftOperand === 'CustomerKey') {
815
+ if (
816
+ 'object' === typeof requestParams?.filter?.leftOperand &&
817
+ requestParams?.filter?.leftOperand?.leftOperand === 'CustomerKey'
818
+ ) {
789
819
  requestParamsInstalledPackage.filter = {
790
820
  leftOperand: requestParams?.filter?.leftOperand,
791
821
  operator: 'AND',
@@ -818,22 +848,22 @@ class User extends MetadataType {
818
848
 
819
849
  /**
820
850
  *
821
- * @private
822
- * @param {string} date first date
823
- * @returns {number} time difference
851
+ * @param {string} dateStr first date
852
+ * @param {string} interval defaults to 'days'
853
+ * @returns {string} time difference
824
854
  */
825
- static _timeSinceDate(date) {
826
- const interval = 'days';
855
+ static #timeSinceDate(dateStr, interval = 'days') {
827
856
  const second = 1000,
828
857
  minute = second * 60,
829
858
  hour = minute * 60,
830
859
  day = hour * 24,
831
860
  week = day * 7;
832
- date = new Date(date);
861
+ const date = new Date(dateStr);
833
862
  const now = new Date();
834
- const timediff = now - date;
863
+ // get difference in miliseconds
864
+ const timediff = now.valueOf() - date.valueOf();
835
865
  if (Number.isNaN(timediff)) {
836
- return Number.NaN;
866
+ return '';
837
867
  }
838
868
  let result;
839
869
  switch (interval) {
@@ -930,7 +960,7 @@ class User extends MetadataType {
930
960
  /**
931
961
  * Creates markdown documentation of all roles
932
962
  *
933
- * @param {TYPE.MetadataTypeMap} [metadata] user list
963
+ * @param {UserDocumentMap} [metadata] user list
934
964
  * @returns {Promise.<void>} -
935
965
  */
936
966
  static async document(metadata) {
@@ -944,7 +974,7 @@ class User extends MetadataType {
944
974
  if (!metadata) {
945
975
  // load users from disk if document was called directly and not part of a retrieve
946
976
  try {
947
- metadata = this.readBUMetadataForType(
977
+ metadata = await this.readBUMetadataForType(
948
978
  File.normalizePath([
949
979
  this.properties.directories.retrieve,
950
980
  this.buObject.credential,
@@ -961,9 +991,7 @@ class User extends MetadataType {
961
991
  // init map of BU Ids > BU Name
962
992
  this._getBuNames();
963
993
 
964
- /**
965
- * @type {TYPE.UserDocument[]}
966
- */
994
+ /** @type {UserDocumentDocument[]} */
967
995
  const users = [];
968
996
 
969
997
  for (const id in metadata) {
@@ -1007,7 +1035,7 @@ class User extends MetadataType {
1007
1035
  LastSuccessfulLogin === user.CreatedDate.split('.')[0] ||
1008
1036
  LastSuccessfulLogin === user.ModifiedDate.split('.')[0]
1009
1037
  ? 'unknown'
1010
- : this._timeSinceDate(user.LastSuccessfulLogin)
1038
+ : this.#timeSinceDate(user.LastSuccessfulLogin)
1011
1039
  : 'never',
1012
1040
  CreatedDate: user.CreatedDate ? user.CreatedDate.split('T').join(' ') : 'n/a',
1013
1041
  ModifiedDate: user.ModifiedDate ? user.ModifiedDate.split('T').join(' ') : 'n/a',
@@ -1072,7 +1100,7 @@ class User extends MetadataType {
1072
1100
  *
1073
1101
  * @private
1074
1102
  * @param {object[]} users list of users and installed package
1075
- * @param {'Installed Package'|'User'} type choose what sub type to print
1103
+ * @param {'Installed Package'|'User'|'Inactivated User'} type choose what sub type to print
1076
1104
  * @param {Array[]} columnsToPrint helper array
1077
1105
  * @returns {string} markdown
1078
1106
  */
@@ -1096,8 +1124,8 @@ class User extends MetadataType {
1096
1124
  /**
1097
1125
  * manages post retrieve steps
1098
1126
  *
1099
- * @param {TYPE.MetadataTypeItem} metadata a single item
1100
- * @returns {TYPE.MetadataTypeItem | void} a single item
1127
+ * @param {MetadataTypeItem} metadata a single item
1128
+ * @returns {MetadataTypeItem | void} a single item
1101
1129
  */
1102
1130
  static postRetrieveTasks(metadata) {
1103
1131
  metadata.c__type = 'Installed Package';
@@ -2,9 +2,27 @@
2
2
 
3
3
  import Automation from './Automation.js';
4
4
  import MetadataType from './MetadataType.js';
5
- import TYPE from '../../types/mcdev.d.js';
6
5
  import { Util } from '../util/util.js';
7
6
  import cache from '../util/cache.js';
7
+
8
+ /**
9
+ * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject
10
+ * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract
11
+ * @typedef {import('../../types/mcdev.d.js').CodeExtractItem} CodeExtractItem
12
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItem} MetadataTypeItem
13
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemDiff} MetadataTypeItemDiff
14
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemObj} MetadataTypeItemObj
15
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMap} MetadataTypeMap
16
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj
17
+ * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams
18
+ * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap
19
+ * @typedef {import('../../types/mcdev.d.js').RestError} RestError
20
+ */
21
+
22
+ /**
23
+ * @typedef {import('../../types/mcdev.d.js').VerificationItem} VerificationItem
24
+ */
25
+
8
26
  /**
9
27
  * Verification MetadataType
10
28
  *
@@ -14,11 +32,11 @@ class Verification extends MetadataType {
14
32
  /**
15
33
  * Retrieves Metadata of Data Verification Activity.
16
34
  *
17
- * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
18
- * @param {void} [_] unused parameter
19
- * @param {void} [__] unused parameter
20
- * @param {string} key customer key of single item to retrieve
21
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
35
+ * @param {string} [retrieveDir] Directory where retrieved metadata directory will be saved
36
+ * @param {void | string[]} [_] unused parameter
37
+ * @param {void | string[]} [__] unused parameter
38
+ * @param {string} [key] customer key of single item to retrieve
39
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
22
40
  */
23
41
  static async retrieve(retrieveDir, _, __, key) {
24
42
  let paramArr = [];
@@ -92,7 +110,7 @@ class Verification extends MetadataType {
92
110
  /**
93
111
  * helper for {@link this.retrieveRESTcollection}
94
112
  *
95
- * @param {Error} ex exception
113
+ * @param {RestError} ex exception
96
114
  * @param {string} id id or key of item
97
115
  * @returns {null} -
98
116
  */
@@ -114,7 +132,7 @@ class Verification extends MetadataType {
114
132
  /**
115
133
  * Retrieves Metadata of Data Extract Activity for caching
116
134
  *
117
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
135
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
118
136
  */
119
137
  static async retrieveForCache() {
120
138
  return this.retrieve();
@@ -123,7 +141,7 @@ class Verification extends MetadataType {
123
141
  /**
124
142
  * Creates a single Data Extract
125
143
  *
126
- * @param {TYPE.VerificationItem} metadata a single Data Extract
144
+ * @param {VerificationItem} metadata a single Data Extract
127
145
  * @returns {Promise} Promise
128
146
  */
129
147
  static create(metadata) {
@@ -133,10 +151,10 @@ class Verification extends MetadataType {
133
151
  /**
134
152
  * helper for {@link MetadataType.createREST}
135
153
  *
136
- * @param {TYPE.MetadataTypeItem} metadataEntry a single metadata Entry
154
+ * @param {MetadataTypeItem} metadataEntry a single metadata Entry
137
155
  * @param {object} apiResponse varies depending on the API call
138
- * @param {TYPE.MetadataTypeItem} metadataEntryWithAllFields like metadataEntry but before non-creatable fields were stripped
139
- * @returns {void}
156
+ * @param {MetadataTypeItem} metadataEntryWithAllFields like metadataEntry but before non-creatable fields were stripped
157
+ * @returns {Promise.<void>} -
140
158
  */
141
159
  static async postCreateTasks(metadataEntry, apiResponse, metadataEntryWithAllFields) {
142
160
  if (!apiResponse?.[this.definition.idField]) {
@@ -164,7 +182,7 @@ class Verification extends MetadataType {
164
182
  /**
165
183
  * Updates a single Data Extract
166
184
  *
167
- * @param {TYPE.VerificationItem} metadata a single Data Extract
185
+ * @param {VerificationItem} metadata a single Data Extract
168
186
  * @returns {Promise} Promise
169
187
  */
170
188
  static update(metadata) {
@@ -177,28 +195,28 @@ class Verification extends MetadataType {
177
195
  /**
178
196
  * prepares a verification for deployment
179
197
  *
180
- * @param {TYPE.VerificationItem} metadata a single verification activity definition
181
- * @returns {TYPE.VerificationItem} metadata object
198
+ * @param {VerificationItem} metadata a single verification activity definition
199
+ * @returns {Promise.<VerificationItem>} metadata object
182
200
  */
183
- static preDeployTasks(metadata) {
201
+ static async preDeployTasks(metadata) {
184
202
  metadata.targetObjectId = cache.searchForField(
185
203
  'dataExtension',
186
- metadata.r__dataExtension_CustomerKey,
204
+ metadata.r__dataExtension_key,
187
205
  'CustomerKey',
188
206
  'ObjectID'
189
207
  );
190
- delete metadata.r__dataExtension_CustomerKey;
208
+ delete metadata.r__dataExtension_key;
191
209
  return metadata;
192
210
  }
193
211
  /**
194
212
  * parses retrieved Metadata before saving
195
213
  *
196
- * @param {TYPE.VerificationItem} metadata a single verification activity definition
197
- * @returns {TYPE.VerificationItem} Array with one metadata object and one sql string
214
+ * @param {VerificationItem} metadata a single verification activity definition
215
+ * @returns {VerificationItem} Array with one metadata object and one sql string
198
216
  */
199
217
  static postRetrieveTasks(metadata) {
200
218
  try {
201
- metadata.r__dataExtension_CustomerKey = cache.searchForField(
219
+ metadata.r__dataExtension_key = cache.searchForField(
202
220
  'dataExtension',
203
221
  metadata.targetObjectId,
204
222
  'ObjectID',
@@ -56,10 +56,10 @@ export default {
56
56
  template: true,
57
57
  },
58
58
  availableViews: {
59
- isCreateable: false,
60
- isUpdateable: false,
59
+ isCreateable: true,
60
+ isUpdateable: true,
61
61
  retrieving: true,
62
- template: false,
62
+ template: true,
63
63
  },
64
64
  modelVersion: {
65
65
  isCreateable: true,
@@ -3,7 +3,7 @@ export default {
3
3
  dependencies: ['attributeSet'], // future may have dependency on Data Extensions
4
4
  hasExtended: false,
5
5
  idField: 'definitionID',
6
- keyIsFixed: null,
6
+ keyIsFixed: true,
7
7
  keyField: 'definitionKey',
8
8
  nameField: 'definitionName.value',
9
9
  restPagination: false, // Hub API does not support pagination and returns everything instead
@@ -245,5 +245,11 @@ export default {
245
245
  retrieving: true,
246
246
  template: true,
247
247
  },
248
+ r__attributeSet_key: {
249
+ isCreateable: false,
250
+ isUpdateable: false,
251
+ retrieving: true,
252
+ template: true,
253
+ },
248
254
  },
249
255
  };
@@ -12,7 +12,7 @@ export default {
12
12
  ],
13
13
  hasExtended: false,
14
14
  idField: 'definitionID',
15
- keyIsFixed: null,
15
+ keyIsFixed: true,
16
16
  keyField: 'definitionKey',
17
17
  nameField: 'name',
18
18
  folderIdField: 'categoryID',
@@ -906,7 +906,7 @@ export default {
906
906
  retrieving: true,
907
907
  template: null,
908
908
  },
909
- r__dataExtension_CustomerKey: {
909
+ r__dataExtension_key: {
910
910
  isCreateable: null,
911
911
  isUpdateable: null,
912
912
  retrieving: true,
@@ -33,7 +33,7 @@ export default {
33
33
  'script',
34
34
  'verification',
35
35
  ],
36
- folderType: 'automation',
36
+ folderType: 'automations',
37
37
  hasExtended: false,
38
38
  filter: {
39
39
  description: ['Event Definition Automation'],
@@ -572,6 +572,9 @@ export default {
572
572
  'steps[].activities[].r__type': {
573
573
  skipValidation: true,
574
574
  },
575
+ 'steps[].activities[].r__key': {
576
+ skipValidation: true,
577
+ },
575
578
  'steps[].description': {
576
579
  isCreateable: true,
577
580
  isUpdateable: true,
@@ -4,7 +4,7 @@ export default {
4
4
  hasExtended: false,
5
5
  idField: 'id',
6
6
  keepId: true,
7
- keyIsFixed: null,
7
+ keyIsFixed: true,
8
8
  keyField: 'name',
9
9
  nameField: 'name',
10
10
  createdDateField: 'createdDate',
@@ -4,7 +4,7 @@ export default {
4
4
  hasExtended: false,
5
5
  idField: 'ID',
6
6
  keepId: true,
7
- keyIsFixed: null,
7
+ keyIsFixed: true,
8
8
  keyField: 'CustomerKey',
9
9
  nameField: 'Name',
10
10
  folderIdField: 'CategoryID',
@@ -36,6 +36,7 @@ export default {
36
36
  '_ChatMessagingSubscription',
37
37
  '_EnterpriseAttribute',
38
38
  '_MobileAddress',
39
+ '_MobileAddressApplication',
39
40
  '_MobileLineAddress',
40
41
  '_MobileLineAddressContact',
41
42
  '_MobileLineProfile',
@@ -85,6 +86,12 @@ export default {
85
86
  SMSSubscriptionLog: null, // CustomerKey cannot be retrieved
86
87
  TriggeredSendDataExtension: ['SubscriberKey', 'EmailAddress'],
87
88
  },
89
+ dataRetentionPeriodUnitOfMeasureMapping: {
90
+ Days: 3,
91
+ Weeks: 4,
92
+ Months: 5,
93
+ Years: 6,
94
+ },
88
95
  hasExtended: false,
89
96
  idField: 'ObjectID',
90
97
  keyIsFixed: false,
@@ -280,7 +287,16 @@ export default {
280
287
  r__folder_Path: {
281
288
  skipValidation: true,
282
289
  },
283
- r__dataExtensionTemplate_Name: {
290
+ r__dataExtensionTemplate_name: {
291
+ skipValidation: true,
292
+ },
293
+ c__retentionPolicy: {
294
+ skipValidation: true,
295
+ },
296
+ c__retainUntil: {
297
+ skipValidation: true,
298
+ },
299
+ c__dataRetentionPeriodUnitOfMeasure: {
284
300
  skipValidation: true,
285
301
  },
286
302
  },