mcdev 5.0.2 → 5.2.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 (237) hide show
  1. package/.coverage-comment-template.svelte +177 -161
  2. package/.eslintrc.json +4 -4
  3. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  4. package/.github/PULL_REQUEST_TEMPLATE.md +2 -2
  5. package/.github/dependabot.yml +8 -0
  6. package/.github/workflows/coverage-base-update.yml +6 -2
  7. package/.github/workflows/coverage-develop-branch.yml +7 -8
  8. package/.github/workflows/coverage-main-branch.yml +7 -8
  9. package/.github/workflows/coverage.yml +7 -4
  10. package/.husky/post-checkout +4 -2
  11. package/.husky/post-merge +1 -0
  12. package/.vscode/extensions.json +4 -0
  13. package/docs/dist/documentation.md +756 -294
  14. package/lib/Deployer.js +28 -28
  15. package/lib/MetadataTypeDefinitions.js +1 -1
  16. package/lib/MetadataTypeInfo.js +1 -1
  17. package/lib/Retriever.js +1 -1
  18. package/lib/cli.js +184 -6
  19. package/lib/index.js +493 -22
  20. package/lib/metadataTypes/Asset.js +10 -11
  21. package/lib/metadataTypes/AttributeGroup.js +76 -2
  22. package/lib/metadataTypes/AttributeSet.js +260 -0
  23. package/lib/metadataTypes/Automation.js +771 -247
  24. package/lib/metadataTypes/DataExtension.js +7 -7
  25. package/lib/metadataTypes/DataExtensionField.js +1 -1
  26. package/lib/metadataTypes/Event.js +2 -3
  27. package/lib/metadataTypes/Folder.js +1 -1
  28. package/lib/metadataTypes/Journey.js +5 -6
  29. package/lib/metadataTypes/MetadataType.js +187 -60
  30. package/lib/metadataTypes/MobileKeyword.js +8 -8
  31. package/lib/metadataTypes/MobileMessage.js +5 -5
  32. package/lib/metadataTypes/Query.js +47 -5
  33. package/lib/metadataTypes/Script.js +3 -3
  34. package/lib/metadataTypes/TransactionalSMS.js +5 -5
  35. package/lib/metadataTypes/TriggeredSend.js +25 -50
  36. package/lib/metadataTypes/User.js +7 -4
  37. package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
  38. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +117 -106
  39. package/lib/metadataTypes/definitions/{SetDefinition.definition.js → AttributeSet.definition.js} +54 -27
  40. package/lib/metadataTypes/definitions/Automation.definition.js +74 -21
  41. package/lib/metadataTypes/definitions/DataExtension.definition.js +1 -0
  42. package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
  43. package/lib/metadataTypes/definitions/EmailSend.definition.js +1 -0
  44. package/lib/metadataTypes/definitions/Event.definition.js +1 -0
  45. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  46. package/lib/metadataTypes/definitions/ImportFile.definition.js +37 -6
  47. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +1 -0
  48. package/lib/metadataTypes/definitions/Query.definition.js +1 -0
  49. package/lib/metadataTypes/definitions/Role.definition.js +1 -0
  50. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +2 -0
  51. package/lib/metadataTypes/definitions/User.definition.js +1 -0
  52. package/lib/util/cache.js +9 -4
  53. package/lib/util/cli.js +40 -0
  54. package/lib/util/devops.js +13 -11
  55. package/lib/util/file.js +2 -2
  56. package/lib/util/init.js +84 -0
  57. package/lib/util/util.js +268 -137
  58. package/package.json +11 -11
  59. package/test/general.test.js +26 -0
  60. package/test/mockRoot/.mcdevrc.json +1 -1
  61. package/test/mockRoot/deploy/testInstance/testBU/automation/testExisting_automation.automation-meta.json +52 -0
  62. package/test/mockRoot/deploy/testInstance/testBU/automation/testNew_automation.automation-meta.json +45 -0
  63. package/test/mockRoot/deploy/testInstance/testBU/dataExtract/testExisting_dataExtract.dataExtract-meta.json +35 -0
  64. package/test/mockRoot/deploy/testInstance/testBU/dataExtract/testNew_dataExtract.dataExtract-meta.json +35 -0
  65. package/test/mockRoot/deploy/testInstance/testBU/fileTransfer/testExisting_fileTransfer.fileTransfer-meta.json +17 -0
  66. package/test/mockRoot/deploy/testInstance/testBU/fileTransfer/testNew_fileTransfer.fileTransfer-meta.json +17 -0
  67. package/test/mockRoot/deploy/testInstance/testBU/importFile/testExisting_importFile.importFile-meta.json +29 -0
  68. package/test/mockRoot/deploy/testInstance/testBU/importFile/testNew_importFile.importFile-meta.json +29 -0
  69. package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.json → testExisting_query.query-meta.json} +2 -2
  70. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.json +11 -0
  71. package/test/mockRoot/deploy/testInstance/testBU/query/testExisting_query_fixKeys.query-meta.sql +6 -0
  72. package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.json → testNew_query.query-meta.json} +2 -2
  73. package/test/mockRoot/deploy/testInstance/testBU/script/testExisting_script.script-meta.json +6 -0
  74. package/test/mockRoot/deploy/testInstance/testBU/script/testExisting_script.script-meta.ssjs +1 -0
  75. package/test/mockRoot/deploy/testInstance/testBU/script/testNew_script.script-meta.json +6 -0
  76. package/test/mockRoot/deploy/testInstance/testBU/script/testNew_script.script-meta.ssjs +1 -0
  77. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testExisting_triggeredSend.triggeredSend-meta.json +29 -0
  78. package/test/mockRoot/deploy/testInstance/testBU/triggeredSend/testNew_triggeredSend.triggeredSend-meta.json +29 -0
  79. package/test/resourceFactory.js +132 -24
  80. package/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDCustomerKey=testExisting_userANDEmaillike@-response.xml +27 -0
  81. package/test/resources/1111111/accountUser/retrieve-ActiveFlag=falseANDEmaillike@-response.xml +156 -0
  82. package/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml +87 -0
  83. package/test/resources/1111111/accountUser/retrieve-ActiveFlag=trueANDEmaillike@-response.xml +156 -0
  84. package/test/resources/1111111/accountUser/retrieve-CustomerKey=testExisting_userANDActiveFlag=trueANDEmailisNullORNamelikeapp userANDMustChangePassword=false-response.xml +27 -0
  85. package/test/resources/1111111/accountUserAccount/retrieve-AccountUser.AccountUserID=700301950-response.xml +60 -0
  86. package/test/resources/1111111/user/retrieve-expected.md +4 -2
  87. package/test/resources/9999999/attributeGroup/retrieve-expected.json +25 -0
  88. package/test/resources/9999999/attributeSet/retrieve-expected.json +748 -0
  89. package/test/resources/9999999/automation/build-expected.json +57 -0
  90. package/test/resources/9999999/automation/create-expected.json +45 -0
  91. package/test/resources/9999999/automation/create-testNew_automation-expected.md +28 -0
  92. package/test/resources/9999999/automation/delete-response.xml +40 -0
  93. package/test/resources/9999999/automation/patch_fixKeys-pause-expected.json +44 -0
  94. package/test/resources/9999999/automation/patch_fixKeys-schedule-expected.json +44 -0
  95. package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +42 -0
  96. package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-fixKey_pause-response.xml +42 -0
  97. package/test/resources/9999999/automation/perform-08afb0e2-b00a-4c88-fixKey_schedule-response.xml +42 -0
  98. package/test/resources/9999999/automation/perform-a8afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +42 -0
  99. package/test/resources/9999999/automation/retrieve-expected.json +57 -0
  100. package/test/resources/9999999/automation/retrieve-testExisting_automation-expected.md +30 -0
  101. package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +52 -0
  102. package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-ad2e-pause-response.xml +38 -0
  103. package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-fixKey_pause-response.xml +52 -0
  104. package/test/resources/9999999/automation/schedule-08afb0e2-b00a-4c88-fixKey_schedule-response.xml +52 -0
  105. package/test/resources/9999999/automation/schedule-a8afb0e2-b00a-4c88-ad2e-1f7f8788c560-response.xml +52 -0
  106. package/test/resources/9999999/automation/template-expected.json +57 -0
  107. package/test/resources/9999999/automation/update-expected.json +45 -0
  108. package/test/resources/9999999/automation/update-testExisting_automation-expected.md +28 -0
  109. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
  110. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-1f7f8788c560/patch-response.json +85 -0
  111. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-pause/get-response.json +85 -0
  112. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-ad2e-pause/patch-response.json +85 -0
  113. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_pause/get-response.json +85 -0
  114. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_pause/patch-response.json +85 -0
  115. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_schedule/get-response.json +85 -0
  116. package/test/resources/9999999/automation/v1/automations/08afb0e2-b00a-4c88-fixKey_schedule/patch-response.json +85 -0
  117. package/test/resources/9999999/automation/v1/automations/a8afb0e2-b00a-4c88-ad2e-1f7f8788c560/get-response.json +85 -0
  118. package/test/resources/9999999/automation/v1/automations/post-response.json +86 -0
  119. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/get-response.json +38 -0
  120. package/test/resources/9999999/automation/v1/dataextracts/56c5370a-f988-4f36-b0ee-0f876573f6d7/patch-response.json +38 -0
  121. package/test/resources/9999999/automation/v1/dataextracts/get-response.json +20 -0
  122. package/test/resources/9999999/automation/v1/dataextracts/post-response.json +38 -0
  123. package/test/resources/9999999/automation/v1/dataextracttypes/get-response.json +50 -0
  124. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/get-response.json +18 -0
  125. package/test/resources/9999999/automation/v1/filetransfers/72c328ac-f5b0-4e37-91d3-a775666f15a6/patch-response.json +18 -0
  126. package/test/resources/9999999/automation/v1/filetransfers/get-response.json +15 -0
  127. package/test/resources/9999999/automation/v1/filetransfers/post-response.json +18 -0
  128. package/test/resources/9999999/automation/v1/ftplocations/get-response.json +18 -0
  129. package/test/resources/9999999/automation/v1/imports/9d16f42c-2260-ed11-b849-48df37d1de8b/patch-response.json +31 -0
  130. package/test/resources/9999999/automation/v1/imports/get-response.json +38 -0
  131. package/test/resources/9999999/automation/v1/imports/post-response.json +30 -0
  132. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dae/actions/start/post-response.txt +1 -0
  133. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/actions/start/post-response.txt +1 -0
  134. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +2 -2
  135. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +2 -2
  136. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeys/get-response.json +17 -0
  137. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat_fixKeys/patch-response.json +18 -0
  138. package/test/resources/9999999/automation/v1/queries/get-response.json +22 -5
  139. package/test/resources/9999999/automation/v1/queries/post-response.json +2 -2
  140. package/test/resources/9999999/automation/v1/scripts/39f6a488-20eb-4ba0-b0b9-023725b574e4/patch-response.json +10 -0
  141. package/test/resources/9999999/automation/v1/scripts/get-response.json +27 -0
  142. package/test/resources/9999999/automation/v1/scripts/post-response.json +10 -0
  143. package/test/resources/9999999/dataExtension/retrieve-Name=testExisting_dataExtension-response.xml +52 -0
  144. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testExisting_dataExtension-response.xml +98 -0
  145. package/test/resources/9999999/dataExtensionField/retrieve-DataExtension.CustomerKey=testNew_dataExtensionORDataExtension.CustomerKey=testExisting_dataExtension-response.xml +99 -0
  146. package/test/resources/9999999/dataExtract/build-expected.json +35 -0
  147. package/test/resources/9999999/dataExtract/get-expected.json +39 -0
  148. package/test/resources/9999999/dataExtract/patch-expected.json +37 -0
  149. package/test/resources/9999999/dataExtract/post-expected.json +37 -0
  150. package/test/resources/9999999/dataExtract/template-expected.json +35 -0
  151. package/test/resources/9999999/dataFolder/retrieve-ContentType=automations-response.xml +48 -0
  152. package/test/resources/9999999/dataFolder/retrieve-ContentType=contextual_suppression_listORContentType=publicationORContentType=suppression_listORContentType=mysubsORContentType=list-response.xml +136 -0
  153. package/test/resources/9999999/dataFolder/retrieve-ContentType=queryactivity-response.xml +48 -0
  154. package/test/resources/9999999/dataFolder/retrieve-ContentType=ssjsactivity-response.xml +48 -0
  155. package/test/resources/9999999/dataFolder/retrieve-ContentType=triggered_send_journeybuilderORContentType=triggered_sendORContentType=hidden-response.xml +276 -0
  156. package/test/resources/9999999/dataFolder/retrieve-response.xml +45 -0
  157. package/test/resources/9999999/email/retrieve-response.xml +203 -0
  158. package/test/resources/9999999/emailSendDefinition/retrieve-IsPlatformObject=falseANDDescriptionnotEqualsSFSendDefinition-response.xml +85 -0
  159. package/test/resources/9999999/fileTransfer/build-expected.json +15 -0
  160. package/test/resources/9999999/fileTransfer/get-expected.json +17 -0
  161. package/test/resources/9999999/fileTransfer/patch-expected.json +17 -0
  162. package/test/resources/9999999/fileTransfer/post-expected.json +17 -0
  163. package/test/resources/9999999/fileTransfer/template-expected.json +15 -0
  164. package/test/resources/9999999/hub/v1/contacts/schema/attributeGroups/get-response.json +585 -0
  165. package/test/resources/9999999/hub/v1/contacts/schema/setDefinitions/get-response.json +19807 -0
  166. package/test/resources/9999999/importFile/build-expected.json +27 -0
  167. package/test/resources/9999999/importFile/get-expected.json +29 -0
  168. package/test/resources/9999999/importFile/patch-expected.json +29 -0
  169. package/test/resources/9999999/importFile/post-expected.json +29 -0
  170. package/test/resources/9999999/importFile/template-expected.json +27 -0
  171. package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/get-response.json +21 -0
  172. package/test/resources/9999999/legacy/v1/beta/automations/notifications/RkpOcE9qSVh2VUdnYTVJbWFfWW14dzoyNTow/post-response.json +0 -0
  173. package/test/resources/9999999/legacy/v1/beta/bulk/automations/automation/definition/get-response.json +30 -0
  174. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation-response.xml +30 -0
  175. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixKey_pause-response.xml +32 -0
  176. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixKey_schedule-response.xml +32 -0
  177. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixedKey_paused-response.xml +32 -0
  178. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_fixedKey_scheduled-response.xml +32 -0
  179. package/test/resources/9999999/program/retrieve-CustomerKey=testExisting_automation_pause-response.xml +30 -0
  180. package/test/resources/9999999/program/retrieve-CustomerKey=testNew_automation-response.xml +30 -0
  181. package/test/resources/9999999/program/retrieve-Name=testExisting_automation-response.xml +31 -0
  182. package/test/resources/9999999/program/retrieve-response.xml +50 -0
  183. package/test/resources/9999999/query/build-expected.json +2 -2
  184. package/test/resources/9999999/query/get-expected.json +2 -2
  185. package/test/resources/9999999/query/get2-expected.json +2 -2
  186. package/test/resources/9999999/query/patch-expected.json +2 -2
  187. package/test/resources/9999999/query/patch_fixKeys-expected.json +11 -0
  188. package/test/resources/9999999/query/patch_fixKeys-expected.sql +6 -0
  189. package/test/resources/9999999/query/post-expected.json +2 -2
  190. package/test/resources/9999999/query/template-expected.json +2 -2
  191. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixKeysANDStatus=Active-response.xml +30 -0
  192. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testExisting_query_fixedKeysANDStatus=Active-response.xml +30 -0
  193. package/test/resources/9999999/queryDefinition/retrieve-CustomerKey=testNew_queryANDStatus=Active-response.xml +30 -0
  194. package/test/resources/9999999/script/build-expected.json +6 -0
  195. package/test/resources/9999999/script/build-expected.ssjs +1 -0
  196. package/test/resources/9999999/script/get-expected.json +8 -0
  197. package/test/resources/9999999/script/get-expected.ssjs +1 -0
  198. package/test/resources/9999999/script/get_noScriptTag-expected.html +1 -0
  199. package/test/resources/9999999/script/get_noScriptTag-expected.json +8 -0
  200. package/test/resources/9999999/script/patch-expected.json +8 -0
  201. package/test/resources/9999999/script/patch-expected.ssjs +1 -0
  202. package/test/resources/9999999/script/post-expected.json +8 -0
  203. package/test/resources/9999999/script/post-expected.ssjs +1 -0
  204. package/test/resources/9999999/script/template-expected.json +6 -0
  205. package/test/resources/9999999/script/template-expected.ssjs +1 -0
  206. package/test/resources/9999999/triggeredSend/build-expected.json +29 -0
  207. package/test/resources/9999999/triggeredSend/get-expected.json +29 -0
  208. package/test/resources/9999999/triggeredSend/patch-expected.json +29 -0
  209. package/test/resources/9999999/triggeredSend/post-expected.json +29 -0
  210. package/test/resources/9999999/triggeredSend/template-expected.json +29 -0
  211. package/test/resources/9999999/triggeredSendDefinition/create-response.xml +75 -0
  212. package/test/resources/9999999/triggeredSendDefinition/delete-response.xml +36 -0
  213. package/test/resources/9999999/triggeredSendDefinition/{retrieve-response.xml → retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml} +4 -4
  214. package/test/resources/9999999/triggeredSendDefinition/update-response.xml +74 -0
  215. package/test/type.attributeGroup.test.js +55 -0
  216. package/test/type.attributeSet.test.js +55 -0
  217. package/test/type.automation.test.js +886 -0
  218. package/test/type.dataExtension.test.js +3 -1
  219. package/test/type.dataExtract.test.js +187 -0
  220. package/test/type.fileTransfer.test.js +185 -0
  221. package/test/type.importFile.test.js +186 -0
  222. package/test/type.mobileKeyword.test.js +0 -1
  223. package/test/type.query.test.js +497 -33
  224. package/test/type.script.test.js +367 -0
  225. package/test/type.triggeredSend.test.js +152 -0
  226. package/test/type.user.test.js +37 -11
  227. package/test/utils.js +10 -6
  228. package/.coverage-comment-template.md +0 -20
  229. package/lib/metadataTypes/SetDefinition.js +0 -37
  230. /package/test/mockRoot/deploy/testInstance/testBU/query/{testExistingQuery.query-meta.sql → testExisting_query.query-meta.sql} +0 -0
  231. /package/test/mockRoot/deploy/testInstance/testBU/query/{testNewQuery.query-meta.sql → testNew_query.query-meta.sql} +0 -0
  232. /package/test/resources/1111111/accountUser/{retrieve-response.xml → retrieve-ActiveFlag=trueANDCustomerKey=testExisting_userANDEmaillike@-response.xml} +0 -0
  233. /package/test/resources/1111111/accountUserAccount/{retrieve-response.xml → retrieve-AccountUser.AccountUserIDIN700301950,700301951,7471228-response.xml} +0 -0
  234. /package/test/resources/1111111/businessUnit/{retrieve-response.xml → retrieve-ID=1111111-response.xml} +0 -0
  235. /package/test/resources/1111111/list/{retrieve-response.xml → retrieve-CustomerKey=All SubscribersORListName=All Subscribers-response.xml} +0 -0
  236. /package/test/resources/1111111/role/{retrieve-response.xml → retrieve-IsPrivate=false-response.xml} +0 -0
  237. /package/test/resources/9999999/queryDefinition/{retrieve-response.xml → retrieve-CustomerKey=testExisting_queryANDStatus=Active-response.xml} +0 -0
