mcdev 7.2.0 → 7.3.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 (76) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  2. package/.vscode/settings.json +1 -1
  3. package/@types/lib/Builder.d.ts +4 -4
  4. package/@types/lib/Builder.d.ts.map +1 -1
  5. package/@types/lib/index.d.ts +26 -13
  6. package/@types/lib/index.d.ts.map +1 -1
  7. package/@types/lib/metadataTypes/Event.d.ts +52 -4
  8. package/@types/lib/metadataTypes/Event.d.ts.map +1 -1
  9. package/@types/lib/metadataTypes/Journey.d.ts +2 -3
  10. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  11. package/@types/lib/metadataTypes/MetadataType.d.ts +7 -0
  12. package/@types/lib/metadataTypes/MetadataType.d.ts.map +1 -1
  13. package/@types/lib/metadataTypes/SendClassification.d.ts.map +1 -1
  14. package/@types/lib/metadataTypes/TriggeredSend.d.ts.map +1 -1
  15. package/@types/types/mcdev.d.d.ts +123 -0
  16. package/@types/types/mcdev.d.d.ts.map +1 -1
  17. package/boilerplate/files/.vscode/settings.json +2 -3
  18. package/boilerplate/forcedUpdates.json +4 -0
  19. package/eslint.config.js +1 -1
  20. package/lib/Builder.js +45 -26
  21. package/lib/cli.js +67 -5
  22. package/lib/index.js +117 -48
  23. package/lib/metadataTypes/Asset.js +1 -1
  24. package/lib/metadataTypes/Automation.js +5 -5
  25. package/lib/metadataTypes/DataExtract.js +1 -1
  26. package/lib/metadataTypes/Event.js +525 -5
  27. package/lib/metadataTypes/FileTransfer.js +1 -1
  28. package/lib/metadataTypes/ImportFile.js +1 -1
  29. package/lib/metadataTypes/Journey.js +144 -33
  30. package/lib/metadataTypes/MetadataType.js +16 -2
  31. package/lib/metadataTypes/MobileKeyword.js +1 -1
  32. package/lib/metadataTypes/Query.js +1 -1
  33. package/lib/metadataTypes/Script.js +1 -1
  34. package/lib/metadataTypes/SendClassification.js +10 -8
  35. package/lib/metadataTypes/TriggeredSend.js +18 -16
  36. package/lib/metadataTypes/definitions/DataExtension.definition.js +4 -4
  37. package/lib/metadataTypes/definitions/EmailSend.definition.js +4 -4
  38. package/lib/metadataTypes/definitions/Event.definition.js +92 -92
  39. package/lib/metadataTypes/definitions/Journey.definition.js +1 -0
  40. package/lib/metadataTypes/definitions/Role.definition.js +4 -4
  41. package/lib/metadataTypes/definitions/SendClassification.definition.js +7 -7
  42. package/lib/metadataTypes/definitions/SenderProfile.definition.js +4 -4
  43. package/lib/metadataTypes/definitions/TriggeredSend.definition.js +11 -11
  44. package/package.json +1 -1
  45. package/test/general.test.js +20 -20
  46. package/test/mockRoot/.mcdevrc.json +1 -1
  47. package/test/resourceFactory.js +5 -1
  48. package/test/resources/9999999/dataExtension/update-callout-afterCreatedViaEvent-expected.xml +1 -1
  49. package/test/resources/9999999/sendClassification/create-response.xml +1 -1
  50. package/test/resources/9999999/sendClassification/retrieve-response.xml +2 -2
  51. package/test/resources/9999999/sendClassification/update-response.xml +1 -1
  52. package/test/resources/9999999/triggeredSendDefinition/create-response.xml +2 -2
  53. package/test/resources/9999999/triggeredSendDefinition/retrieve-TriggeredSendStatusINNew,Active,Inactive,Moved,Canceled-response.xml +4 -4
  54. package/test/resources/9999999/triggeredSendDefinition/update-response.xml +2 -2
  55. package/test/type.asset.test.js +3 -3
  56. package/test/type.automation.test.js +4 -4
  57. package/test/type.dataExtension.test.js +3 -3
  58. package/test/type.dataExtract.test.js +3 -3
  59. package/test/type.emailSend.test.js +2 -2
  60. package/test/type.event.test.js +3 -3
  61. package/test/type.fileTransfer.test.js +3 -3
  62. package/test/type.importFile.test.js +3 -3
  63. package/test/type.journey.test.js +19 -5
  64. package/test/type.mobileKeyword.test.js +2 -2
  65. package/test/type.mobileMessage.test.js +2 -2
  66. package/test/type.query.test.js +3 -3
  67. package/test/type.script.test.js +4 -4
  68. package/test/type.sendClassification.test.js +2 -2
  69. package/test/type.senderProfile.test.js +3 -3
  70. package/test/type.transactionalEmail.test.js +2 -2
  71. package/test/type.transactionalPush.test.js +2 -2
  72. package/test/type.transactionalSMS.test.js +2 -2
  73. package/test/type.triggeredSend.test.js +3 -3
  74. package/test/type.user.test.js +2 -2
  75. package/test/type.verification.test.js +2 -2
  76. package/types/mcdev.d.js +37 -0
