mcdev 6.0.1 → 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 (619) hide show
  1. package/.beautyamp.json +13 -0
  2. package/.eslintrc.json +7 -1
  3. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  4. package/.github/PULL_REQUEST_TEMPLATE/pr_template_release.md +13 -5
  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 +17 -5
  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 +36 -29
  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 +238 -131
  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 +179 -59
  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 +79 -67
  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/MobileKeyword.definition.js +1 -1
  294. package/lib/metadataTypes/definitions/MobileMessage.definition.js +11 -5
  295. package/lib/metadataTypes/definitions/Query.definition.js +6 -0
  296. package/lib/metadataTypes/definitions/Script.definition.js +14 -14
  297. package/lib/metadataTypes/definitions/SendClassification.definition.js +60 -20
  298. package/lib/metadataTypes/definitions/SenderProfile.definition.js +185 -0
  299. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +2 -2
  300. package/lib/metadataTypes/definitions/TransactionalMessage.definition.js +69 -0
  301. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +6 -0
  302. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +6 -0
  303. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +15 -4
  304. package/lib/metadataTypes/definitions/Verification.definition.js +1 -1
  305. package/lib/retrieveChangelog.js +7 -2
  306. package/lib/util/auth.js +56 -21
  307. package/lib/util/businessUnit.js +20 -2
  308. package/lib/util/cache.js +37 -18
  309. package/lib/util/cli.js +72 -29
  310. package/lib/util/config.js +27 -9
  311. package/lib/util/devops.js +45 -24
  312. package/lib/util/file.js +66 -41
  313. package/lib/util/init.config.js +55 -24
  314. package/lib/util/init.git.js +6 -6
  315. package/lib/util/init.js +36 -14
  316. package/lib/util/init.npm.js +2 -2
  317. package/lib/util/replaceContentBlockReference.js +278 -0
  318. package/lib/util/util.js +152 -54
  319. package/package.json +37 -34
  320. package/test/general.test.js +1327 -4
  321. package/test/mockRoot/.mcdevrc.json +26 -4
  322. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testExisting_dataExtensionShared.dataExtension-meta.json +3 -4
  323. package/test/mockRoot/deploy/testInstance/_ParentBU_/dataExtension/testNew_dataExtensionShared.dataExtension-meta.json +1 -4
  324. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.json +11 -0
  325. package/test/mockRoot/deploy/testInstance/_ParentBU_/query/testNew_query.query-meta.sql +4 -0
  326. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.html +12 -0
  327. package/test/mockRoot/deploy/testInstance/testBU/asset/block/testNew_asset.asset-block-meta.json +39 -0
  328. package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +6 -6
  329. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +7 -7
  330. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testExisting_dataExtension.dataExtension-meta.json +3 -4
  331. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/testNew_dataExtension.dataExtension-meta.json +1 -4
  332. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testExisting_emailSend.emailSend-meta.json +36 -0
  333. package/test/mockRoot/deploy/testInstance/testBU/emailSend/testNew_emailSend.emailSend-meta.json +36 -0
  334. package/test/mockRoot/deploy/testInstance/testBU/importFile/testExisting_importFile.importFile-meta.json +10 -4
  335. package/test/mockRoot/deploy/testInstance/testBU/importFile/testNew_importFile.importFile-meta.json +8 -4
  336. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_journey_Quicksend.journey-meta.json +232 -0
  337. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.json +2 -4
  338. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.json +2 -4
  339. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query.query-meta.json +1 -1
  340. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.json +1 -1
  341. package/test/mockRoot/deploy/testInstance/testBU/query/testNew_query.query-meta.json +1 -1
  342. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testExisting_sendClassification.sendClassification-meta.json +8 -0
  343. package/test/mockRoot/deploy/testInstance/testBU/sendClassification/testNew_sendClassification.sendClassification-meta.json +8 -0
  344. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testExisting_senderProfile.senderProfile-meta.json +14 -0
  345. package/test/mockRoot/deploy/testInstance/testBU/senderProfile/testNew_senderProfile.senderProfile-meta.json +14 -0
  346. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +1 -1
  347. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -1
  348. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testExisting_tpush.transactionalPush-meta.json +1 -3
  349. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testNew_tpush.transactionalPush-meta.json +1 -3
  350. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +1 -2
  351. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +1 -2
  352. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testExisting_triggeredSend.triggeredSend-meta.json +4 -5
  353. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testNew_triggeredSend.triggeredSend-meta.json +4 -5
  354. package/test/mockRoot/deploy/testInstance/testBU/verification/testExisting_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  355. package/test/mockRoot/deploy/testInstance/testBU/verification/testNew_39f6a488-20eb-4ba0-b0b9.verification-meta.json +1 -1
  356. package/test/resourceFactory.js +118 -7
  357. package/test/resources/1111111/automation/v1/queries/get-response.json +6 -0
  358. package/test/resources/1111111/automation/v1/queries/post-response.json +18 -0
  359. package/test/resources/1111111/dataExtension/create-expected.json +4 -7
  360. package/test/resources/1111111/dataExtension/retrieve-expected.json +2 -4
  361. package/test/resources/1111111/dataExtension/update-expected.json +7 -7
  362. package/test/resources/1111111/dataExtension/update-response.xml +3 -1
  363. package/test/resources/1111111/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
  364. package/test/resources/1111111/query/patch_keySuffix-expected.json +11 -0
  365. package/test/resources/1111111/query/patch_keySuffix-expected.sql +4 -0
  366. package/test/resources/9999999/asset/block-1157-retrieve-expected.html +17 -7
  367. package/test/resources/9999999/asset/build-templatebasedemail-expected.json +81 -0
  368. package/test/resources/9999999/asset/build-templatebasedemail-html-expected.html +20 -0
  369. package/test/resources/9999999/asset/build-templatebasedemail-preheader-expected.amp +1 -0
  370. package/test/resources/9999999/asset/create-expected.json +18 -0
  371. package/test/resources/9999999/asset/resolveId-1234-notFound-expected.json +1 -0
  372. package/test/resources/9999999/asset/resolveId-1295064-noPath-expected.json +8 -0
  373. package/test/resources/9999999/asset/resolveId-1295064-withPath-expected.json +8 -0
  374. package/test/resources/9999999/asset/retrieve-templatebasedemail-expected.json +84 -0
  375. package/test/resources/9999999/asset/retrieve-templatebasedemail-html-expected.html +20 -0
  376. package/test/resources/9999999/asset/retrieve-templatebasedemail-preheader-expected.amp +1 -0
  377. package/test/resources/9999999/asset/template-templatebasedemail-expected.json +81 -0
  378. package/test/resources/9999999/asset/template-templatebasedemail-html-expected.html +20 -0
  379. package/test/resources/9999999/asset/template-templatebasedemail-preheader-expected.amp +1 -0
  380. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-id-expected.html +33 -0
  381. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-key-expected.html +33 -0
  382. package/test/resources/9999999/asset/testExisting_asset_message-html-rcb-name-expected.html +35 -0
  383. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-id-expected.amp +4 -0
  384. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-key-expected.amp +4 -0
  385. package/test/resources/9999999/asset/testExisting_asset_message-preheader-rcb-name-expected.amp +4 -0
  386. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-id-expected.amp +4 -0
  387. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-key-expected.amp +4 -0
  388. package/test/resources/9999999/asset/testExisting_asset_message-text-rcb-name-expected.amp +4 -0
  389. package/test/resources/9999999/asset/v1/content/assets/1295064/get-response.json +1 -1
  390. package/test/resources/9999999/asset/v1/content/assets/5286/get-response.json +48 -0
  391. package/test/resources/9999999/asset/v1/content/assets/5289/get-response.json +198 -0
  392. package/test/resources/9999999/asset/v1/content/assets/808714/get-response.json +4 -3
  393. package/test/resources/9999999/asset/v1/content/assets/950143/delete-response.txt +1 -0
  394. package/test/resources/9999999/asset/v1/content/assets/get-response-customerKey=testExisting_asset.json +105 -0
  395. package/test/resources/9999999/asset/v1/content/assets/post-response.json +59 -0
  396. 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
  397. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN193,194,15.json +7 -0
  398. 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
  399. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN205,206,230,232,1.json +32 -0
  400. package/test/resources/9999999/asset/v1/content/assets/query/{post-response.json → post-response-assetType.idIN207,208,209,5.json} +45 -47
  401. package/test/resources/9999999/asset/v1/content/assets/query/post-response-assetType.idIN214,4.json +35 -0
  402. 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
  403. package/test/resources/9999999/asset/v1/content/assets/query/post-response-customerKey=mcdev-issue-1157.json +46 -0
  404. package/test/resources/9999999/attributeGroup/retrieve-expected.json +1 -1
  405. package/test/resources/9999999/attributeSet/retrieve-expected.json +3 -3
  406. package/test/resources/9999999/automation/build-expected.json +7 -7
  407. package/test/resources/9999999/automation/create-expected.json +7 -7
  408. package/test/resources/9999999/automation/patch_fixKeys-pause-expected.json +6 -6
  409. package/test/resources/9999999/automation/patch_fixKeys-schedule-expected.json +6 -6
  410. package/test/resources/9999999/automation/retrieve-expected.json +7 -7
  411. package/test/resources/9999999/automation/template-expected.json +7 -7
  412. package/test/resources/9999999/automation/update-expected.json +6 -6
  413. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/delete-response.txt +1 -0
  414. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/delete-response.json +1 -0
  415. package/test/resources/9999999/automation/v1/imports/1ebf557b-372e-eb11-b81b-48df37d1dbd7/get-response.json +78 -0
  416. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/delete-response.txt +0 -0
  417. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/get-response.json +35 -0
  418. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/patch-response.json +14 -10
  419. package/test/resources/9999999/automation/v1/imports/get-response.json +78 -1
  420. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +1 -1
  421. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/get-response.json +17 -0
  422. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeysSuffix/patch-response.json +18 -0
  423. package/test/resources/9999999/automation/v1/queries/abcde-607c-4940-afef-437965094dat/get-response.json +17 -0
  424. package/test/resources/9999999/automation/v1/queries/get-response.json +20 -3
  425. package/test/resources/9999999/automation/v1/scripts/39f6a488-20eb-4ba0-b0b9-023725b574e4/delete-response.txt +1 -0
  426. package/test/resources/9999999/automation/v1/scripts/get-response.json +32 -2
  427. package/test/resources/9999999/dataExtension/build-expected.json +3 -4
  428. package/test/resources/9999999/dataExtension/create-expected.json +1 -4
  429. package/test/resources/9999999/dataExtension/retrieve-Name=testExisting_dataExtension-response.xml +4 -4
  430. package/test/resources/9999999/dataExtension/retrieve-expected.json +3 -4
  431. package/test/resources/9999999/dataExtension/retrieve-response.xml +96 -1
  432. package/test/resources/9999999/dataExtension/template-expected.json +3 -4
  433. package/test/resources/9999999/dataExtension/update-expected.json +4 -3
  434. package/test/resources/9999999/dataExtension/update-response.xml +5 -3
  435. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +72 -0
  436. package/test/resources/9999999/dataFolder/retrieve-ContentType=userinitiatedsends-response.xml +48 -0
  437. package/test/resources/9999999/deliveryProfile/get-expected.json +7 -0
  438. package/test/resources/9999999/emailSend/build-expected.json +43 -0
  439. package/test/resources/9999999/emailSend/get-expected.json +43 -0
  440. package/test/resources/9999999/emailSend/patch-expected.json +41 -0
  441. package/test/resources/9999999/emailSend/post-expected.json +41 -0
  442. package/test/resources/9999999/emailSend/template-expected.json +43 -0
  443. package/test/resources/9999999/emailSendDefinition/create-response.xml +98 -0
  444. package/test/resources/9999999/emailSendDefinition/delete-response.xml +36 -0
  445. package/test/resources/9999999/emailSendDefinition/retrieve-IsPlatformObject=falseANDDescriptionnotEqualsSFSendDefinition-response.xml +18 -8
  446. package/test/resources/9999999/emailSendDefinition/update-response.xml +97 -0
  447. package/test/resources/9999999/importDefinition/retrieve-CustomerKey=testExisting_importFile-response.xml +30 -0
  448. package/test/resources/9999999/importDefinition/retrieve-Name=testExisting_importFile-response.xml +30 -0
  449. package/test/resources/9999999/importFile/build-expected.json +11 -6
  450. package/test/resources/9999999/importFile/get-expected.json +13 -7
  451. package/test/resources/9999999/importFile/get-sms-expected.json +79 -0
  452. package/test/resources/9999999/importFile/patch-expected.json +12 -7
  453. package/test/resources/9999999/importFile/post-expected.json +8 -5
  454. package/test/resources/9999999/importFile/template-expected.json +10 -5
  455. package/test/resources/9999999/interaction/v1/eventDefinitions/get-response.json +124 -0
  456. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/delete-response.txt +1 -0
  457. package/test/resources/9999999/interaction/v1/interactions/3c3f4112-9b43-43ca-8a89-aa0375b2c1a2/get-response.json +253 -0
  458. package/test/resources/9999999/interaction/v1/interactions/get-response.json +83 -779
  459. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Multistep/get-response.json +457 -0
  460. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Quicksend/get-response.json +253 -0
  461. package/test/resources/9999999/interaction/v1/interactions/{key_0b76dccf-594c-b6dc-1acf-10c4493dcb84 → key_testExisting_temail}/get-response.json +5 -5
  462. package/test/resources/9999999/journey/build-expected.json +105 -449
  463. package/test/resources/9999999/journey/get-multistep-expected.json +413 -0
  464. package/test/resources/9999999/journey/get-quicksend-expected.json +232 -0
  465. package/test/resources/9999999/journey/get-quicksend-rcb-id-expected.json +232 -0
  466. package/test/resources/9999999/journey/get-quicksend-rcb-key-expected.json +232 -0
  467. package/test/resources/9999999/journey/get-quicksend-rcb-name-expected.json +232 -0
  468. package/test/resources/9999999/journey/get-transactionalEmail-expected.json +211 -0
  469. package/test/resources/9999999/journey/template-expected.json +105 -449
  470. package/test/resources/9999999/legacy/v1/beta/messaging/deliverypolicy/get-response.json +15 -0
  471. package/test/resources/9999999/legacy/v1/beta/mobile/imports/get-response.json +112 -0
  472. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +1 -1
  473. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTQ3Ojc4OjA/get-response.json +1 -1
  474. package/test/resources/9999999/legacy/v1/beta/mobile/message/get-response.json +1 -1
  475. package/test/resources/9999999/legacy/v1/beta/object/NWQwdnhEU3dFZWVBekJRQzdISWl0QTo0NTow/get-response.json +12 -0
  476. package/test/resources/9999999/list/retrieve-response.xml +13 -0
  477. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +1 -1
  478. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +1 -1
  479. package/test/resources/9999999/messaging/v1/sms/definitions/post-response.json +3 -1
  480. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/get-response.json +3 -1
  481. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/patch-response.json +3 -1
  482. package/test/resources/9999999/mobileKeyword/build-expected.amp +5 -1
  483. package/test/resources/9999999/mobileKeyword/get-expected.amp +5 -1
  484. package/test/resources/9999999/mobileKeyword/post-create-expected.amp +1 -1
  485. package/test/resources/9999999/mobileKeyword/template-expected.amp +5 -1
  486. package/test/resources/9999999/mobileMessage/build-expected.amp +6 -1
  487. package/test/resources/9999999/mobileMessage/build-expected.json +2 -5
  488. package/test/resources/9999999/mobileMessage/get-expected.amp +6 -1
  489. package/test/resources/9999999/mobileMessage/get-expected.json +2 -5
  490. package/test/resources/9999999/mobileMessage/post-create-expected.amp +1 -1
  491. package/test/resources/9999999/mobileMessage/post-create-expected.json +2 -4
  492. package/test/resources/9999999/mobileMessage/post-update-expected.amp +1 -1
  493. package/test/resources/9999999/mobileMessage/post-update-expected.json +2 -5
  494. package/test/resources/9999999/mobileMessage/template-expected.amp +6 -1
  495. package/test/resources/9999999/mobileMessage/template-expected.json +2 -5
  496. package/test/resources/9999999/query/build-expected.json +1 -1
  497. package/test/resources/9999999/query/build-expected.sql +2 -1
  498. package/test/resources/9999999/query/get-expected.json +1 -1
  499. package/test/resources/9999999/query/get-expected.sql +2 -1
  500. package/test/resources/9999999/query/get2-expected.json +1 -1
  501. package/test/resources/9999999/query/patch-expected.json +1 -1
  502. package/test/resources/9999999/query/patch_fixKeys-expected.json +1 -1
  503. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.json +11 -0
  504. package/test/resources/9999999/query/patch_fixKeysSuffix-expected.sql +6 -0
  505. package/test/resources/9999999/query/post-expected.json +1 -1
  506. package/test/resources/9999999/query/template-expected.json +1 -1
  507. package/test/resources/9999999/query/template-expected.sql +2 -1
  508. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query2ANDStatus=Active-response.xml +30 -0
  509. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixKeysSuffixANDStatus=Active-response.xml +30 -0
  510. package/test/resources/9999999/script/get_ampincluded-expected.html +5 -0
  511. package/test/resources/9999999/script/get_ampincluded-expected.json +8 -0
  512. package/test/resources/9999999/script/get_ampincluded-rcb-id-expected.html +5 -0
  513. package/test/resources/9999999/script/get_ampincluded-rcb-key-expected.html +5 -0
  514. package/test/resources/9999999/script/get_ampincluded-rcb-name-expected.html +5 -0
  515. package/test/resources/9999999/script/get_ampscript-expected.html +10 -0
  516. package/test/resources/9999999/script/get_ampscript-expected.json +8 -0
  517. package/test/resources/9999999/script/get_ampscript-rcb-id-expected.html +8 -0
  518. package/test/resources/9999999/script/get_ampscript-rcb-key-expected.html +8 -0
  519. package/test/resources/9999999/script/get_ampscript-rcb-name-expected.html +10 -0
  520. package/test/resources/9999999/script/get_mixed-expected.html +12 -0
  521. package/test/resources/9999999/script/get_mixed-expected.json +8 -0
  522. package/test/resources/9999999/script/get_mixed-rcb-id-expected.html +12 -0
  523. package/test/resources/9999999/script/get_mixed-rcb-key-expected.html +12 -0
  524. package/test/resources/9999999/script/get_mixed-rcb-name-expected.html +14 -0
  525. package/test/resources/9999999/sendClassification/build-expected.json +8 -0
  526. package/test/resources/9999999/sendClassification/create-response.xml +51 -0
  527. package/test/resources/9999999/sendClassification/delete-response.xml +36 -0
  528. package/test/resources/9999999/sendClassification/get-expected.json +10 -0
  529. package/test/resources/9999999/sendClassification/patch-expected.json +8 -0
  530. package/test/resources/9999999/sendClassification/post-expected.json +8 -0
  531. package/test/resources/9999999/sendClassification/retrieve-response.xml +86 -0
  532. package/test/resources/9999999/sendClassification/template-expected.json +8 -0
  533. package/test/resources/9999999/sendClassification/update-response.xml +49 -0
  534. package/test/resources/9999999/senderProfile/build-expected.json +14 -0
  535. package/test/resources/9999999/senderProfile/create-response.xml +49 -0
  536. package/test/resources/9999999/senderProfile/delete-response.xml +36 -0
  537. package/test/resources/9999999/senderProfile/get-expected.json +16 -0
  538. package/test/resources/9999999/senderProfile/get-rcb-id-expected.json +16 -0
  539. package/test/resources/9999999/senderProfile/get-rcb-key-expected.json +16 -0
  540. package/test/resources/9999999/senderProfile/get-rcb-name-expected.json +16 -0
  541. package/test/resources/9999999/senderProfile/patch-expected.json +14 -0
  542. package/test/resources/9999999/senderProfile/post-expected.json +14 -0
  543. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=Default-response.xml +44 -0
  544. package/test/resources/9999999/senderProfile/retrieve-CustomerKey=wrong-key-response.xml +26 -0
  545. package/test/resources/9999999/senderProfile/retrieve-response.xml +80 -0
  546. package/test/resources/9999999/senderProfile/template-expected.json +14 -0
  547. package/test/resources/9999999/senderProfile/update-response.xml +47 -0
  548. package/test/resources/9999999/transactionalEmail/build-expected.json +3 -3
  549. package/test/resources/9999999/transactionalEmail/get-expected.json +3 -3
  550. package/test/resources/9999999/transactionalEmail/patch-expected.json +3 -3
  551. package/test/resources/9999999/transactionalEmail/post-expected.json +2 -2
  552. package/test/resources/9999999/transactionalEmail/template-expected.json +3 -3
  553. package/test/resources/9999999/transactionalPush/build-expected.json +1 -1
  554. package/test/resources/9999999/transactionalPush/get-expected.json +1 -1
  555. package/test/resources/9999999/transactionalPush/patch-expected.json +1 -3
  556. package/test/resources/9999999/transactionalPush/post-expected.json +1 -3
  557. package/test/resources/9999999/transactionalPush/template-expected.json +1 -1
  558. package/test/resources/9999999/transactionalSMS/build-expected.amp +105 -1
  559. package/test/resources/9999999/transactionalSMS/build-expected.json +1 -2
  560. package/test/resources/9999999/transactionalSMS/get-expected.amp +105 -1
  561. package/test/resources/9999999/transactionalSMS/get-expected.json +1 -2
  562. package/test/resources/9999999/transactionalSMS/patch-expected.amp +99 -1
  563. package/test/resources/9999999/transactionalSMS/patch-expected.json +1 -2
  564. package/test/resources/9999999/transactionalSMS/post-expected.amp +99 -1
  565. package/test/resources/9999999/transactionalSMS/post-expected.json +1 -2
  566. package/test/resources/9999999/transactionalSMS/template-expected.amp +105 -1
  567. package/test/resources/9999999/transactionalSMS/template-expected.json +1 -2
  568. package/test/resources/9999999/triggeredSend/build-expected.json +5 -6
  569. package/test/resources/9999999/triggeredSend/get-expected.json +5 -6
  570. package/test/resources/9999999/triggeredSend/get-rcb-id-expected.json +29 -0
  571. package/test/resources/9999999/triggeredSend/get-rcb-key-expected.json +29 -0
  572. package/test/resources/9999999/triggeredSend/get-rcb-name-expected.json +29 -0
  573. package/test/resources/9999999/triggeredSend/patch-expected.json +5 -6
  574. package/test/resources/9999999/triggeredSend/post-expected.json +5 -6
  575. package/test/resources/9999999/triggeredSend/template-expected.json +5 -6
  576. package/test/resources/9999999/triggeredSendDefinition/create-response.xml +6 -1
  577. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +53 -1
  578. package/test/resources/9999999/triggeredSendDefinition/update-response.xml +6 -1
  579. package/test/resources/9999999/verification/build-expected.json +1 -1
  580. package/test/resources/9999999/verification/get-expected.json +1 -1
  581. package/test/resources/9999999/verification/patch-expected.json +1 -1
  582. package/test/resources/9999999/verification/post-expected.json +1 -1
  583. package/test/resources/9999999/verification/template-expected.json +1 -1
  584. package/test/type.asset.test.js +733 -17
  585. package/test/type.attributeGroup.test.js +6 -2
  586. package/test/type.attributeSet.test.js +6 -2
  587. package/test/type.automation.test.js +174 -162
  588. package/test/type.dataExtension.test.js +41 -45
  589. package/test/type.dataExtract.test.js +22 -29
  590. package/test/type.deliveryProfile.test.js +45 -0
  591. package/test/type.emailSend.test.js +144 -0
  592. package/test/type.event.test.js +62 -0
  593. package/test/type.fileTransfer.test.js +21 -29
  594. package/test/type.importFile.test.js +61 -35
  595. package/test/type.journey.test.js +251 -45
  596. package/test/type.mobileKeyword.test.js +46 -54
  597. package/test/type.mobileMessage.test.js +28 -27
  598. package/test/type.query.test.js +303 -124
  599. package/test/type.script.test.js +332 -73
  600. package/test/type.sendClassification.test.js +156 -0
  601. package/test/type.senderProfile.test.js +254 -0
  602. package/test/type.transactionalEmail.test.js +15 -11
  603. package/test/type.transactionalPush.test.js +15 -11
  604. package/test/type.transactionalSMS.test.js +30 -23
  605. package/test/type.triggeredSend.test.js +130 -17
  606. package/test/type.user.test.js +22 -14
  607. package/test/type.verification.test.js +13 -10
  608. package/test/utils.js +79 -21
  609. package/tsconfig.json +21 -0
  610. package/types/mcdev.d.js +190 -66
  611. package/docs/dist/documentation.md +0 -8890
  612. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_interaction.interaction-meta.json +0 -576
  613. package/test/mockRoot/deploy/testInstance/testBU/journey/testNew_interaction.interaction-meta.json +0 -266
  614. package/test/resources/9999999/interaction/v1/EventDefinitions/get-response.json +0 -43
  615. package/test/resources/9999999/interaction/v1/interactions/233d4413-922c-4568-85a5-e5cc77efc3be/delete-response.json +0 -1
  616. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +0 -592
  617. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/put-response.json +0 -592
  618. package/test/resources/9999999/interaction/v1/interactions/post-response.json +0 -280
  619. package/test/resources/9999999/journey/get-expected.json +0 -576