@@ -1,238 +1,249 @@
1
1
  module.exports = {
2
2
  bodyIteratorField: 'attributeGroupDefinitions',
3
- dependencies: [], // future may have dependency on Data Extensions
3
+ dependencies: ['attributeSet'], // future may have dependency on Data Extensions
4
4
  hasExtended: false,
5
5
  idField: 'definitionID',
6
6
  keyIsFixed: null,
7
7
  keyField: 'definitionKey',
8
8
  nameField: 'definitionName.value',
9
- restPagination: false,
9
+ restPagination: false, // Hub API does not support pagination and returns everything instead
10
10
  type: 'attributeGroup',
11
11
  typeDescription: 'BETA: Groupings of Set Definitions (Data Extensions) in Data Designer.',
12
12
  typeRetrieveByDefault: false,
13
13
  typeName: 'Data Designer Attribute Groups',
14
14
  fields: {
15
15
  applicationID: {
16
- isCreateable: null,
17
- isUpdateable: null,
18
- retrieving: true,
19
- template: null,
16
+ // used by system generated attribute groups only; contains UUID
17
+ isCreateable: false,
18
+ isUpdateable: false,
19
+ retrieving: false,
20
+ template: false,
20
21
  },
21
22
  applicationKey: {
22
- isCreateable: null,
23
- isUpdateable: null,
23
+ // used by system generated attribute groups only
24
+ isCreateable: false,
25
+ isUpdateable: false,
24
26
  retrieving: true,
25
- template: null,
27
+ template: false,
26
28
  },
27
29
  attributeCount: {
28
- isCreateable: null,
29
- isUpdateable: null,
30
+ // auto-populated
31
+ isCreateable: false,
32
+ isUpdateable: false,
30
33
  retrieving: true,
31
- template: null,
34
+ template: false,
32
35
  },
33
36
  attributeGroupIconKey: {
34
- isCreateable: null,
35
- isUpdateable: null,
37
+ isCreateable: true,
38
+ isUpdateable: true,
36
39
  retrieving: true,
37
- template: null,
40
+ template: true,
38
41
  },
39
42
  attributeGroupType: {
40
- isCreateable: null,
41
- isUpdateable: null,
43
+ isCreateable: true,
44
+ isUpdateable: true,
42
45
  retrieving: true,
43
- template: null,
46
+ template: true,
44
47
  },
45
48
  attributeSetIdentifiers: {
46
- isCreateable: null,
47
- isUpdateable: null,
49
+ isCreateable: true,
50
+ isUpdateable: true,
48
51
  retrieving: true,
49
- template: null,
52
+ template: true,
50
53
  },
51
54
  'attributeSetIdentifiers[].connectingID.identifierType': {
52
55
  isCreateable: null,
53
56
  isUpdateable: null,
54
- retrieving: false,
55
- template: null,
57
+ retrieving: true,
58
+ template: false,
56
59
  },
57
60
  'attributeSetIdentifiers[].definitionID': {
58
61
  isCreateable: null,
59
62
  isUpdateable: null,
60
63
  retrieving: true,
61
- template: null,
64
+ template: false,
62
65
  },
63
66
  'attributeSetIdentifiers[].definitionKey': {
64
67
  isCreateable: null,
65
68
  isUpdateable: null,
66
69
  retrieving: true,
67
- template: null,
70
+ template: true,
68
71
  },
69
- 'attributeSetIdentifiers[].definitionName.Contact': {
72
+ 'attributeSetIdentifiers[].definitionName.value': {
70
73
  isCreateable: null,
71
74
  isUpdateable: null,
72
75
  retrieving: true,
73
- template: null,
76
+ template: false,
74
77
  },
75
78
  'attributeSetIdentifiers[].namespace': {
76
79
  isCreateable: null,
77
80
  isUpdateable: null,
78
81
  retrieving: false,
79
- template: null,
82
+ template: false,
80
83
  },
81
84
  canAddProperties: {
82
- isCreateable: null,
83
- isUpdateable: null,
85
+ isCreateable: true,
86
+ isUpdateable: true,
84
87
  retrieving: true,
85
- template: null,
88
+ template: true,
86
89
  },
87
90
  canAddRelationships: {
88
- isCreateable: null,
89
- isUpdateable: null,
91
+ isCreateable: true,
92
+ isUpdateable: true,
90
93
  retrieving: true,
91
- template: null,
94
+ template: true,
92
95
  },
93
96
  canChangeProperties: {
94
- isCreateable: null,
95
- isUpdateable: null,
97
+ isCreateable: true,
98
+ isUpdateable: true,
96
99
  retrieving: true,
97
- template: null,
100
+ template: true,
98
101
  },
99
102
  canModify: {
100
- isCreateable: null,
101
- isUpdateable: null,
103
+ isCreateable: true,
104
+ isUpdateable: true,
102
105
  retrieving: true,
103
- template: null,
106
+ template: true,
104
107
  },
105
108
  canRemove: {
106
- isCreateable: null,
107
- isUpdateable: null,
109
+ isCreateable: true,
110
+ isUpdateable: true,
108
111
  retrieving: true,
109
- template: null,
112
+ template: true,
110
113
  },
111
114
  connectingID: {
112
- isCreateable: null,
113
- isUpdateable: null,
114
- retrieving: false,
115
- template: null,
115
+ isCreateable: true,
116
+ isUpdateable: true,
117
+ retrieving: true,
118
+ template: true,
116
119
  },
117
120
  'connectingID.identifierType': {
118
- isCreateable: null,
119
- isUpdateable: null,
120
- retrieving: false,
121
- template: null,
121
+ isCreateable: true,
122
+ isUpdateable: true,
123
+ retrieving: true,
124
+ template: true,
122
125
  },
123
126
  containsSchemaAttributes: {
124
- isCreateable: null,
125
- isUpdateable: null,
127
+ isCreateable: true,
128
+ isUpdateable: true,
126
129
  retrieving: true,
127
- template: null,
130
+ template: true,
128
131
  },
129
132
  definitionID: {
130
- isCreateable: null,
131
- isUpdateable: null,
133
+ isCreateable: true,
134
+ isUpdateable: true,
132
135
  retrieving: true,
133
- template: null,
136
+ template: false,
134
137
  },
135
138
  definitionKey: {
136
- isCreateable: null,
137
- isUpdateable: null,
139
+ isCreateable: true,
140
+ isUpdateable: true,
138
141
  retrieving: true,
139
- template: null,
142
+ template: true,
140
143
  },
141
144
  'definitionName.value': {
142
- isCreateable: null,
143
- isUpdateable: null,
145
+ isCreateable: true,
146
+ isUpdateable: true,
144
147
  retrieving: true,
145
- template: null,
148
+ template: true,
146
149
  },
147
150
  description: {
148
- isCreateable: null,
149
- isUpdateable: null,
151
+ // optional field. not returned by API if empty
152
+ isCreateable: true,
153
+ isUpdateable: true,
150
154
  retrieving: true,
151
- template: null,
155
+ template: true,
152
156
  },
153
157
  displayOrder: {
154
- isCreateable: null,
155
- isUpdateable: null,
158
+ // auto-set to i+1
159
+ isCreateable: false,
160
+ isUpdateable: false,
156
161
  retrieving: true,
157
- template: null,
162
+ template: false,
158
163
  },
159
164
  fullyQualifiedName: {
160
- isCreateable: null,
161
- isUpdateable: null,
162
- retrieving: true,
163
- template: null,
165
+ // equal to defitionName.value; auto-populated by preDeployTasks
166
+ isCreateable: true,
167
+ isUpdateable: true,
168
+ retrieving: false,
169
+ template: false,
164
170
  },
165
171
  isHidden: {
166
- isCreateable: null,
167
- isUpdateable: null,
172
+ isCreateable: true,
173
+ isUpdateable: true,
168
174
  retrieving: true,
169
- template: null,
175
+ template: true,
170
176
  },
171
177
  isOwner: {
172
- isCreateable: null,
173
- isUpdateable: null,
178
+ isCreateable: true,
179
+ isUpdateable: true,
174
180
  retrieving: true,
175
- template: null,
181
+ template: true,
176
182
  },
177
183
  isPrimary: {
178
- isCreateable: null,
179
- isUpdateable: null,
180
- retrieving: true,
181
- template: null,
184
+ // always false, purpose unknown
185
+ isCreateable: false,
186
+ isUpdateable: false,
187
+ retrieving: false,
188
+ template: false,
182
189
  },
183
190
  isSystemDefined: {
184
- isCreateable: null,
185
- isUpdateable: null,
191
+ isCreateable: false,
192
+ isUpdateable: false,
186
193
  retrieving: true,
187
- template: null,
194
+ template: false,
188
195
  },
189
196
  localizedDescription: {
190
- isCreateable: null,
191
- isUpdateable: null,
192
- retrieving: true,
193
- template: null,
197
+ // always an empty object
198
+ isCreateable: false,
199
+ isUpdateable: false,
200
+ retrieving: false,
201
+ template: false,
194
202
  },
195
203
  'localizedDescription.resourceSetKey': {
196
204
  isCreateable: null,
197
205
  isUpdateable: null,
198
206
  retrieving: true,
199
- template: null,
207
+ template: true,
200
208
  },
201
209
  'localizedDescription.resourceValueKey': {
202
210
  isCreateable: null,
203
211
  isUpdateable: null,
204
212
  retrieving: true,
205
- template: null,
213
+ template: true,
206
214
  },
207
215
  'localizedDescription.value': {
208
216
  isCreateable: null,
209
217
  isUpdateable: null,
210
218
  retrieving: true,
211
- template: null,
219
+ template: true,
212
220
  },
213
221
  mID: {
214
- isCreateable: null,
215
- isUpdateable: null,
222
+ // auto-populated in preDeployTask
223
+ isCreateable: true,
224
+ isUpdateable: true,
216
225
  retrieving: true,
217
- template: null,
226
+ template: true,
218
227
  },
219
228
  namespace: {
220
- isCreateable: null,
221
- isUpdateable: null,
229
+ // always an empty string
230
+ isCreateable: false,
231
+ isUpdateable: false,
222
232
  retrieving: false,
223
- template: null,
233
+ template: false,
224
234
  },
225
235
  objectState: {
226
- isCreateable: null,
227
- isUpdateable: null,
228
- retrieving: true,
229
- template: null,
236
+ // seems to always contain "Created"
237
+ isCreateable: false,
238
+ isUpdateable: false,
239
+ retrieving: false,
240
+ template: false,
230
241
  },
231
242
  requiredRelationships: {
232
- isCreateable: null,
233
- isUpdateable: null,
243
+ isCreateable: true,
244
+ isUpdateable: true,
234
245
  retrieving: true,
235
- template: null,
246
+ template: true,
236
247
  },
237
248
  },
238
249
  };
@@ -1,17 +1,18 @@
1
1
  module.exports = {
2
2
  bodyIteratorField: 'setDefinition',
3
- dependencies: [], // future may have dependency on Data Extensions
3
+ dependencies: ['folder-hidden', 'folder-dataextension', 'dataExtension'], // future may have dependency on Data Extensions
4
4
  hasExtended: false,
5
5
  idField: 'definitionID',
6
6
  keyIsFixed: null,
7
7
  keyField: 'definitionKey',
8
8
  nameField: 'name',
9
+ folderIdField: 'categoryID',
9
10
  createdDateField: 'createDate',
10
11
  createdNameField: 'createdBy',
11
12
  lastmodDateField: null,
12
13
  lastmodNameField: null,
13
- restPagination: false,
14
- type: 'setDefinition',
14
+ restPagination: false, // Hub API does not support pagination and returns everything instead
15
+ type: 'attributeSet',
15
16
  typeDescription: 'BETA: Data Extensions linked to Attribute Groups in Data Designer.',
16
17
  typeRetrieveByDefault: false,
17
18
  typeName: 'Data Designer Set Definitions',
@@ -65,10 +66,10 @@ module.exports = {
65
66
  template: null,
66
67
  },
67
68
  'connectingID.identifierType': {
68
- isCreateable: null,
69
- isUpdateable: null,
70
- retrieving: true,
71
- template: null,
69
+ isCreateable: true,
70
+ isUpdateable: true,
71
+ retrieving: false,
72
+ template: false,
72
73
  },
73
74
  createDate: {
74
75
  isCreateable: null,
@@ -130,17 +131,25 @@ module.exports = {
130
131
  retrieving: true,
131
132
  template: null,
132
133
  },
134
+ definitionName: {
135
+ isCreateable: true,
136
+ isUpdateable: true,
137
+ retrieving: false,
138
+ template: false,
139
+ },
133
140
  'definitionName.value': {
134
- isCreateable: null,
135
- isUpdateable: null,
136
- retrieving: true,
137
- template: null,
141
+ // equal to 'name'; auto-populated by preDeployTasks
142
+ isCreateable: true,
143
+ isUpdateable: true,
144
+ retrieving: false,
145
+ template: false,
138
146
  },
139
147
  fullyQualifiedName: {
140
- isCreateable: null,
141
- isUpdateable: null,
142
- retrieving: true,
143
- template: null,
148
+ // equal to 'name'; auto-populated by preDeployTasks
149
+ isCreateable: true,
150
+ isUpdateable: true,
151
+ retrieving: false,
152
+ template: false,
144
153
  },
145
154
  isCustomObjectBacked: {
146
155
  isCreateable: null,
@@ -233,28 +242,28 @@ module.exports = {
233
242
  template: null,
234
243
  },
235
244
  localizedDescription: {
236
- isCreateable: null,
237
- isUpdateable: null,
245
+ isCreateable: true,
246
+ isUpdateable: true,
238
247
  retrieving: true,
239
- template: null,
248
+ template: true,
240
249
  },
241
250
  'localizedDescription.resourceSetKey': {
242
- isCreateable: null,
243
- isUpdateable: null,
251
+ isCreateable: true,
252
+ isUpdateable: true,
244
253
  retrieving: true,
245
- template: null,
254
+ template: true,
246
255
  },
247
256
  'localizedDescription.resourceValueKey': {
248
- isCreateable: null,
249
- isUpdateable: null,
257
+ isCreateable: true,
258
+ isUpdateable: true,
250
259
  retrieving: true,
251
- template: null,
260
+ template: true,
252
261
  },
253
262
  'localizedDescription.value': {
254
- isCreateable: null,
255
- isUpdateable: null,
263
+ isCreateable: true,
264
+ isUpdateable: true,
256
265
  retrieving: true,
257
- template: null,
266
+ template: true,
258
267
  },
259
268
  name: {
260
269
  isCreateable: null,
@@ -436,6 +445,18 @@ module.exports = {
436
445
  retrieving: true,
437
446
  template: null,
438
447
  },
448
+ 'relationships[].relationshipAttributes[].c__leftFullyQualifiedName': {
449
+ isCreateable: null,
450
+ isUpdateable: null,
451
+ retrieving: true,
452
+ template: null,
453
+ },
454
+ 'relationships[].relationshipAttributes[].c__rightFullyQualifiedName': {
455
+ isCreateable: null,
456
+ isUpdateable: null,
457
+ retrieving: true,
458
+ template: null,
459
+ },
439
460
  'relationships[].relationshipID': {
440
461
  isCreateable: null,
441
462
  isUpdateable: null,
@@ -832,5 +853,11 @@ module.exports = {
832
853
  retrieving: true,
833
854
  template: null,
834
855
  },
856
+ r__folder_Path: {
857
+ isCreateable: null,
858
+ isUpdateable: null,
859
+ retrieving: true,
860
+ template: null,
861
+ },
835
862
  },
836
863
  };
@@ -42,11 +42,19 @@ module.exports = {
42
42
  keyField: 'key',
43
43
  nameField: 'name',
44
44
  folderIdField: 'categoryId',
45
- createdDateField: 'createdDate',
46
- createdNameField: 'createdByName',
47
- lastmodDateField: 'lastSavedDate',
48
- lastmodNameField: 'lastSavedByName',
49
- restPagination: false,
45
+ createdDateField: 'createdDate', // only returned by upsert
46
+ createdNameField: 'createdByName', // only returned by upsert
47
+ lastmodDateField: 'lastSavedDate', // only returned by upsert
48
+ lastmodNameField: 'lastSavedByName', // only returned by upsert
49
+ restPagination: true,
50
+ maxKeyLength: 200, // confirmed max length
51
+ scheduleTypeMapping: {
52
+ MINUTELY: 1,
53
+ HOURLY: 2,
54
+ DAILY: 3,
55
+ WEEKLY: 4,
56
+ MONTHLY: 5,
57
+ },
50
58
  statusMapping: {
51
59
  AwaitingTrigger: 7,
52
60
  Building: 1,
@@ -329,37 +337,37 @@ module.exports = {
329
337
  legacyId: {
330
338
  isCreateable: false,
331
339
  isUpdateable: false,
332
- retrieving: true,
340
+ retrieving: false,
333
341
  template: false,
334
342
  },
335
343
  lastSavedDate: {
336
344
  isCreateable: false,
337
345
  isUpdateable: false,
338
- retrieving: true,
346
+ retrieving: false, // only returned by upsert
339
347
  template: false,
340
348
  },
341
349
  lastSavedByName: {
342
350
  isCreateable: false,
343
351
  isUpdateable: false,
344
- retrieving: true,
352
+ retrieving: false, // only returned by upsert
345
353
  template: false,
346
354
  },
347
355
  createdDate: {
348
356
  isCreateable: false,
349
357
  isUpdateable: false,
350
- retrieving: true,
358
+ retrieving: false, // only returned by upsert
351
359
  template: false,
352
360
  },
353
361
  createdByName: {
354
362
  isCreateable: false,
355
363
  isUpdateable: false,
356
- retrieving: true,
364
+ retrieving: false, // only returned by upsertt
357
365
  template: false,
358
366
  },
359
367
  updateInProgress: {
360
368
  isCreateable: false,
361
369
  isUpdateable: false,
362
- retrieving: true,
370
+ retrieving: false,
363
371
  template: false,
364
372
  },
365
373
  name: {
@@ -368,6 +376,45 @@ module.exports = {
368
376
  retrieving: true,
369
377
  template: true,
370
378
  },
379
+ notifications: {
380
+ isCreateable: true,
381
+ isUpdateable: true,
382
+ retrieving: true,
383
+ template: true,
384
+ },
385
+ 'notifications[].email': {
386
+ isCreateable: true,
387
+ isUpdateable: true,
388
+ retrieving: true,
389
+ template: true,
390
+ },
391
+ 'notifications[].message': {
392
+ isCreateable: true,
393
+ isUpdateable: true,
394
+ retrieving: true,
395
+ template: true,
396
+ },
397
+ 'notifications[].channelType': {
398
+ // always 'Account'
399
+ isCreateable: true,
400
+ isUpdateable: true,
401
+ retrieving: false,
402
+ template: false,
403
+ },
404
+ 'notifications[].type': {
405
+ // custom shorthand for channelType
406
+ isCreateable: true,
407
+ isUpdateable: true,
408
+ retrieving: true,
409
+ template: true,
410
+ },
411
+ 'notifications[].notificationType': {
412
+ // Error, Complete
413
+ isCreateable: true,
414
+ isUpdateable: true,
415
+ retrieving: true,
416
+ template: true,
417
+ },
371
418
  startSource: {
372
419
  skipValidation: true,
373
420
  },
@@ -411,7 +458,7 @@ module.exports = {
411
458
  isCreateable: true,
412
459
  isUpdateable: true,
413
460
  retrieving: false,
414
- template: true,
461
+ template: false,
415
462
  },
416
463
  'schedule.scheduleStatus': {
417
464
  isCreateable: false,
@@ -425,11 +472,17 @@ module.exports = {
425
472
  retrieving: true,
426
473
  template: true,
427
474
  },
475
+ 'schedule.statusId': {
476
+ isCreateable: false,
477
+ isUpdateable: false,
478
+ retrieving: false,
479
+ template: false,
480
+ },
428
481
  'schedule.timezoneId': {
429
482
  isCreateable: true,
430
483
  isUpdateable: true,
431
- retrieving: true,
432
- template: true,
484
+ retrieving: false,
485
+ template: false,
433
486
  },
434
487
  'schedule.timezoneName': {
435
488
  isCreateable: true,
@@ -438,10 +491,10 @@ module.exports = {
438
491
  template: true,
439
492
  },
440
493
  'schedule.typeId': {
441
- isCreateable: true,
442
- isUpdateable: true,
443
- retrieving: true,
444
- template: true,
494
+ isCreateable: false,
495
+ isUpdateable: false,
496
+ retrieving: false,
497
+ template: false,
445
498
  },
446
499
  status: {
447
500
  isCreateable: true,
@@ -527,8 +580,8 @@ module.exports = {
527
580
  'steps[].annotation': {
528
581
  isCreateable: true,
529
582
  isUpdateable: true,
530
- retrieving: true,
531
- template: true,
583
+ retrieving: false,
584
+ template: false,
532
585
  },
533
586
  'steps[].id': {
534
587
  isCreateable: true,
@@ -564,7 +617,7 @@ module.exports = {
564
617
  isCreateable: true,
565
618
  isUpdateable: true,
566
619
  retrieving: false,
567
- template: true,
620
+ template: false,
568
621
  },
569
622
  r__folder_Path: { skipValidation: true },
570
623
  },
@@ -96,6 +96,7 @@ module.exports = {
96
96
  lastmodDateField: 'ModifiedDate',
97
97
  lastmodNameField: null,
98
98
  restPagination: false,
99
+ maxKeyLength: 200, // confirmed max length
99
100
  type: 'dataExtension',
100
101
  typeDescription: 'Database table schemas.',
101
102
  typeRetrieveByDefault: true,