@@ -91,7 +91,7 @@ describe('type: triggeredSend', () => {
91
91
  'testInstance/testBU',
92
92
  'triggeredSend',
93
93
  ['testExisting_triggeredSend'],
94
- 'testSourceMarket'
94
+ ['testSourceMarket']
95
95
  );
96
96
  assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
97
97
  assert.equal(
@@ -112,7 +112,7 @@ describe('type: triggeredSend', () => {
112
112
  'testInstance/testBU',
113
113
  'triggeredSend',
114
114
  ['testExisting_triggeredSend'],
115
- 'testTargetMarket'
115
+ ['testTargetMarket']
116
116
  );
117
117
  assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
118
118
  assert.deepEqual(
@@ -138,7 +138,7 @@ describe('type: triggeredSend', () => {
138
138
  'testInstance/testBU',
139
139
  'triggeredSend',
140
140
  ['testExisting_triggeredSend', 'testExisting_triggeredSend_rcb'],
141
- 'testSourceMarket'
141
+ ['testSourceMarket']
142
142
  );
143
143
  // WHEN
144
144
  assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
@@ -182,7 +182,7 @@ describe('type: user', () => {
182
182
  'testInstance/_ParentBU_',
183
183
  'user',
184
184
  ['testExisting_user'],
185
- 'testSourceMarket'
185
+ ['testSourceMarket']
186
186
  );
187
187
  assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
188
188
  // WHEN
@@ -201,7 +201,7 @@ describe('type: user', () => {
201
201
  'testInstance/_ParentBU_',
202
202
  'user',
203
203
  ['testExisting_user'],
204
- 'testTargetMarket'
204
+ ['testTargetMarket']
205
205
  );
206
206
  assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
207
207
 
@@ -113,7 +113,7 @@ describe('type: verification', () => {
113
113
  'testInstance/testBU',
114
114
  'verification',
115
115
  ['testExisting_39f6a488-20eb-4ba0-b0b9'],
116
- 'testSourceMarket'
116
+ ['testSourceMarket']
117
117
  );
118
118
  assert.equal(process.exitCode, 0, 'buildTemplate should not have thrown an error');
119
119
  assert.equal(
@@ -134,7 +134,7 @@ describe('type: verification', () => {
134
134
  'testInstance/testBU',
135
135
  'verification',
136
136
  ['testExisting_39f6a488-20eb-4ba0-b0b9'],
137
- 'testTargetMarket'
137
+ ['testTargetMarket']
138
138
  );
139
139
  assert.equal(process.exitCode, 0, 'buildDefinition should not have thrown an error');
140
140
  assert.deepEqual(
package/types/mcdev.d.js CHANGED
@@ -523,4 +523,41 @@ complex
523
523
  * @typedef {Object.<number, ListItem>} ListIdMap key=id
524
524
  * @typedef {Object.<string, ListItem>} ListMap key=customer key
525
525
  */
526
+
527
+ /**
528
+ * @typedef {object} ReferenceObject returned by /data/v1/integration/member/salesforce/object/<OBJECT NAME>/referenceobjects
529
+ * @property {string} displayname label
530
+ * @property {string} referenceObjectName api name of salesforce object
531
+ * @property {string} relationshipName name of lookup/MD field on related object ending on __r (way to return fields from other object)
532
+ * @property {string} relationshipIdName name of lookup/MD field on related object ending on __c (returning id)
533
+ * @property {boolean} isPolymorphic if this lookup can point to multiple objects or not
534
+ *
535
+ * @typedef {object} SfObjectPicklist returned by /legacy/v1/beta/integration/member/salesforce/object/<OBJECT NAME>
536
+ * @property {boolean} active -
537
+ * @property {boolean} defaultValue -
538
+ * @property {string} label what you see in the GUI
539
+ * @property {string} value whats stored in the DB
540
+ */
541
+
542
+ /**
543
+ * @typedef {object} SfObjectField returned by /legacy/v1/beta/integration/member/salesforce/object/<OBJECT NAME>
544
+ * @property {string} label "Annual Revenue"
545
+ * @property {string} name "AnnualRevenue"
546
+ * @property {'currency'|'string'|'int'|'picklist'|'textarea'|'boolean'|'date'|'datetime'|'email'} datatype type
547
+ * @property {number} length 0-4000
548
+ * @property {boolean} nillable == not required
549
+ * @property {boolean} custom is it a custom field
550
+ * @property {boolean} updateable always true?
551
+ * @property {boolean} createable always true?
552
+ * @property {boolean} defaultedoncreate -
553
+ * @property {boolean} externalid -
554
+ * @property {boolean} idlookup -
555
+ * @property {number} precision -
556
+ * @property {number} scale -
557
+ * @property {'Currency'|'Text'|'Number'|'Picklist'|'Text Area (long)'|'Checkbox'|'Date'|'Date/Time'|'Email'} displaydatatype "Currency"
558
+ * @property {string} objectname "Lead",
559
+ * @property {string} relationname "",
560
+ * @property {boolean} isnamefield -
561
+ * @property {SfObjectPicklist[]} [picklist] list of values
562
+ */
526
563
  export default {};