mcdev 4.3.4 → 5.0.1

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 (228) hide show
  1. package/.coverage-comment-template.md +20 -0
  2. package/.coverage-comment-template.svelte +178 -0
  3. package/.eslintrc.json +2 -0
  4. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  5. package/.github/workflows/code-test.yml +36 -0
  6. package/.github/workflows/coverage-base-update.yml +57 -0
  7. package/.github/workflows/coverage-develop-branch.yml +41 -0
  8. package/.github/workflows/coverage-main-branch.yml +41 -0
  9. package/.github/workflows/coverage.yml +77 -0
  10. package/.husky/post-checkout +1 -1
  11. package/.prettierrc +1 -1
  12. package/.vscode/extensions.json +0 -4
  13. package/README.md +1 -1
  14. package/boilerplate/config.json +1 -1
  15. package/boilerplate/files/.prettierrc +1 -1
  16. package/boilerplate/files/.vscode/extensions.json +1 -1
  17. package/boilerplate/forcedUpdates.json +4 -0
  18. package/docs/dist/documentation.md +1196 -430
  19. package/lib/Builder.js +6 -1
  20. package/lib/Deployer.js +30 -5
  21. package/lib/MetadataTypeDefinitions.js +8 -6
  22. package/lib/MetadataTypeInfo.js +8 -6
  23. package/lib/cli.js +54 -42
  24. package/lib/index.js +82 -8
  25. package/lib/metadataTypes/Asset.js +73 -1
  26. package/lib/metadataTypes/AttributeGroup.js +0 -1
  27. package/lib/metadataTypes/Automation.js +48 -5
  28. package/lib/metadataTypes/Campaign.js +20 -7
  29. package/lib/metadataTypes/ContentArea.js +1 -1
  30. package/lib/metadataTypes/DataExtension.js +221 -184
  31. package/lib/metadataTypes/DataExtensionField.js +12 -19
  32. package/lib/metadataTypes/DataExtensionTemplate.js +1 -1
  33. package/lib/metadataTypes/DataExtract.js +1 -1
  34. package/lib/metadataTypes/DataExtractType.js +1 -1
  35. package/lib/metadataTypes/Email.js +1 -1
  36. package/lib/metadataTypes/{EmailSendDefinition.js → EmailSend.js} +5 -5
  37. package/lib/metadataTypes/{EventDefinition.js → Event.js} +17 -35
  38. package/lib/metadataTypes/{FtpLocation.js → FileLocation.js} +2 -2
  39. package/lib/metadataTypes/FileTransfer.js +8 -7
  40. package/lib/metadataTypes/Filter.js +1 -1
  41. package/lib/metadataTypes/Folder.js +8 -3
  42. package/lib/metadataTypes/ImportFile.js +6 -6
  43. package/lib/metadataTypes/{Interaction.js → Journey.js} +311 -147
  44. package/lib/metadataTypes/List.js +2 -2
  45. package/lib/metadataTypes/MetadataType.js +318 -90
  46. package/lib/metadataTypes/MobileCode.js +0 -1
  47. package/lib/metadataTypes/MobileKeyword.js +336 -40
  48. package/lib/metadataTypes/MobileMessage.js +473 -0
  49. package/lib/metadataTypes/Query.js +114 -32
  50. package/lib/metadataTypes/Role.js +60 -21
  51. package/lib/metadataTypes/Script.js +2 -3
  52. package/lib/metadataTypes/SendClassification.js +40 -0
  53. package/lib/metadataTypes/SetDefinition.js +1 -7
  54. package/lib/metadataTypes/TransactionalEmail.js +2 -3
  55. package/lib/metadataTypes/TransactionalMessage.js +1 -2
  56. package/lib/metadataTypes/TransactionalSMS.js +8 -15
  57. package/lib/metadataTypes/{TriggeredSendDefinition.js → TriggeredSend.js} +35 -27
  58. package/lib/metadataTypes/User.js +1185 -0
  59. package/lib/metadataTypes/definitions/Asset.definition.js +1 -0
  60. package/lib/metadataTypes/definitions/AttributeGroup.definition.js +1 -0
  61. package/lib/metadataTypes/definitions/Automation.definition.js +3 -2
  62. package/lib/metadataTypes/definitions/Campaign.definition.js +79 -4
  63. package/lib/metadataTypes/definitions/ContentArea.definition.js +1 -0
  64. package/lib/metadataTypes/definitions/DataExtension.definition.js +2 -1
  65. package/lib/metadataTypes/definitions/DataExtensionField.definition.js +1 -0
  66. package/lib/metadataTypes/definitions/DataExtensionTemplate.definition.js +1 -0
  67. package/lib/metadataTypes/definitions/DataExtract.definition.js +1 -0
  68. package/lib/metadataTypes/definitions/DataExtractType.definition.js +1 -0
  69. package/lib/metadataTypes/definitions/Discovery.definition.js +1 -0
  70. package/lib/metadataTypes/definitions/Email.definition.js +1 -0
  71. package/lib/metadataTypes/definitions/{EmailSendDefinition.definition.js → EmailSend.definition.js} +4 -2
  72. package/lib/metadataTypes/definitions/{EventDefinition.definition.js → Event.definition.js} +2 -1
  73. package/lib/metadataTypes/definitions/{FtpLocation.definition.js → FileLocation.definition.js} +4 -3
  74. package/lib/metadataTypes/definitions/FileTransfer.definition.js +3 -2
  75. package/lib/metadataTypes/definitions/Filter.definition.js +1 -0
  76. package/lib/metadataTypes/definitions/Folder.definition.js +2 -0
  77. package/lib/metadataTypes/definitions/ImportFile.definition.js +4 -3
  78. package/lib/metadataTypes/definitions/{Interaction.definition.js → Journey.definition.js} +11 -2
  79. package/lib/metadataTypes/definitions/List.definition.js +1 -0
  80. package/lib/metadataTypes/definitions/MobileCode.definition.js +3 -1
  81. package/lib/metadataTypes/definitions/MobileKeyword.definition.js +27 -17
  82. package/lib/metadataTypes/definitions/MobileMessage.definition.js +743 -0
  83. package/lib/metadataTypes/definitions/Query.definition.js +3 -2
  84. package/lib/metadataTypes/definitions/Role.definition.js +5 -0
  85. package/lib/metadataTypes/definitions/Script.definition.js +1 -0
  86. package/lib/metadataTypes/definitions/SendClassification.definition.js +114 -0
  87. package/lib/metadataTypes/definitions/SetDefinition.definition.js +1 -0
  88. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +2 -1
  89. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +1 -0
  90. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +1 -0
  91. package/lib/metadataTypes/definitions/{TriggeredSendDefinition.definition.js → TriggeredSend.definition.js} +5 -3
  92. package/lib/metadataTypes/definitions/User.definition.js +365 -0
  93. package/lib/retrieveChangelog.js +1 -2
  94. package/lib/util/auth.js +38 -9
  95. package/lib/util/businessUnit.js +3 -3
  96. package/lib/util/cli.js +55 -7
  97. package/lib/util/devops.js +6 -4
  98. package/lib/util/file.js +55 -13
  99. package/lib/util/init.config.js +1 -2
  100. package/lib/util/init.npm.js +3 -3
  101. package/lib/util/util.js +23 -14
  102. package/package.json +16 -15
  103. package/test/general.test.js +62 -0
  104. package/test/mockRoot/.mcdevrc.json +7 -5
  105. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testBlocked_user.user-meta.json +23 -0
  106. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testExisting_user.user-meta.json +31 -0
  107. package/test/mockRoot/deploy/testInstance/_ParentBU_/user/testNew_user.user-meta.json +27 -0
  108. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/{childBU_dataextension_test.dataExtension-meta.json → testExisting_dataExtension.dataExtension-meta.json} +2 -2
  109. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/{testDataExtension.dataExtension-meta.json → testNew_dataExtension.dataExtension-meta.json} +2 -2
  110. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_interaction.interaction-meta.json +576 -0
  111. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword.mobileKeyword-meta.amp +2 -0
  112. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword.mobileKeyword-meta.json +10 -0
  113. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword_blocked.mobileKeyword-meta.amp +2 -0
  114. package/test/mockRoot/deploy/testInstance/testBU/mobileKeyword/testNew_keyword_blocked.mobileKeyword-meta.json +10 -0
  115. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.amp +1 -0
  116. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/NTIzOjc4OjA.mobileMessage-meta.json +61 -0
  117. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.amp +1 -0
  118. package/test/mockRoot/deploy/testInstance/testBU/mobileMessage/new.mobileMessage-meta.json +60 -0
  119. package/test/mockRoot/deploy/testInstance/testBU/query/testExistingQuery.query-meta.json +1 -1
  120. package/test/mockRoot/deploy/testInstance/testBU/query/testNewQuery.query-meta.json +1 -1
  121. package/test/mockRoot/deploy/testInstance/testBU/query/testNewQuery.query-meta.sql +1 -1
  122. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +1 -1
  123. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +1 -1
  124. package/test/resourceFactory.js +13 -0
  125. package/test/resources/1111111/accountUser/configure-response.xml +70 -0
  126. package/test/resources/1111111/accountUser/create-response.xml +97 -0
  127. package/test/resources/1111111/accountUser/retrieve-response.xml +156 -0
  128. package/test/resources/1111111/accountUser/update-response.xml +111 -0
  129. package/test/resources/1111111/accountUserAccount/retrieve-response.xml +77 -0
  130. package/test/resources/1111111/platform/v1/setup/quickflow/data/get-response.json +455 -0
  131. package/test/resources/1111111/role/retrieve-response.xml +76 -0
  132. package/test/resources/1111111/user/build-expected.json +16 -0
  133. package/test/resources/1111111/user/create-expected.json +21 -0
  134. package/test/resources/1111111/user/retrieve-expected.json +24 -0
  135. package/test/resources/1111111/user/template-expected.json +16 -0
  136. package/test/resources/1111111/user/update-expected.json +21 -0
  137. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/delete-response.json +1 -0
  138. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/get-response.json +17 -0
  139. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +3 -3
  140. package/test/resources/9999999/automation/v1/queries/get-response.json +21 -4
  141. package/test/resources/9999999/automation/v1/queries/post-response.json +4 -4
  142. package/test/resources/9999999/data/v1/customobjectdata/key/{childBU_dataextension_test → testExisting_dataExtension}/rowset/get-response.json +1 -1
  143. package/test/resources/9999999/dataExtension/build-expected.json +3 -3
  144. package/test/resources/9999999/dataExtension/create-expected.json +2 -2
  145. package/test/resources/9999999/dataExtension/create-response.xml +8 -3
  146. package/test/resources/9999999/dataExtension/retrieve-expected.json +3 -3
  147. package/test/resources/9999999/dataExtension/retrieve-response.xml +9 -4
  148. package/test/resources/9999999/dataExtension/template-expected.json +3 -3
  149. package/test/resources/9999999/dataExtension/update-expected.json +3 -3
  150. package/test/resources/9999999/dataExtension/update-response.xml +9 -4
  151. package/test/resources/9999999/dataExtensionField/retrieve-response.xml +14 -9
  152. package/test/resources/9999999/interaction/v1/interactions/get-response.json +312 -0
  153. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/get-response.json +312 -0
  154. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_interaction/put-response.json +592 -0
  155. package/test/resources/9999999/journey/build-expected.json +572 -0
  156. package/test/resources/9999999/journey/get-expected.json +576 -0
  157. package/test/resources/9999999/journey/put-expected.json +576 -0
  158. package/test/resources/9999999/journey/template-expected.json +572 -0
  159. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/NXV4ZFMwTEFwRVczd3RaLUF5X3p5dzo4Njow/get-response.json +42 -0
  160. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/cTVJaG5oSDJPVUNHcUh6Z3pQT2tVdzo4Njow/delete-response.json +0 -0
  161. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +1 -0
  162. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/post-response.json +3 -0
  163. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/delete-response.json +0 -0
  164. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/get-response.json +106 -0
  165. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTIzOjc4OjA/post-response.json +0 -0
  166. package/test/resources/9999999/legacy/v1/beta/mobile/message/NTQ3Ojc4OjA/get-response.json +127 -0
  167. package/test/resources/9999999/legacy/v1/beta/mobile/message/get-response.json +129 -0
  168. package/test/resources/9999999/legacy/v1/beta/mobile/message/post-response.json +3 -0
  169. package/test/resources/9999999/legacy/v1/beta2/data/campaign/get-response.json +29 -0
  170. package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +1 -1
  171. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +1 -1
  172. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +1 -1
  173. package/test/resources/9999999/mobileKeyword/build-expected.amp +2 -0
  174. package/test/resources/9999999/mobileKeyword/build-expected.json +9 -0
  175. package/test/resources/9999999/mobileKeyword/get-expected.amp +2 -0
  176. package/test/resources/9999999/mobileKeyword/get-expected.json +15 -0
  177. package/test/resources/9999999/mobileKeyword/post-create-expected.amp +2 -0
  178. package/test/resources/9999999/mobileKeyword/post-create-expected.json +17 -0
  179. package/test/resources/9999999/mobileKeyword/template-expected.amp +2 -0
  180. package/test/resources/9999999/mobileKeyword/template-expected.json +9 -0
  181. package/test/resources/9999999/mobileMessage/build-expected.amp +1 -0
  182. package/test/resources/9999999/mobileMessage/build-expected.json +60 -0
  183. package/test/resources/9999999/mobileMessage/get-expected.amp +1 -0
  184. package/test/resources/9999999/mobileMessage/get-expected.json +61 -0
  185. package/test/resources/9999999/mobileMessage/post-create-expected.amp +1 -0
  186. package/test/resources/9999999/mobileMessage/post-create-expected.json +63 -0
  187. package/test/resources/9999999/mobileMessage/post-update-expected.amp +1 -0
  188. package/test/resources/9999999/mobileMessage/post-update-expected.json +61 -0
  189. package/test/resources/9999999/mobileMessage/template-expected.amp +1 -0
  190. package/test/resources/9999999/mobileMessage/template-expected.json +60 -0
  191. package/test/resources/9999999/query/build-expected.json +1 -1
  192. package/test/resources/9999999/query/get-expected.json +1 -1
  193. package/test/resources/9999999/query/get2-expected.json +11 -0
  194. package/test/resources/9999999/query/patch-expected.json +1 -1
  195. package/test/resources/9999999/query/post-expected.json +1 -1
  196. package/test/resources/9999999/query/template-expected.json +1 -1
  197. package/test/resources/9999999/queryDefinition/retrieve-response.xml +30 -0
  198. package/test/resources/9999999/transactionalEmail/build-expected.json +5 -5
  199. package/test/resources/9999999/transactionalEmail/get-expected.json +1 -1
  200. package/test/resources/9999999/transactionalEmail/patch-expected.json +1 -1
  201. package/test/resources/9999999/transactionalEmail/post-expected.json +1 -1
  202. package/test/resources/9999999/transactionalEmail/template-expected.json +5 -5
  203. package/test/resources/9999999/transactionalPush/build-expected.json +2 -2
  204. package/test/resources/9999999/transactionalPush/template-expected.json +2 -2
  205. package/test/resources/9999999/transactionalSMS/build-expected.json +3 -3
  206. package/test/resources/9999999/transactionalSMS/template-expected.json +3 -3
  207. package/test/{dataExtension.test.js → type.dataExtension.test.js} +78 -21
  208. package/test/{interaction.test.js → type.journey.test.js} +64 -30
  209. package/test/type.mobileKeyword.test.js +250 -0
  210. package/test/type.mobileMessage.test.js +205 -0
  211. package/test/{query.test.js → type.query.test.js} +102 -5
  212. package/test/{transactionalEmail.test.js → type.transactionalEmail.test.js} +40 -2
  213. package/test/{transactionalPush.test.js → type.transactionalPush.test.js} +41 -2
  214. package/test/{transactionalSMS.test.js → type.transactionalSMS.test.js} +73 -3
  215. package/test/type.user.test.js +160 -0
  216. package/test/utils.js +17 -5
  217. package/types/mcdev.d.js +48 -15
  218. package/.github/workflows/code-analysis.yml +0 -57
  219. package/lib/metadataTypes/AccountUser.js +0 -426
  220. package/lib/metadataTypes/definitions/AccountUser.definition.js +0 -227
  221. package/test/mockRoot/deploy/testInstance/testBU/interaction/testExisting_interaction.interaction-meta.json +0 -266
  222. package/test/resources/9999999/interaction/build-expected.json +0 -260
  223. package/test/resources/9999999/interaction/get-expected.json +0 -264
  224. package/test/resources/9999999/interaction/put-expected.json +0 -264
  225. package/test/resources/9999999/interaction/template-expected.json +0 -260
  226. package/test/resources/9999999/interaction/v1/interactions/put-response.json +0 -280
  227. /package/test/mockRoot/deploy/testInstance/testBU/{interaction → journey}/testNew_interaction.interaction-meta.json +0 -0
  228. /package/test/resources/9999999/{interaction → journey}/post-expected.json +0 -0