@@ -1,8 +1,20 @@
1
1
  'use strict';
2
2
 
3
- import TYPE from '../../types/mcdev.d.js';
4
3
  import MetadataType from './MetadataType.js';
5
4
 
5
+ /**
6
+ * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject
7
+ * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract
8
+ * @typedef {import('../../types/mcdev.d.js').CodeExtractItem} CodeExtractItem
9
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItem} MetadataTypeItem
10
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemDiff} MetadataTypeItemDiff
11
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemObj} MetadataTypeItemObj
12
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMap} MetadataTypeMap
13
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj
14
+ * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams
15
+ * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap
16
+ */
17
+
6
18
  /**
7
19
  * MobileCode MetadataType
8
20
  *
@@ -14,10 +26,10 @@ class MobileCode extends MetadataType {
14
26
  * Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
15
27
  *
16
28
  * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
17
- * @param {void} [_] unused parameter
18
- * @param {void} [__] unused parameter
29
+ * @param {void | string[]} [_] unused parameter
30
+ * @param {void | string[]} [__] unused parameter
19
31
  * @param {string} [key] customer key of single item to retrieve
20
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
32
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
21
33
  */
22
34
  static retrieve(retrieveDir, _, __, key) {
23
35
  return super.retrieveREST(
@@ -31,7 +43,7 @@ class MobileCode extends MetadataType {
31
43
  /**
32
44
  * Retrieves event definition metadata for caching
33
45
  *
34
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
46
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
35
47
  */
36
48
  static retrieveForCache() {
37
49
  return super.retrieveREST(null, '/legacy/v1/beta/mobile/code/');
@@ -1,11 +1,23 @@
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
+
9
21
  /**
10
22
  * MobileKeyword MetadataType
11
23
  *
@@ -17,10 +29,10 @@ class MobileKeyword extends MetadataType {
17
29
  * Endpoint /legacy/v1/beta/mobile/keyword/ return all Mobile Keywords with all details.
18
30
  *
19
31
  * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
20
- * @param {void} [_] unused parameter
21
- * @param {void} [__] unused parameter
32
+ * @param {void | string[]} [_] unused parameter
33
+ * @param {void | string[]} [__] unused parameter
22
34
  * @param {string} [key] customer key of single item to retrieve
23
- * @returns {Promise.<TYPE.MetadataTypeMapObj> | void} Promise of metadata
35
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
24
36
  */
25
37
  static retrieve(retrieveDir, _, __, key) {
26
38
  try {
@@ -43,14 +55,15 @@ class MobileKeyword extends MetadataType {
43
55
  throw ex;
44
56
  }
45
57
  }
58
+ return;
46
59
  }
47
60
 
48
61
  /**
49
62
  * Builds map of metadata entries mapped to their keyfields
50
63
  *
51
64
  * @param {object} body json of response body
52
- * @param {string|number} [singleRetrieve] key of single item to filter by
53
- * @returns {TYPE.MetadataTypeMap} keyField => metadata map
65
+ * @param {string} [singleRetrieve] key of single item to filter by
66
+ * @returns {MetadataTypeMap} keyField => metadata map
54
67
  */
55
68
  static parseResponseBody(body, singleRetrieve) {
56
69
  const bodyIteratorField = this.definition.bodyIteratorField;
@@ -98,8 +111,7 @@ class MobileKeyword extends MetadataType {
98
111
  /**
99
112
  * helper for {@link MobileKeyword.parseResponseBody} that creates a custom key field for this type based on mobileCode and keyword
100
113
  *
101
- * @private
102
- * @param {TYPE.MetadataType} metadata single item
114
+ * @param {MetadataTypeItem} metadata single item
103
115
  */
104
116
  static #createCustomKeyField(metadata) {
105
117
  metadata.c__codeKeyword = metadata.code.code + '.' + metadata.keyword;
@@ -108,8 +120,7 @@ class MobileKeyword extends MetadataType {
108
120
  /**
109
121
  * helper for {@link MobileKeyword.preDeployTasks} and {@link MobileKeyword.createOrUpdate} to ensure we have code & keyword properly set
110
122
  *
111
- * @private
112
- * @param {TYPE.MetadataType} metadata single item
123
+ * @param {MetadataTypeItem} metadata single item
113
124
  */
114
125
  static #setCodeAndKeyword(metadata) {
115
126
  const [code, keyword] = metadata.c__codeKeyword.split('.');
@@ -126,15 +137,21 @@ class MobileKeyword extends MetadataType {
126
137
  /**
127
138
  * helper for {@link MetadataType.upsert}
128
139
  *
129
- * @param {TYPE.MetadataTypeMap} metadataMap list of metadata
140
+ * @param {MetadataTypeMap} metadataMap list of metadata
130
141
  * @param {string} metadataKey key of item we are looking at
131
142
  * @param {boolean} hasError error flag from previous code
132
- * @param {TYPE.MetadataTypeItemDiff[]} metadataToUpdate list of items to update
133
- * @param {TYPE.MetadataTypeItem[]} metadataToCreate list of items to create
134
- * @returns {'create' | 'update' | 'skip'} action to take
143
+ * @param {MetadataTypeItemDiff[]} metadataToUpdate list of items to update
144
+ * @param {MetadataTypeItem[]} metadataToCreate list of items to create
145
+ * @returns {Promise.<'create'|'update'|'skip'>} action to take
135
146
  */
136
- static createOrUpdate(metadataMap, metadataKey, hasError, metadataToUpdate, metadataToCreate) {
137
- const createOrUpdateAction = super.createOrUpdate(
147
+ static async createOrUpdate(
148
+ metadataMap,
149
+ metadataKey,
150
+ hasError,
151
+ metadataToUpdate,
152
+ metadataToCreate
153
+ ) {
154
+ const createOrUpdateAction = await super.createOrUpdate(
138
155
  metadataMap,
139
156
  metadataKey,
140
157
  hasError,
@@ -151,10 +168,10 @@ class MobileKeyword extends MetadataType {
151
168
  /**
152
169
  * Retrieves event definition metadata for caching
153
170
  *
154
- * @param {void} _ parameter not used
155
- * @param {void} __ parameter not used
171
+ * @param {void | string[]} [_] parameter not used
172
+ * @param {void | string[]} [__] parameter not used
156
173
  * @param {string} [key] customer key of single item to retrieve
157
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
174
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
158
175
  */
159
176
  static retrieveForCache(_, __, key) {
160
177
  return this.retrieve(null, null, null, key);
@@ -165,8 +182,8 @@ class MobileKeyword extends MetadataType {
165
182
  *
166
183
  * @param {string} templateDir Directory where retrieved metadata directory will be saved
167
184
  * @param {string} key name of the metadata file
168
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
169
- * @returns {Promise.<TYPE.MetadataTypeItemObj>} Promise of metadata
185
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
186
+ * @returns {Promise.<MetadataTypeItemObj>} Promise of metadata
170
187
  */
171
188
  static async retrieveAsTemplate(templateDir, key, templateVariables) {
172
189
  try {
@@ -194,7 +211,6 @@ class MobileKeyword extends MetadataType {
194
211
  /**
195
212
  * helper for {@link MobileKeyword.retrieve} and {@link MobileKeyword.retrieveAsTemplate}
196
213
  *
197
- * @private
198
214
  * @param {string} key customer key of single item to retrieve / name of the metadata file
199
215
  * @returns {Array} key, queryParams
200
216
  */
@@ -224,7 +240,7 @@ class MobileKeyword extends MetadataType {
224
240
  /**
225
241
  * Creates a single item
226
242
  *
227
- * @param {TYPE.MetadataTypeItem} metadata a single item
243
+ * @param {MetadataTypeItem} metadata a single item
228
244
  * @returns {Promise} Promise
229
245
  */
230
246
  static create(metadata) {
@@ -233,7 +249,7 @@ class MobileKeyword extends MetadataType {
233
249
  /**
234
250
  * Updates a single item
235
251
  *
236
- * @param {TYPE.MetadataTypeItem} metadata a single item
252
+ * @param {MetadataTypeItem} metadata a single item
237
253
  * @returns {Promise} Promise
238
254
  */
239
255
  static update(metadata) {
@@ -247,8 +263,8 @@ class MobileKeyword extends MetadataType {
247
263
  /**
248
264
  * manages post retrieve steps
249
265
  *
250
- * @param {TYPE.MetadataTypeItem} metadata a single item
251
- * @returns {TYPE.CodeExtractItem | TYPE.MetadataTypeItem | void} Array with one metadata object and one ssjs string; or single metadata object; nothing if filtered
266
+ * @param {MetadataTypeItem} metadata a single item
267
+ * @returns {CodeExtractItem | MetadataTypeItem | void} Array with one metadata object and one ssjs string; or single metadata object; nothing if filtered
252
268
  */
253
269
  static postRetrieveTasks(metadata) {
254
270
  try {
@@ -298,8 +314,8 @@ class MobileKeyword extends MetadataType {
298
314
  *
299
315
  * @param {string} templateDir Directory where metadata templates are stored
300
316
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
301
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
302
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
317
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
318
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
303
319
  * @param {string} templateName name of the template to be built
304
320
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array
305
321
  */
@@ -326,8 +342,8 @@ class MobileKeyword extends MetadataType {
326
342
  * @example scripts are saved as 1 json and 1 ssjs file. both files need to be run through templating
327
343
  * @param {string} templateDir Directory where metadata templates are stored
328
344
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
329
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
330
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
345
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
346
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
331
347
  * @param {string} templateName name of the template to be built
332
348
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array
333
349
  */
@@ -354,8 +370,8 @@ class MobileKeyword extends MetadataType {
354
370
  *
355
371
  * @param {string} templateDir Directory where metadata templates are stored
356
372
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
357
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
358
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
373
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
374
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
359
375
  * @param {string} templateName name of the template to be built
360
376
  * @param {'definition'|'template'} mode defines what we use this helper for
361
377
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array
@@ -373,7 +389,7 @@ class MobileKeyword extends MetadataType {
373
389
  if (!code) {
374
390
  return null;
375
391
  }
376
- const file = this.prepExtractedCode(code, metadata.name);
392
+ const file = this.prepExtractedCode(code);
377
393
  const fileExt = file.fileExt;
378
394
  code = file.code;
379
395
  // apply templating
@@ -419,9 +435,9 @@ class MobileKeyword extends MetadataType {
419
435
  /**
420
436
  * prepares an event definition for deployment
421
437
  *
422
- * @param {TYPE.MetadataTypeItem} metadata a single MobileKeyword
438
+ * @param {MetadataTypeItem} metadata a single MobileKeyword
423
439
  * @param {string} deployDir directory of deploy files
424
- * @returns {Promise.<TYPE.MetadataTypeItem>} Promise
440
+ * @returns {Promise.<MetadataTypeItem>} Promise
425
441
  */
426
442
  static async preDeployTasks(metadata, deployDir) {
427
443
  // code
@@ -447,9 +463,9 @@ class MobileKeyword extends MetadataType {
447
463
  /**
448
464
  * helper for {@link MetadataType.createREST}
449
465
  *
450
- * @param {TYPE.MetadataTypeItem} metadataEntry a single metadata Entry
466
+ * @param {MetadataTypeItem} metadataEntry a single metadata Entry
451
467
  * @param {object} apiResponse varies depending on the API call
452
- * @returns {void}
468
+ * @returns {Promise.<void>} -
453
469
  */
454
470
  static async postCreateTasks(metadataEntry, apiResponse) {
455
471
  await super.postDeployTasks_legacyApi(metadataEntry, apiResponse);
@@ -457,9 +473,9 @@ class MobileKeyword extends MetadataType {
457
473
  /**
458
474
  * helper for {@link MetadataType.updateREST}
459
475
  *
460
- * @param {TYPE.MetadataTypeItem} metadataEntry a single metadata Entry
476
+ * @param {MetadataTypeItem} metadataEntry a single metadata Entry
461
477
  * @param {object} apiResponse varies depending on the API call
462
- * @returns {void}
478
+ * @returns {Promise.<void>} -
463
479
  */
464
480
  static async postUpdateTasks(metadataEntry, apiResponse) {
465
481
  await super.postDeployTasks_legacyApi(metadataEntry, apiResponse);
@@ -468,7 +484,7 @@ class MobileKeyword extends MetadataType {
468
484
  /**
469
485
  * helper for {@link MobileKeyword.preDeployTasks} that loads extracted code content back into JSON
470
486
  *
471
- * @param {TYPE.MetadataTypeItem} metadata a single definition
487
+ * @param {MetadataTypeItem} metadata a single definition
472
488
  * @param {string} deployDir directory of deploy files
473
489
  * @param {string} [templateName] name of the template used to built defintion (prior applying templating)
474
490
  * @returns {Promise.<string>} content for metadata.script
@@ -518,7 +534,7 @@ class MobileKeyword extends MetadataType {
518
534
  * clean up after deleting a metadata item
519
535
  *
520
536
  * @param {string} customerKey Identifier of metadata item
521
- * @returns {void}
537
+ * @returns {Promise.<void>} -
522
538
  */
523
539
  static async postDeleteTasks(customerKey) {
524
540
  // delete local copy: retrieve/cred/bu/type/...-meta.json
@@ -530,9 +546,9 @@ class MobileKeyword extends MetadataType {
530
546
  * additionally, the documentation for dataExtension and automation should be returned
531
547
  *
532
548
  * @param {string[]} keyArr customerkey of the metadata
533
- * @returns {string[]} list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
549
+ * @returns {Promise.<string[]>} list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
534
550
  */
535
- static getFilesToCommit(keyArr) {
551
+ static async getFilesToCommit(keyArr) {
536
552
  const path = File.normalizePath([
537
553
  this.properties.directories.retrieve,
538
554
  this.buObject.credential,
@@ -1,11 +1,23 @@
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
+
9
21
  /**
10
22
  * MobileMessage MetadataType
11
23
  *
@@ -16,10 +28,10 @@ class MobileMessage extends MetadataType {
16
28
  * Retrieves Metadata of Mobile Keywords
17
29
  *
18
30
  * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
19
- * @param {void} [_] unused parameter
20
- * @param {void} [__] unused parameter
31
+ * @param {void | string[]} [_] unused parameter
32
+ * @param {void | string[]} [__] unused parameter
21
33
  * @param {string} [key] customer key of single item to retrieve
22
- * @returns {Promise.<TYPE.MetadataTypeMapObj> | void} Promise of metadata
34
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
23
35
  */
24
36
  static retrieve(retrieveDir, _, __, key) {
25
37
  if (key && key.startsWith('id:')) {
@@ -45,15 +57,16 @@ class MobileMessage extends MetadataType {
45
57
  throw ex;
46
58
  }
47
59
  }
60
+ return;
48
61
  }
49
62
 
50
63
  /**
51
64
  * Retrieves event definition metadata for caching
52
65
  *
53
- * @param {void} _ parameter not used
54
- * @param {void} __ parameter not used
66
+ * @param {void | string[]} [_] parameter not used
67
+ * @param {void | string[]} [__] parameter not used
55
68
  * @param {string} [key] customer key of single item to retrieve
56
- * @returns {Promise.<TYPE.MetadataTypeMapObj>} Promise of metadata
69
+ * @returns {Promise.<MetadataTypeMapObj>} Promise of metadata
57
70
  */
58
71
  static retrieveForCache(_, __, key) {
59
72
  return this.retrieve(null, null, null, key);
@@ -62,7 +75,7 @@ class MobileMessage extends MetadataType {
62
75
  /**
63
76
  * Updates a single item
64
77
  *
65
- * @param {TYPE.MetadataTypeItem} metadata a single item
78
+ * @param {MetadataTypeItem} metadata a single item
66
79
  * @returns {Promise} Promise
67
80
  */
68
81
  static update(metadata) {
@@ -76,7 +89,7 @@ class MobileMessage extends MetadataType {
76
89
  /**
77
90
  * Creates a single item
78
91
  *
79
- * @param {TYPE.MetadataTypeItem} metadata a single item
92
+ * @param {MetadataTypeItem} metadata a single item
80
93
  * @returns {Promise} Promise
81
94
  */
82
95
  static create(metadata) {
@@ -85,7 +98,7 @@ class MobileMessage extends MetadataType {
85
98
  /**
86
99
  * helper for {@link MobileMessage.preDeployTasks} that loads extracted code content back into JSON
87
100
  *
88
- * @param {TYPE.MetadataTypeItem} metadata a single definition
101
+ * @param {MetadataTypeItem} metadata a single definition
89
102
  * @param {string} deployDir directory of deploy files
90
103
  * @param {string} [templateName] name of the template used to built defintion (prior applying templating)
91
104
  * @returns {Promise.<string>} code
@@ -126,9 +139,9 @@ class MobileMessage extends MetadataType {
126
139
  * additionally, the documentation for dataExtension and automation should be returned
127
140
  *
128
141
  * @param {string[]} keyArr customerkey of the metadata
129
- * @returns {string[]} list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
142
+ * @returns {Promise.<string[]>} list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
130
143
  */
131
- static getFilesToCommit(keyArr) {
144
+ static async getFilesToCommit(keyArr) {
132
145
  const path = File.normalizePath([
133
146
  this.properties.directories.retrieve,
134
147
  this.buObject.credential,
@@ -146,13 +159,19 @@ class MobileMessage extends MetadataType {
146
159
  /**
147
160
  * manages post retrieve steps
148
161
  *
149
- * @param {TYPE.MetadataTypeItem} metadata a single query
150
- * @returns {TYPE.CodeExtractItem} Array with one metadata object and one query string
162
+ * @param {MetadataTypeItem} metadata a single query
163
+ * @returns {CodeExtractItem} Array with one metadata object and one query string
151
164
  */
152
165
  static postRetrieveTasks(metadata) {
153
166
  // mobileCode
154
167
  try {
155
- cache.searchForField('mobileCode', metadata.code.code, 'code', 'code');
168
+ metadata.r__mobileCode_key = cache.searchForField(
169
+ 'mobileCode',
170
+ metadata.code.code,
171
+ 'code',
172
+ 'code'
173
+ );
174
+ delete metadata.code;
156
175
  } catch (ex) {
157
176
  Util.logger.warn(
158
177
  ` - ${this.definition.type} ${metadata[this.definition.nameField]} (${
@@ -162,11 +181,12 @@ class MobileMessage extends MetadataType {
162
181
  }
163
182
 
164
183
  // mobileKeyword
184
+
165
185
  try {
166
186
  for (const attr of ['keyword', 'subscriptionKeyword', 'nextKeyword']) {
167
187
  if (metadata[attr]?.id) {
168
188
  metadata[attr] = {
169
- c__codeKeyword: cache.searchForField(
189
+ r__mobileKeyword_key: cache.searchForField(
170
190
  'mobileKeyword',
171
191
  metadata[attr].id,
172
192
  'id',
@@ -185,7 +205,7 @@ class MobileMessage extends MetadataType {
185
205
  // campaign
186
206
  try {
187
207
  if (Array.isArray(metadata.campaigns)) {
188
- metadata.c__campaignNames = [];
208
+ metadata.r__campaign_key = [];
189
209
 
190
210
  for (const campaign of metadata.campaigns) {
191
211
  try {
@@ -195,7 +215,7 @@ class MobileMessage extends MetadataType {
195
215
  throw new Error(`campaign ${campaign.name} not found in cache`);
196
216
  }
197
217
 
198
- metadata.c__campaignNames.push(campaign.name);
218
+ metadata.r__campaign_key.push(campaign.name);
199
219
  } catch (ex) {
200
220
  Util.logger.warn(
201
221
  ` - ${this.definition.type} ${metadata[this.definition.nameField]}: ${
@@ -248,25 +268,32 @@ class MobileMessage extends MetadataType {
248
268
  /**
249
269
  * prepares an event definition for deployment
250
270
  *
251
- * @param {TYPE.MetadataTypeItem} metadata a single MobileMessage
271
+ * @param {MetadataTypeItem} metadata a single MobileMessage
252
272
  * @param {string} deployDir directory of deploy files
253
- * @returns {TYPE.MetadataTypeItem} Promise
273
+ * @returns {Promise.<MetadataTypeItem>} Promise
254
274
  */
255
275
  static async preDeployTasks(metadata, deployDir) {
256
276
  // mobileCode
257
- const code = cache.getByKey('mobileCode', metadata.code.code);
258
- if (!code) {
259
- throw new Error(`mobileCode ${metadata.code.code} not found in cache`);
277
+ if (metadata.r__mobileCode_key) {
278
+ metadata.code ||= {};
279
+ const code = cache.getByKey('mobileCode', metadata.r__mobileCode_key);
280
+ if (!code) {
281
+ throw new Error(`mobileCode ${metadata.r__mobileCode_key} not found in cache`);
282
+ }
283
+ metadata.code = code;
284
+ delete metadata.r__mobileCode_key;
260
285
  }
261
- metadata.code = code;
262
286
 
263
287
  // mobileKeyword
264
288
  for (const attr of ['keyword', 'subscriptionKeyword', 'nextKeyword']) {
265
- if (metadata[attr]?.c__codeKeyword) {
266
- const keywordObj = cache.getByKey('mobileKeyword', metadata[attr].c__codeKeyword);
289
+ if (metadata[attr]?.r__mobileKeyword_key) {
290
+ const keywordObj = cache.getByKey(
291
+ 'mobileKeyword',
292
+ metadata[attr].r__mobileKeyword_key
293
+ );
267
294
  if (!keywordObj) {
268
295
  throw new Error(
269
- `mobileKeyword ${metadata[attr].c__codeKeyword} not found in cache`
296
+ `mobileKeyword ${metadata[attr].r__mobileKeyword_key} not found in cache`
270
297
  );
271
298
  }
272
299
  metadata[attr] = keywordObj;
@@ -274,10 +301,10 @@ class MobileMessage extends MetadataType {
274
301
  }
275
302
 
276
303
  // campaign
277
- if (Array.isArray(metadata.c__campaignNames)) {
304
+ if (Array.isArray(metadata.r__campaign_key)) {
278
305
  metadata.campaigns = [];
279
306
 
280
- for (const campaignName of metadata.c__campaignNames) {
307
+ for (const campaignName of metadata.r__campaign_key) {
281
308
  const campaign = cache.getByKey('campaign', campaignName);
282
309
  if (!campaign) {
283
310
  throw new Error(`campaign ${campaignName} not found in cache`);
@@ -291,7 +318,7 @@ class MobileMessage extends MetadataType {
291
318
  },
292
319
  });
293
320
  }
294
- delete metadata.c__campaignNames;
321
+ delete metadata.r__campaign_key;
295
322
  }
296
323
 
297
324
  if (metadata.smsTriggeredSendDefinitionId !== '00000000-0000-0000-0000-000000000000') {
@@ -306,9 +333,9 @@ class MobileMessage extends MetadataType {
306
333
  /**
307
334
  * helper for {@link MetadataType.createREST}
308
335
  *
309
- * @param {TYPE.MetadataTypeItem} metadataEntry a single metadata Entry
336
+ * @param {MetadataTypeItem} metadataEntry a single metadata Entry
310
337
  * @param {object} apiResponse varies depending on the API call
311
- * @returns {void}
338
+ * @returns {Promise.<void>} -
312
339
  */
313
340
  static async postCreateTasks(metadataEntry, apiResponse) {
314
341
  await super.postDeployTasks_legacyApi(metadataEntry, apiResponse);
@@ -316,9 +343,9 @@ class MobileMessage extends MetadataType {
316
343
  /**
317
344
  * helper for {@link MetadataType.updateREST}
318
345
  *
319
- * @param {TYPE.MetadataTypeItem} metadataEntry a single metadata Entry
346
+ * @param {MetadataTypeItem} metadataEntry a single metadata Entry
320
347
  * @param {object} apiResponse varies depending on the API call
321
- * @returns {void}
348
+ * @returns {Promise.<void>} -
322
349
  */
323
350
  static async postUpdateTasks(metadataEntry, apiResponse) {
324
351
  await super.postDeployTasks_legacyApi(metadataEntry, apiResponse);
@@ -329,8 +356,8 @@ class MobileMessage extends MetadataType {
329
356
  *
330
357
  * @param {string} templateDir Directory where metadata templates are stored
331
358
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
332
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
333
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
359
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
360
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
334
361
  * @param {string} templateName name of the template to be built
335
362
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array
336
363
  */
@@ -357,8 +384,8 @@ class MobileMessage extends MetadataType {
357
384
  * @example scripts are saved as 1 json and 1 ssjs file. both files need to be run through templating
358
385
  * @param {string} templateDir Directory where metadata templates are stored
359
386
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
360
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
361
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
387
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
388
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
362
389
  * @param {string} templateName name of the template to be built
363
390
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array
364
391
  */
@@ -385,8 +412,8 @@ class MobileMessage extends MetadataType {
385
412
  *
386
413
  * @param {string} templateDir Directory where metadata templates are stored
387
414
  * @param {string|string[]} targetDir (List of) Directory where built definitions will be saved
388
- * @param {TYPE.MetadataTypeItem} metadata main JSON file that was read from file system
389
- * @param {TYPE.TemplateMap} templateVariables variables to be replaced in the metadata
415
+ * @param {MetadataTypeItem} metadata main JSON file that was read from file system
416
+ * @param {TemplateMap} templateVariables variables to be replaced in the metadata
390
417
  * @param {string} templateName name of the template to be built
391
418
  * @param {'definition'|'template'} mode defines what we use this helper for
392
419
  * @returns {Promise.<string[][]>} list of extracted files with path-parts provided as an array