@@ -0,0 +1,743 @@
1
+ module.exports = {
2
+ bodyIteratorField: 'entry',
3
+ dependencies: ['mobileCode', 'mobileKeyword', 'campaign'],
4
+ hasExtended: false,
5
+ idField: 'id',
6
+ keepId: true,
7
+ keyIsFixed: true, // key == id
8
+ keyField: 'id',
9
+ nameField: 'name',
10
+ createdDateField: null,
11
+ createdNameField: null,
12
+ lastmodDateField: 'lastUpdated',
13
+ lastmodNameField: null,
14
+ restPagination: true,
15
+ restPageSize: 50,
16
+ type: 'mobileMessage',
17
+ typeDescription:
18
+ 'Used by Journey Builder and to send SMS from MobileConnect triggered by API or manually on-the-fly',
19
+ typeRetrieveByDefault: true,
20
+ typeName: 'MobileConnect SMS',
21
+ fields: {
22
+ allowSingleOptin: {
23
+ isCreatable: true,
24
+ isUpdatable: true,
25
+ retrieving: true,
26
+ template: true,
27
+ },
28
+ audience: {
29
+ skipValidation: true,
30
+ },
31
+ 'audience[]': {
32
+ skipValidation: true,
33
+ },
34
+ campaigns: {
35
+ skipValidation: true,
36
+ },
37
+ 'campaigns[]': {
38
+ skipValidation: true,
39
+ },
40
+ 'code.code': {
41
+ isCreateable: true,
42
+ isUpdateable: true,
43
+ retrieving: true,
44
+ template: true,
45
+ },
46
+ 'code.codeType': {
47
+ isCreateable: true,
48
+ isUpdateable: true,
49
+ retrieving: false,
50
+ template: false,
51
+ },
52
+ 'code.countryCode': {
53
+ isCreateable: true,
54
+ isUpdateable: true,
55
+ retrieving: false,
56
+ template: false,
57
+ },
58
+ 'code.createdDate': {
59
+ isCreateable: true,
60
+ isUpdateable: true,
61
+ retrieving: false,
62
+ template: false,
63
+ },
64
+ 'code.dipSwitches': {
65
+ isCreateable: true,
66
+ isUpdateable: true,
67
+ retrieving: false,
68
+ template: false,
69
+ },
70
+ 'code.endDate': {
71
+ isCreateable: true,
72
+ isUpdateable: true,
73
+ retrieving: false,
74
+ template: false,
75
+ },
76
+ 'code.id': {
77
+ isCreateable: true,
78
+ isUpdateable: true,
79
+ retrieving: false,
80
+ template: false,
81
+ },
82
+ 'code.isClientOwned': {
83
+ isCreateable: true,
84
+ isUpdateable: true,
85
+ retrieving: false,
86
+ template: false,
87
+ },
88
+ 'code.isGsmCharacterSetOnly': {
89
+ isCreateable: true,
90
+ isUpdateable: true,
91
+ retrieving: false,
92
+ template: false,
93
+ },
94
+ 'code.isMms': {
95
+ isCreateable: true,
96
+ isUpdateable: true,
97
+ retrieving: false,
98
+ template: false,
99
+ },
100
+ 'code.isOwner': {
101
+ isCreateable: true,
102
+ isUpdateable: true,
103
+ retrieving: false,
104
+ template: false,
105
+ },
106
+ 'code.isShortCode': {
107
+ isCreateable: true,
108
+ isUpdateable: true,
109
+ retrieving: false,
110
+ template: false,
111
+ },
112
+ 'code.isStackIndependant': {
113
+ isCreateable: true,
114
+ isUpdateable: true,
115
+ retrieving: false,
116
+ template: false,
117
+ },
118
+ 'code.keywordLimit': {
119
+ isCreateable: true,
120
+ isUpdateable: true,
121
+ retrieving: false,
122
+ template: false,
123
+ },
124
+ 'code.keywordsUsed': {
125
+ isCreateable: true,
126
+ isUpdateable: true,
127
+ retrieving: false,
128
+ template: false,
129
+ },
130
+ 'code.keywordsUsedOther': {
131
+ isCreateable: true,
132
+ isUpdateable: true,
133
+ retrieving: false,
134
+ template: false,
135
+ },
136
+ 'code.lastUpdated': {
137
+ isCreateable: true,
138
+ isUpdateable: true,
139
+ retrieving: false,
140
+ template: false,
141
+ },
142
+ 'code.moEngineVersion': {
143
+ isCreateable: true,
144
+ isUpdateable: true,
145
+ retrieving: false,
146
+ template: false,
147
+ },
148
+ 'code.sendableCountries': {
149
+ isCreateable: true,
150
+ isUpdateable: true,
151
+ retrieving: false,
152
+ template: false,
153
+ },
154
+ 'code.sendableCountries[]': {
155
+ isCreateable: true,
156
+ isUpdateable: true,
157
+ retrieving: false,
158
+ template: false,
159
+ },
160
+ 'code.sendableCountries[].countryCode': {
161
+ isCreateable: true,
162
+ isUpdateable: true,
163
+ retrieving: false,
164
+ template: false,
165
+ },
166
+ 'code.sendableCountries[].vendor': {
167
+ isCreateable: true,
168
+ isUpdateable: true,
169
+ retrieving: false,
170
+ template: false,
171
+ },
172
+ 'code.sendableCountries[].fromNameSupported': {
173
+ isCreateable: true,
174
+ isUpdateable: true,
175
+ retrieving: false,
176
+ template: false,
177
+ },
178
+ 'code.startDate': {
179
+ isCreateable: true,
180
+ isUpdateable: true,
181
+ retrieving: false,
182
+ template: false,
183
+ },
184
+ 'code.supportsConcatenation': {
185
+ isCreateable: true,
186
+ isUpdateable: true,
187
+ retrieving: false,
188
+ template: false,
189
+ },
190
+ concatenateMessage: {
191
+ isCreatable: true,
192
+ isUpdatable: true,
193
+ retrieving: true,
194
+ template: true,
195
+ },
196
+ currentEditStep: {
197
+ isCreatable: false,
198
+ isUpdatable: false,
199
+ retrieving: false,
200
+ template: false,
201
+ },
202
+ doubleOptinConfirmMessage: {
203
+ isCreatable: true,
204
+ isUpdatable: true,
205
+ retrieving: true,
206
+ template: true,
207
+ },
208
+ doubleOptinInitialMessage: {
209
+ isCreatable: true,
210
+ isUpdatable: true,
211
+ retrieving: true,
212
+ template: true,
213
+ },
214
+ doubleOptinValidResponses: {
215
+ isCreatable: true,
216
+ isUpdatable: true,
217
+ retrieving: true,
218
+ template: true,
219
+ },
220
+ duplicateOptInResponseMessage: {
221
+ isCreatable: true,
222
+ isUpdatable: true,
223
+ retrieving: true,
224
+ template: true,
225
+ },
226
+ expireHours: {
227
+ isCreatable: true,
228
+ isUpdatable: true,
229
+ retrieving: true,
230
+ template: true,
231
+ },
232
+ fromName: {
233
+ isCreatable: true,
234
+ isUpdatable: true,
235
+ retrieving: true,
236
+ template: true,
237
+ },
238
+ id: {
239
+ isCreateable: false,
240
+ isUpdateable: true,
241
+ retrieving: true,
242
+ template: true,
243
+ },
244
+ invalidMessage: {
245
+ isCreateable: true,
246
+ isUpdateable: true,
247
+ retrieving: true,
248
+ template: true,
249
+ },
250
+ isCertified: {
251
+ isCreatable: true,
252
+ isUpdatable: true,
253
+ retrieving: true,
254
+ template: true,
255
+ },
256
+ isDuplicationAllowed: {
257
+ isCreatable: true,
258
+ isUpdatable: true,
259
+ retrieving: true,
260
+ template: true,
261
+ },
262
+ isExpireSet: {
263
+ isCreatable: true,
264
+ isUpdatable: true,
265
+ retrieving: true,
266
+ template: true,
267
+ },
268
+ isFromNameCertificationAccepted: {
269
+ isCreatable: true,
270
+ isUpdatable: true,
271
+ retrieving: true,
272
+ template: true,
273
+ },
274
+ isSentImmediately: {
275
+ isCreatable: true,
276
+ isUpdatable: true,
277
+ retrieving: true,
278
+ template: true,
279
+ },
280
+ isSubscriberResponseToAnySubscriptionForShortCode: {
281
+ isCreatable: true,
282
+ isUpdatable: true,
283
+ retrieving: true,
284
+ template: true,
285
+ },
286
+ isSuppressMt: {
287
+ isCreatable: true,
288
+ isUpdatable: true,
289
+ retrieving: true,
290
+ template: true,
291
+ },
292
+ isTest: {
293
+ isCreatable: true,
294
+ isUpdatable: true,
295
+ retrieving: true,
296
+ template: true,
297
+ },
298
+ isTimeZoneBased: {
299
+ isCreatable: true,
300
+ isUpdatable: true,
301
+ retrieving: true,
302
+ template: true,
303
+ },
304
+ 'keyword.id': {
305
+ isCreateable: true,
306
+ isUpdateable: true,
307
+ retrieving: false,
308
+ template: false,
309
+ },
310
+ 'keyword.isInherited': {
311
+ isCreateable: true,
312
+ isUpdateable: true,
313
+ retrieving: false,
314
+ template: false,
315
+ },
316
+ 'keyword.keyword': {
317
+ isCreateable: true,
318
+ isUpdateable: true,
319
+ retrieving: true,
320
+ template: true,
321
+ },
322
+ 'keyword.keywordType': {
323
+ isCreateable: true,
324
+ isUpdateable: true,
325
+ retrieving: false,
326
+ template: false,
327
+ },
328
+ 'keyword.restriction': {
329
+ isCreateable: true,
330
+ isUpdateable: true,
331
+ retrieving: false,
332
+ template: false,
333
+ },
334
+ lastUpdated: {
335
+ isCreateable: false,
336
+ isUpdateable: true,
337
+ retrieving: true,
338
+ template: false,
339
+ },
340
+ messageObjectId: {
341
+ isCreatable: true,
342
+ isUpdatable: true,
343
+ retrieving: true,
344
+ template: true,
345
+ },
346
+ messagesPerPeriod: {
347
+ isCreatable: true,
348
+ isUpdatable: true,
349
+ retrieving: true,
350
+ template: true,
351
+ },
352
+ minutesPerPeriod: {
353
+ isCreatable: true,
354
+ isUpdatable: true,
355
+ retrieving: true,
356
+ template: true,
357
+ },
358
+ moStartDate: {
359
+ isCreatable: true,
360
+ isUpdatable: true,
361
+ retrieving: true,
362
+ template: true,
363
+ },
364
+ moEndDate: {
365
+ isCreatable: true,
366
+ isUpdatable: true,
367
+ retrieving: true,
368
+ template: true,
369
+ },
370
+ 'moTimezone.name': {
371
+ isCreatable: true,
372
+ isUpdatable: true,
373
+ retrieving: true,
374
+ template: true,
375
+ },
376
+ 'moTimezone.offset': {
377
+ isCreatable: true,
378
+ isUpdatable: true,
379
+ retrieving: true,
380
+ template: true,
381
+ },
382
+ 'mtRecurrence.id': {
383
+ isCreatable: true,
384
+ isUpdatable: true,
385
+ retrieving: true,
386
+ template: true,
387
+ },
388
+ 'mtRecurrence.key': {
389
+ isCreatable: true,
390
+ isUpdatable: true,
391
+ retrieving: true,
392
+ template: true,
393
+ },
394
+ 'mtRecurrence.createdDate': {
395
+ isCreatable: false,
396
+ isUpdatable: false,
397
+ retrieving: true,
398
+ template: false,
399
+ },
400
+ 'mtRecurrence.createdBy': {
401
+ isCreatable: false,
402
+ isUpdatable: false,
403
+ retrieving: false,
404
+ template: false,
405
+ },
406
+ 'mtRecurrence.lastUpdated': {
407
+ isCreatable: false,
408
+ isUpdatable: false,
409
+ retrieving: true,
410
+ template: false,
411
+ },
412
+ 'mtRecurrence.lastUpdatedBy': {
413
+ isCreatable: false,
414
+ isUpdatable: false,
415
+ retrieving: false,
416
+ template: false,
417
+ },
418
+ 'mtRecurrence.name': {
419
+ isCreatable: true,
420
+ isUpdatable: true,
421
+ retrieving: true,
422
+ template: true,
423
+ },
424
+ 'mtRecurrence.description': {
425
+ isCreatable: true,
426
+ isUpdatable: true,
427
+ retrieving: true,
428
+ template: true,
429
+ },
430
+ 'mtRecurrence.startDate': {
431
+ isCreatable: true,
432
+ isUpdatable: true,
433
+ retrieving: true,
434
+ template: true,
435
+ },
436
+ 'mtRecurrence.iCalRecur': {
437
+ isCreatable: true,
438
+ isUpdatable: true,
439
+ retrieving: true,
440
+ template: true,
441
+ },
442
+ 'mtRecurrence.timeZone': {
443
+ isCreatable: true,
444
+ isUpdatable: true,
445
+ retrieving: true,
446
+ template: true,
447
+ },
448
+ 'mtRecurrence.timeZoneId': {
449
+ isCreatable: true,
450
+ isUpdatable: true,
451
+ retrieving: true,
452
+ template: true,
453
+ },
454
+ mtSendDate: {
455
+ isCreatable: true,
456
+ isUpdatable: true,
457
+ retrieving: true,
458
+ template: true,
459
+ },
460
+ name: {
461
+ isCreateable: true,
462
+ isUpdateable: true,
463
+ retrieving: true,
464
+ template: true,
465
+ },
466
+ nextJob: {
467
+ // contains lots of info but deemed not needed for retrieving or deploying
468
+ isCreateable: false,
469
+ isUpdateable: false,
470
+ retrieving: false,
471
+ template: false,
472
+ },
473
+ nextKeyword: {
474
+ // contains lots of info but deemed not needed for retrieving or deploying
475
+ isCreateable: false,
476
+ isUpdateable: false,
477
+ retrieving: false,
478
+ template: false,
479
+ },
480
+ numberMessagesPerPeriod: {
481
+ isCreatable: true,
482
+ isUpdatable: true,
483
+ retrieving: true,
484
+ template: true,
485
+ },
486
+ optinErrorMessage: {
487
+ isCreatable: true,
488
+ isUpdatable: true,
489
+ retrieving: true,
490
+ template: true,
491
+ },
492
+ optinInvalidAgeMessage: {
493
+ isCreatable: true,
494
+ isUpdatable: true,
495
+ retrieving: true,
496
+ template: true,
497
+ },
498
+ optinMinimumAge: {
499
+ isCreatable: true,
500
+ isUpdatable: true,
501
+ retrieving: true,
502
+ template: true,
503
+ },
504
+ optinType: {
505
+ isCreatable: true,
506
+ isUpdatable: true,
507
+ retrieving: true,
508
+ template: true,
509
+ },
510
+ origin: {
511
+ isCreateable: true,
512
+ isUpdateable: true,
513
+ retrieving: true,
514
+ template: true,
515
+ },
516
+ outboundSendBehaviorFlag: {
517
+ isCreatable: true,
518
+ isUpdatable: true,
519
+ retrieving: true,
520
+ template: true,
521
+ },
522
+ outboundSendTypeFlag: {
523
+ isCreatable: true,
524
+ isUpdatable: true,
525
+ retrieving: true,
526
+ template: true,
527
+ },
528
+ periodType: {
529
+ isCreatable: true,
530
+ isUpdatable: true,
531
+ retrieving: true,
532
+ template: true,
533
+ },
534
+ programId: {
535
+ // always "00000000-0000-0000-0000-000000000000"
536
+ isCreatable: false,
537
+ isUpdatable: false,
538
+ retrieving: false,
539
+ template: false,
540
+ },
541
+ publishedMessage: {
542
+ isCreateable: true,
543
+ isUpdateable: true,
544
+ retrieving: true,
545
+ template: true,
546
+ },
547
+ responseMessage: {
548
+ isCreateable: true,
549
+ isUpdateable: true,
550
+ retrieving: true,
551
+ template: true,
552
+ },
553
+ sendMethod: {
554
+ isCreatable: true,
555
+ isUpdatable: true,
556
+ retrieving: true,
557
+ template: true,
558
+ },
559
+ smsTriggeredSendDefinitionId: {
560
+ // if no value then it's set to "00000000-0000-0000-0000-000000000000"
561
+ isCreatable: true,
562
+ isUpdatable: true,
563
+ retrieving: true,
564
+ template: true,
565
+ },
566
+ statistics: {
567
+ // not relevant for deployment or configuration
568
+ isCreateable: false,
569
+ isUpdateable: false,
570
+ retrieving: false,
571
+ template: false,
572
+ },
573
+ 'statistics.outbound': {
574
+ // not relevant for deployment or configuration
575
+ isCreateable: false,
576
+ isUpdateable: false,
577
+ retrieving: false,
578
+ template: false,
579
+ },
580
+ 'statistics.outbound.sent': {
581
+ // not relevant for deployment or configuration
582
+ isCreateable: false,
583
+ isUpdateable: false,
584
+ retrieving: false,
585
+ template: false,
586
+ },
587
+ 'statistics.outbound.delivered': {
588
+ // not relevant for deployment or configuration
589
+ isCreateable: false,
590
+ isUpdateable: false,
591
+ retrieving: false,
592
+ template: false,
593
+ },
594
+ 'statistics.outbound.undelivered': {
595
+ // not relevant for deployment or configuration
596
+ isCreateable: false,
597
+ isUpdateable: false,
598
+ retrieving: false,
599
+ template: false,
600
+ },
601
+ 'statistics.outbound.unknown': {
602
+ // not relevant for deployment or configuration
603
+ isCreateable: false,
604
+ isUpdateable: false,
605
+ retrieving: false,
606
+ template: false,
607
+ },
608
+ status: {
609
+ isCreateable: true,
610
+ isUpdateable: true,
611
+ retrieving: true,
612
+ template: true,
613
+ },
614
+ statusId: {
615
+ isCreatable: true,
616
+ isUpdatable: true,
617
+ retrieving: true,
618
+ template: true,
619
+ },
620
+ 'subscriptionKeyword.id': {
621
+ isCreatable: true,
622
+ isUpdatable: true,
623
+ retrieving: true,
624
+ template: true,
625
+ },
626
+ 'subscriptionKeyword.keyword': {
627
+ isCreatable: true,
628
+ isUpdatable: true,
629
+ retrieving: true,
630
+ template: true,
631
+ },
632
+ 'subscriptionKeyword.restriction': {
633
+ isCreatable: true,
634
+ isUpdatable: true,
635
+ retrieving: true,
636
+ template: true,
637
+ },
638
+ 'subscriptionKeyword.isInherited': {
639
+ isCreatable: true,
640
+ isUpdatable: true,
641
+ retrieving: true,
642
+ template: true,
643
+ },
644
+ subscriberResponseMessage: {
645
+ isCreatable: true,
646
+ isUpdatable: true,
647
+ retrieving: true,
648
+ template: true,
649
+ },
650
+ surveyCorrectResponseMessage: {
651
+ isCreatable: true,
652
+ isUpdatable: true,
653
+ retrieving: true,
654
+ template: true,
655
+ },
656
+ surveyIncorrectResponseMessage: {
657
+ isCreatable: true,
658
+ isUpdatable: true,
659
+ retrieving: true,
660
+ template: true,
661
+ },
662
+ surveyResponsesAllowed: {
663
+ isCreatable: true,
664
+ isUpdatable: true,
665
+ retrieving: true,
666
+ template: true,
667
+ },
668
+ surveyTooManyEntriesMessage: {
669
+ isCreatable: true,
670
+ isUpdatable: true,
671
+ retrieving: true,
672
+ template: true,
673
+ },
674
+ surveyType: {
675
+ isCreatable: true,
676
+ isUpdatable: true,
677
+ retrieving: true,
678
+ template: true,
679
+ },
680
+ 'template.description': {
681
+ isCreatable: true,
682
+ isUpdatable: true,
683
+ retrieving: true,
684
+ template: true,
685
+ },
686
+ 'template.icon': {
687
+ isCreatable: true,
688
+ isUpdatable: true,
689
+ retrieving: true,
690
+ template: true,
691
+ },
692
+ 'template.id': {
693
+ isCreatable: true,
694
+ isUpdatable: true,
695
+ retrieving: true,
696
+ template: true,
697
+ },
698
+ 'template.lastUpdated': {
699
+ isCreatable: true,
700
+ isUpdatable: true,
701
+ retrieving: true,
702
+ template: true,
703
+ },
704
+ 'template.name': {
705
+ isCreatable: true,
706
+ isUpdatable: true,
707
+ retrieving: true,
708
+ template: true,
709
+ },
710
+ text: {
711
+ isCreateable: true,
712
+ isUpdateable: true,
713
+ retrieving: true,
714
+ template: true,
715
+ },
716
+ triggeredSendId: {
717
+ // always "00000000-0000-0000-0000-000000000000"
718
+ isCreatable: false,
719
+ isUpdatable: false,
720
+ retrieving: false,
721
+ template: false,
722
+ },
723
+ triggeredSendName: {
724
+ isCreatable: true,
725
+ isUpdatable: true,
726
+ retrieving: true,
727
+ template: true,
728
+ },
729
+ type: {
730
+ isCreateable: true,
731
+ isUpdateable: true,
732
+ retrieving: true,
733
+ template: true,
734
+ },
735
+ c__campaignNames: {
736
+ isCreateable: false,
737
+ isUpdateable: false,
738
+ retrieving: true,
739
+ template: true,
740
+ },
741
+ 'c__campaignNames[]': { skipValidation: true },
742
+ },
743
+ };