mcdev 4.1.11 → 4.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 (120) hide show
  1. package/.eslintrc.json +1 -1
  2. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  3. package/.github/PULL_REQUEST_TEMPLATE.md +2 -3
  4. package/.nycrc.json +5 -0
  5. package/README.md +34 -1528
  6. package/boilerplate/config.json +2 -6
  7. package/boilerplate/files/.vscode/extensions.json +1 -0
  8. package/boilerplate/files/.vscode/settings.json +13 -9
  9. package/boilerplate/forcedUpdates.json +4 -0
  10. package/docs/dist/documentation.md +434 -29
  11. package/lib/Deployer.js +10 -8
  12. package/lib/MetadataTypeDefinitions.js +3 -0
  13. package/lib/MetadataTypeInfo.js +3 -0
  14. package/lib/Retriever.js +16 -8
  15. package/lib/cli.js +1 -0
  16. package/lib/index.js +5 -5
  17. package/lib/metadataTypes/AccountUser.js +2 -2
  18. package/lib/metadataTypes/Asset.js +45 -35
  19. package/lib/metadataTypes/Automation.js +4 -4
  20. package/lib/metadataTypes/DataExtension.js +14 -8
  21. package/lib/metadataTypes/DataExtensionField.js +44 -9
  22. package/lib/metadataTypes/Discovery.js +5 -5
  23. package/lib/metadataTypes/Folder.js +30 -6
  24. package/lib/metadataTypes/List.js +115 -17
  25. package/lib/metadataTypes/MetadataType.js +73 -40
  26. package/lib/metadataTypes/Query.js +2 -2
  27. package/lib/metadataTypes/Script.js +2 -2
  28. package/lib/metadataTypes/TransactionalEmail.js +163 -0
  29. package/lib/metadataTypes/TransactionalMessage.js +127 -0
  30. package/lib/metadataTypes/TransactionalPush.js +77 -0
  31. package/lib/metadataTypes/TransactionalSMS.js +354 -0
  32. package/lib/metadataTypes/TriggeredSendDefinition.js +11 -9
  33. package/lib/metadataTypes/definitions/TransactionalEmail.definition.js +145 -0
  34. package/lib/metadataTypes/definitions/TransactionalPush.definition.js +109 -0
  35. package/lib/metadataTypes/definitions/TransactionalSMS.definition.js +103 -0
  36. package/lib/metadataTypes/definitions/TriggeredSendDefinition.definition.js +36 -36
  37. package/lib/util/auth.js +2 -2
  38. package/lib/util/businessUnit.js +1 -1
  39. package/lib/util/cli.js +19 -20
  40. package/lib/util/config.js +10 -10
  41. package/lib/util/devops.js +4 -4
  42. package/lib/util/init.config.js +7 -7
  43. package/lib/util/init.git.js +12 -24
  44. package/lib/util/init.js +65 -1
  45. package/lib/util/util.js +25 -14
  46. package/package.json +19 -12
  47. package/test/dataExtension.test.js +36 -19
  48. package/test/mockRoot/.mcdevrc.json +13 -2
  49. package/test/mockRoot/deploy/testInstance/testBU/dataExtension/childBU_dataextension_test.dataExtension-meta.json +27 -7
  50. package/test/mockRoot/deploy/testInstance/testBU/query/testExistingQuery.query-meta.json +1 -1
  51. package/test/mockRoot/deploy/testInstance/testBU/query/testExistingQuery.query-meta.sql +3 -1
  52. package/test/mockRoot/deploy/testInstance/testBU/query/{testQuery.query-meta.json → testNewQuery.query-meta.json} +3 -3
  53. package/test/mockRoot/deploy/testInstance/testBU/query/{testQuery.query-meta.sql → testNewQuery.query-meta.sql} +0 -0
  54. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testExisting_temail.transactionalEmail-meta.json +24 -0
  55. package/test/mockRoot/deploy/testInstance/testBU/transactionalEmail/testNew_temail.transactionalEmail-meta.json +24 -0
  56. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testExisting_tpush.transactionalPush-meta.json +18 -0
  57. package/test/mockRoot/deploy/testInstance/testBU/transactionalPush/testNew_tpush.transactionalPush-meta.json +18 -0
  58. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.amp +4 -0
  59. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testExisting_tsms.transactionalSMS-meta.json +15 -0
  60. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.amp +4 -0
  61. package/test/mockRoot/deploy/testInstance/testBU/transactionalSMS/testNew_tsms.transactionalSMS-meta.json +15 -0
  62. package/test/query.test.js +57 -23
  63. package/test/resources/1111111/businessUnit/retrieve-response.xml +33 -0
  64. package/test/resources/1111111/list/retrieve-response.xml +39 -0
  65. package/test/resources/9999999/asset/v1/content/assets/query/post-response.json +72 -0
  66. package/test/resources/9999999/automation/v1/queries/549f0568-607c-4940-afef-437965094dat/patch-response.json +2 -2
  67. package/test/resources/9999999/automation/v1/queries/get-response.json +2 -2
  68. package/test/resources/9999999/automation/v1/queries/post-response.json +3 -3
  69. package/test/resources/9999999/dataExtension/build-expected.json +2 -2
  70. package/test/resources/9999999/dataFolder/retrieve-response.xml +95 -2
  71. package/test/resources/9999999/interaction/v1/interactions/get-response.json +296 -0
  72. package/test/resources/9999999/legacy/v1/beta/mobile/code/get-response.json +32 -0
  73. package/test/resources/9999999/legacy/v1/beta/mobile/keyword/get-response.json +46 -0
  74. package/test/resources/9999999/list/retrieve-response.xml +78 -0
  75. package/test/resources/9999999/messaging/v1/email/definitions/get-response.json +15 -0
  76. package/test/resources/9999999/messaging/v1/email/definitions/post-response.json +19 -0
  77. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/get-response.json +26 -0
  78. package/test/resources/9999999/messaging/v1/email/definitions/testExisting_temail/patch-response.json +26 -0
  79. package/test/resources/9999999/messaging/v1/push/definitions/get-response.json +15 -0
  80. package/test/resources/9999999/messaging/v1/push/definitions/post-response.json +13 -0
  81. package/test/resources/9999999/messaging/v1/push/definitions/testExisting_tpush/get-response.json +13 -0
  82. package/test/resources/9999999/messaging/v1/push/definitions/testExisting_tpush/patch-response.json +13 -0
  83. package/test/resources/9999999/messaging/v1/sms/definitions/get-response.json +15 -0
  84. package/test/resources/9999999/messaging/v1/sms/definitions/post-response.json +17 -0
  85. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/get-response.json +18 -0
  86. package/test/resources/9999999/messaging/v1/sms/definitions/testExisting_tsms/patch-response.json +18 -0
  87. package/test/resources/9999999/query/build-expected.json +2 -2
  88. package/test/resources/9999999/query/build-expected.sql +6 -0
  89. package/test/resources/9999999/query/get-expected.json +1 -1
  90. package/test/resources/9999999/query/get-expected.sql +6 -0
  91. package/test/resources/9999999/query/patch-expected.json +1 -1
  92. package/test/resources/9999999/query/patch-expected.sql +6 -0
  93. package/test/resources/9999999/query/post-expected.json +3 -3
  94. package/test/resources/9999999/query/post-expected.sql +4 -0
  95. package/test/resources/9999999/query/template-expected.json +1 -1
  96. package/test/resources/9999999/query/template-expected.sql +6 -0
  97. package/test/resources/9999999/transactionalEmail/build-expected.json +22 -0
  98. package/test/resources/9999999/transactionalEmail/get-expected.json +24 -0
  99. package/test/resources/9999999/transactionalEmail/patch-expected.json +24 -0
  100. package/test/resources/9999999/transactionalEmail/post-expected.json +24 -0
  101. package/test/resources/9999999/transactionalEmail/template-expected.json +22 -0
  102. package/test/resources/9999999/transactionalPush/build-expected.json +8 -0
  103. package/test/resources/9999999/transactionalPush/get-expected.json +11 -0
  104. package/test/resources/9999999/transactionalPush/patch-expected.json +16 -0
  105. package/test/resources/9999999/transactionalPush/post-expected.json +16 -0
  106. package/test/resources/9999999/transactionalPush/template-expected.json +8 -0
  107. package/test/resources/9999999/transactionalSMS/build-expected.amp +4 -0
  108. package/test/resources/9999999/transactionalSMS/build-expected.json +13 -0
  109. package/test/resources/9999999/transactionalSMS/get-expected.amp +4 -0
  110. package/test/resources/9999999/transactionalSMS/get-expected.json +15 -0
  111. package/test/resources/9999999/transactionalSMS/patch-expected.amp +4 -0
  112. package/test/resources/9999999/transactionalSMS/patch-expected.json +15 -0
  113. package/test/resources/9999999/transactionalSMS/post-expected.amp +4 -0
  114. package/test/resources/9999999/transactionalSMS/post-expected.json +15 -0
  115. package/test/resources/9999999/transactionalSMS/template-expected.amp +4 -0
  116. package/test/resources/9999999/transactionalSMS/template-expected.json +13 -0
  117. package/test/transactionalEmail.test.js +120 -0
  118. package/test/transactionalPush.test.js +120 -0
  119. package/test/transactionalSMS.test.js +149 -0
  120. package/test/utils.js +57 -8
@@ -101,6 +101,18 @@ Provides default functionality that can be overwritten by child metadata type cl
101
101
  <dt><a href="#SetDefinition">SetDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
102
102
  <dd><p>SetDefinition MetadataType</p>
103
103
  </dd>
104
+ <dt><a href="#TransactionalEmail">TransactionalEmail</a> ⇐ <code><a href="#TransactionalMessage">TransactionalMessage</a></code></dt>
105
+ <dd><p>TransactionalEmail MetadataType</p>
106
+ </dd>
107
+ <dt><a href="#TransactionalMessage">TransactionalMessage</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
108
+ <dd><p>TransactionalMessage MetadataType</p>
109
+ </dd>
110
+ <dt><a href="#TransactionalPush">TransactionalPush</a> ⇐ <code><a href="#TransactionalMessage">TransactionalMessage</a></code></dt>
111
+ <dd><p>TransactionalPush TransactionalMessage</p>
112
+ </dd>
113
+ <dt><a href="#TransactionalSMS">TransactionalSMS</a> ⇐ <code><a href="#TransactionalMessage">TransactionalMessage</a></code></dt>
114
+ <dd><p>TransactionalSMS MetadataType</p>
115
+ </dd>
104
116
  <dt><a href="#TriggeredSendDefinition">TriggeredSendDefinition</a> ⇐ <code><a href="#MetadataType">MetadataType</a></code></dt>
105
117
  <dd><p>MessageSendActivity MetadataType</p>
106
118
  </dd>
@@ -830,7 +842,6 @@ FileTransfer MetadataType
830
842
  * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#Asset.buildTemplateForNested) ⇒ <code>Promise.&lt;void&gt;</code>
831
843
  * [._buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode)](#Asset._buildForNested) ⇒ <code>Promise.&lt;void&gt;</code>
832
844
  * [.setFolderPath(metadata)](#Asset.setFolderPath)
833
- * [.parseMetadata(metadata)](#Asset.parseMetadata) ⇒ <code>TYPE.CodeExtractItem</code>
834
845
  * [._mergeCode(metadata, deployDir, subType, [templateName], [fileListOnly])](#Asset._mergeCode) ⇒ <code>Promise.&lt;Array.&lt;TYPE.CodeExtract&gt;&gt;</code>
835
846
  * [._mergeCode_slots(prefix, metadataSlots, readDirArr, subtypeExtension, subDirArr, fileList, customerKey, [templateName], [fileListOnly])](#Asset._mergeCode_slots) ⇒ <code>Promise.&lt;void&gt;</code>
836
847
  * [._extractCode(metadata)](#Asset._extractCode) ⇒ <code>TYPE.CodeExtractItem</code>
@@ -1077,18 +1088,6 @@ generic script that retrieves the folder path from cache and updates the given m
1077
1088
  | --- | --- | --- |
1078
1089
  | metadata | <code>TYPE.MetadataTypeItem</code> | a single script activity definition |
1079
1090
 
1080
- <a name="Asset.parseMetadata"></a>
1081
-
1082
- ### Asset.parseMetadata(metadata) ⇒ <code>TYPE.CodeExtractItem</code>
1083
- parses retrieved Metadata before saving
1084
-
1085
- **Kind**: static method of [<code>Asset</code>](#Asset)
1086
- **Returns**: <code>TYPE.CodeExtractItem</code> - parsed metadata definition
1087
-
1088
- | Param | Type | Description |
1089
- | --- | --- | --- |
1090
- | metadata | <code>TYPE.AssetItem</code> | a single asset definition |
1091
-
1092
1091
  <a name="Asset._mergeCode"></a>
1093
1092
 
1094
1093
  ### Asset.\_mergeCode(metadata, deployDir, subType, [templateName], [fileListOnly]) ⇒ <code>Promise.&lt;Array.&lt;TYPE.CodeExtract&gt;&gt;</code>
@@ -1128,7 +1127,7 @@ helper for [preDeployTasks](preDeployTasks) that loads extracted code content ba
1128
1127
  <a name="Asset._extractCode"></a>
1129
1128
 
1130
1129
  ### Asset.\_extractCode(metadata) ⇒ <code>TYPE.CodeExtractItem</code>
1131
- helper for [parseMetadata](parseMetadata) that finds code content in JSON and extracts it
1130
+ helper for [postRetrieveTasks](postRetrieveTasks) that finds code content in JSON and extracts it
1132
1131
  to allow saving that separately and formatted
1133
1132
 
1134
1133
  **Kind**: static method of [<code>Asset</code>](#Asset)
@@ -2576,20 +2575,20 @@ Folder MetadataType
2576
2575
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2577
2576
 
2578
2577
  * [Folder](#Folder) ⇐ [<code>MetadataType</code>](#MetadataType)
2579
- * [.retrieve(retrieveDir, [additionalFields], buObject, [___], [key])](#Folder.retrieve) ⇒ <code>Promise</code>
2580
- * [.retrieveForCache(buObject)](#Folder.retrieveForCache) ⇒ <code>Promise</code>
2578
+ * [.retrieve(retrieveDir, [additionalFields], buObject, [___], [key], [contentTypeList])](#Folder.retrieve) ⇒ <code>Promise</code>
2579
+ * [.retrieveForCache(buObject, [contentTypeList])](#Folder.retrieveForCache) ⇒ <code>Promise</code>
2581
2580
  * [.upsert(metadata)](#Folder.upsert) ⇒ <code>Promise.&lt;object&gt;</code>
2582
2581
  * [.create(metadataEntry)](#Folder.create) ⇒ <code>Promise</code>
2583
2582
  * [.update(metadataEntry)](#Folder.update) ⇒ <code>Promise</code>
2584
2583
  * [.preDeployTasks(metadata)](#Folder.preDeployTasks) ⇒ <code>Promise.&lt;TYPE.MetadataTypeItem&gt;</code>
2585
2584
  * [.getJsonFromFS(dir, [listBadKeys])](#Folder.getJsonFromFS) ⇒ <code>TYPE.MetadataTypeMap</code>
2586
- * [.retrieveHelper([additionalFields], [queryAllAccounts])](#Folder.retrieveHelper) ⇒ <code>Promise.&lt;object&gt;</code>
2585
+ * [.retrieveHelper([additionalFields], [queryAllAccounts], [contentTypeList])](#Folder.retrieveHelper) ⇒ <code>Promise.&lt;object&gt;</code>
2587
2586
  * [.postRetrieveTasks(metadata)](#Folder.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2588
2587
  * [.saveResults(results, retrieveDir, mid)](#Folder.saveResults) ⇒ <code>Promise.&lt;object&gt;</code>
2589
2588
 
2590
2589
  <a name="Folder.retrieve"></a>
2591
2590
 
2592
- ### Folder.retrieve(retrieveDir, [additionalFields], buObject, [___], [key]) ⇒ <code>Promise</code>
2591
+ ### Folder.retrieve(retrieveDir, [additionalFields], buObject, [___], [key], [contentTypeList]) ⇒ <code>Promise</code>
2593
2592
  Retrieves metadata of metadata type into local filesystem. executes callback with retrieved metadata
2594
2593
 
2595
2594
  **Kind**: static method of [<code>Folder</code>](#Folder)
@@ -2602,10 +2601,11 @@ Retrieves metadata of metadata type into local filesystem. executes callback wit
2602
2601
  | buObject | <code>TYPE.BuObject</code> | properties for auth |
2603
2602
  | [___] | <code>void</code> | unused parameter |
2604
2603
  | [key] | <code>string</code> | customer key of single item to retrieve |
2604
+ | [contentTypeList] | <code>Array.&lt;string&gt;</code> | content type of folder |
2605
2605
 
2606
2606
  <a name="Folder.retrieveForCache"></a>
2607
2607
 
2608
- ### Folder.retrieveForCache(buObject) ⇒ <code>Promise</code>
2608
+ ### Folder.retrieveForCache(buObject, [contentTypeList]) ⇒ <code>Promise</code>
2609
2609
  Retrieves folder metadata for caching
2610
2610
 
2611
2611
  **Kind**: static method of [<code>Folder</code>](#Folder)
@@ -2614,6 +2614,7 @@ Retrieves folder metadata for caching
2614
2614
  | Param | Type | Description |
2615
2615
  | --- | --- | --- |
2616
2616
  | buObject | <code>TYPE.BuObject</code> | properties for auth |
2617
+ | [contentTypeList] | <code>Array.&lt;string&gt;</code> | content type of folder |
2617
2618
 
2618
2619
  <a name="Folder.upsert"></a>
2619
2620
 
@@ -2680,7 +2681,7 @@ Returns file contents mapped to their filename without '.json' ending
2680
2681
 
2681
2682
  <a name="Folder.retrieveHelper"></a>
2682
2683
 
2683
- ### Folder.retrieveHelper([additionalFields], [queryAllAccounts]) ⇒ <code>Promise.&lt;object&gt;</code>
2684
+ ### Folder.retrieveHelper([additionalFields], [queryAllAccounts], [contentTypeList]) ⇒ <code>Promise.&lt;object&gt;</code>
2684
2685
  Helper to retrieve the folders as promise
2685
2686
 
2686
2687
  **Kind**: static method of [<code>Folder</code>](#Folder)
@@ -2690,6 +2691,7 @@ Helper to retrieve the folders as promise
2690
2691
  | --- | --- | --- |
2691
2692
  | [additionalFields] | <code>Array.&lt;string&gt;</code> | Returns specified fields even if their retrieve definition is not set to true |
2692
2693
  | [queryAllAccounts] | <code>boolean</code> | which queryAllAccounts setting to use |
2694
+ | [contentTypeList] | <code>Array.&lt;string&gt;</code> | content type of folder |
2693
2695
 
2694
2696
  <a name="Folder.postRetrieveTasks"></a>
2695
2697
 
@@ -2903,15 +2905,16 @@ List MetadataType
2903
2905
  **Extends**: [<code>MetadataType</code>](#MetadataType)
2904
2906
 
2905
2907
  * [List](#List) ⇐ [<code>MetadataType</code>](#MetadataType)
2906
- * [.retrieve(retrieveDir, [_], [__], [___], [key])](#List.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2907
- * [.retrieveForCache()](#List.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2908
+ * [.retrieve(retrieveDir, [_], buObject, [___], [key])](#List.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2909
+ * [.retrieveForCache(buObject)](#List.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2910
+ * [._retrieveParentAllSubs(buObject, results)](#List._retrieveParentAllSubs) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2908
2911
  * [.deleteByKey(buObject, customerKey)](#List.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
2909
2912
  * [.postRetrieveTasks(list)](#List.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
2910
2913
  * [.parseMetadata(metadata, [parseForCache])](#List.parseMetadata) ⇒ <code>TYPE.MetadataTypeItem</code>
2911
2914
 
2912
2915
  <a name="List.retrieve"></a>
2913
2916
 
2914
- ### List.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2917
+ ### List.retrieve(retrieveDir, [_], buObject, [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2915
2918
  Retrieves Metadata of Lists
2916
2919
 
2917
2920
  **Kind**: static method of [<code>List</code>](#List)
@@ -2921,17 +2924,35 @@ Retrieves Metadata of Lists
2921
2924
  | --- | --- | --- |
2922
2925
  | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
2923
2926
  | [_] | <code>void</code> | unused parameter |
2924
- | [__] | <code>void</code> | unused parameter |
2927
+ | buObject | <code>TYPE.BuObject</code> | properties for auth |
2925
2928
  | [___] | <code>void</code> | unused parameter |
2926
2929
  | [key] | <code>string</code> | customer key of single item to retrieve |
2927
2930
 
2928
2931
  <a name="List.retrieveForCache"></a>
2929
2932
 
2930
- ### List.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2933
+ ### List.retrieveForCache(buObject) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2931
2934
  Gets metadata cache with limited fields and does not store value to disk
2932
2935
 
2933
2936
  **Kind**: static method of [<code>List</code>](#List)
2934
2937
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
2938
+
2939
+ | Param | Type | Description |
2940
+ | --- | --- | --- |
2941
+ | buObject | <code>TYPE.BuObject</code> | properties for auth |
2942
+
2943
+ <a name="List._retrieveParentAllSubs"></a>
2944
+
2945
+ ### List.\_retrieveParentAllSubs(buObject, results) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
2946
+ helper for @link retrieveForCache and @link retrieve
2947
+
2948
+ **Kind**: static method of [<code>List</code>](#List)
2949
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
2950
+
2951
+ | Param | Type | Description |
2952
+ | --- | --- | --- |
2953
+ | buObject | <code>TYPE.BuObject</code> | properties for auth |
2954
+ | results | <code>TYPE.MetadataTypeMapObj</code> | metadata from retrieve for current BU |
2955
+
2935
2956
  <a name="List.deleteByKey"></a>
2936
2957
 
2937
2958
  ### List.deleteByKey(buObject, customerKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
@@ -3004,6 +3025,7 @@ Provides default functionality that can be overwritten by child metadata type cl
3004
3025
  * [.createSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.createSOAP) ⇒ <code>Promise</code>
3005
3026
  * [.updateREST(metadataEntry, uri)](#MetadataType.updateREST) ⇒ <code>Promise</code>
3006
3027
  * [.updateSOAP(metadataEntry, [overrideType], [handleOutside])](#MetadataType.updateSOAP) ⇒ <code>Promise</code>
3028
+ * [._handleSOAPErrors(ex, msg, [metadataEntry], [handleOutside])](#MetadataType._handleSOAPErrors)
3007
3029
  * [.retrieveSOAP(retrieveDir, buObject, [requestParams], [additionalFields])](#MetadataType.retrieveSOAP) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
3008
3030
  * [.retrieveREST(retrieveDir, uri, [overrideType], [templateVariables], [singleRetrieve])](#MetadataType.retrieveREST) ⇒ <code>Promise.&lt;{metadata: (TYPE.MetadataTypeMap\|TYPE.MetadataTypeItem), type: string}&gt;</code>
3009
3031
  * [.parseResponseBody(body, [singleRetrieve])](#MetadataType.parseResponseBody) ⇒ <code>TYPE.MetadataTypeMap</code>
@@ -3027,6 +3049,7 @@ Provides default functionality that can be overwritten by child metadata type cl
3027
3049
  * [.deleteByKey(buObject, customerKey)](#MetadataType.deleteByKey) ⇒ <code>boolean</code>
3028
3050
  * [.postDeleteTasks(buObject, customerKey)](#MetadataType.postDeleteTasks) ⇒ <code>void</code>
3029
3051
  * [.deleteByKeySOAP(buObject, customerKey, [handleOutside])](#MetadataType.deleteByKeySOAP) ⇒ <code>boolean</code>
3052
+ * [.deleteByKeyREST(buObject, url, key, [handleOutside])](#MetadataType.deleteByKeyREST) ⇒ <code>boolean</code>
3030
3053
  * [.readBUMetadataForType(readDir, [listBadKeys], [buMetadata])](#MetadataType.readBUMetadataForType) ⇒ <code>object</code>
3031
3054
  * [.getFilesToCommit(keyArr)](#MetadataType.getFilesToCommit) ⇒ <code>Promise.&lt;Array.&lt;string&gt;&gt;</code>
3032
3055
 
@@ -3331,6 +3354,18 @@ Updates a single metadata entry via fuel-soap (generic lib not wrapper)
3331
3354
  | [overrideType] | <code>string</code> | can be used if the API type differs from the otherwise used type identifier |
3332
3355
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3333
3356
 
3357
+ <a name="MetadataType._handleSOAPErrors"></a>
3358
+
3359
+ ### MetadataType.\_handleSOAPErrors(ex, msg, [metadataEntry], [handleOutside])
3360
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3361
+
3362
+ | Param | Type | Description |
3363
+ | --- | --- | --- |
3364
+ | ex | <code>Error</code> | error that occured |
3365
+ | msg | <code>&#x27;creating&#x27;</code> \| <code>&#x27;updating&#x27;</code> | what to print in the log |
3366
+ | [metadataEntry] | <code>TYPE.MetadataTypeItem</code> | single metadata entry |
3367
+ | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3368
+
3334
3369
  <a name="MetadataType.retrieveSOAP"></a>
3335
3370
 
3336
3371
  ### MetadataType.retrieveSOAP(retrieveDir, buObject, [requestParams], [additionalFields]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
@@ -3651,6 +3686,21 @@ Delete a data extension from the specified business unit
3651
3686
  | customerKey | <code>string</code> | Identifier of metadata |
3652
3687
  | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3653
3688
 
3689
+ <a name="MetadataType.deleteByKeyREST"></a>
3690
+
3691
+ ### MetadataType.deleteByKeyREST(buObject, url, key, [handleOutside]) ⇒ <code>boolean</code>
3692
+ Delete a data extension from the specified business unit
3693
+
3694
+ **Kind**: static method of [<code>MetadataType</code>](#MetadataType)
3695
+ **Returns**: <code>boolean</code> - deletion success flag
3696
+
3697
+ | Param | Type | Description |
3698
+ | --- | --- | --- |
3699
+ | buObject | <code>TYPE.BuObject</code> | references credentials |
3700
+ | url | <code>string</code> | endpoint |
3701
+ | key | <code>string</code> | Identifier of metadata |
3702
+ | [handleOutside] | <code>boolean</code> | if the API reponse is irregular this allows you to handle it outside of this generic method |
3703
+
3654
3704
  <a name="MetadataType.readBUMetadataForType"></a>
3655
3705
 
3656
3706
  ### MetadataType.readBUMetadataForType(readDir, [listBadKeys], [buMetadata]) ⇒ <code>object</code>
@@ -4338,6 +4388,331 @@ Retrieves Metadata of schema set definitions for caching.
4338
4388
 
4339
4389
  **Kind**: static method of [<code>SetDefinition</code>](#SetDefinition)
4340
4390
  **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise
4391
+ <a name="TransactionalEmail"></a>
4392
+
4393
+ ## TransactionalEmail ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4394
+ TransactionalEmail MetadataType
4395
+
4396
+ **Kind**: global class
4397
+ **Extends**: [<code>TransactionalMessage</code>](#TransactionalMessage)
4398
+
4399
+ * [TransactionalEmail](#TransactionalEmail) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4400
+ * [.update(metadata)](#TransactionalEmail.update) ⇒ <code>Promise</code>
4401
+ * [.preDeployTasks(metadata)](#TransactionalEmail.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4402
+ * [.postRetrieveTasks(metadata)](#TransactionalEmail.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4403
+
4404
+ <a name="TransactionalEmail.update"></a>
4405
+
4406
+ ### TransactionalEmail.update(metadata) ⇒ <code>Promise</code>
4407
+ Updates a single item
4408
+
4409
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
4410
+ **Returns**: <code>Promise</code> - Promise
4411
+
4412
+ | Param | Type | Description |
4413
+ | --- | --- | --- |
4414
+ | metadata | <code>TYPE.MetadataTypeItem</code> | how the item shall look after the update |
4415
+
4416
+ <a name="TransactionalEmail.preDeployTasks"></a>
4417
+
4418
+ ### TransactionalEmail.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4419
+ prepares for deployment
4420
+
4421
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
4422
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
4423
+
4424
+ | Param | Type | Description |
4425
+ | --- | --- | --- |
4426
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4427
+
4428
+ <a name="TransactionalEmail.postRetrieveTasks"></a>
4429
+
4430
+ ### TransactionalEmail.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4431
+ manages post retrieve steps
4432
+
4433
+ **Kind**: static method of [<code>TransactionalEmail</code>](#TransactionalEmail)
4434
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - a single item
4435
+
4436
+ | Param | Type | Description |
4437
+ | --- | --- | --- |
4438
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4439
+
4440
+ <a name="TransactionalMessage"></a>
4441
+
4442
+ ## TransactionalMessage ⇐ [<code>MetadataType</code>](#MetadataType)
4443
+ TransactionalMessage MetadataType
4444
+
4445
+ **Kind**: global class
4446
+ **Extends**: [<code>MetadataType</code>](#MetadataType)
4447
+
4448
+ * [TransactionalMessage](#TransactionalMessage) ⇐ [<code>MetadataType</code>](#MetadataType)
4449
+ * [.retrieve(retrieveDir, [_], [__], [___], [key])](#TransactionalMessage.retrieve) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4450
+ * [.retrieveForCache()](#TransactionalMessage.retrieveForCache) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4451
+ * [.update(metadata)](#TransactionalMessage.update) ⇒ <code>Promise</code>
4452
+ * [.create(metadata)](#TransactionalMessage.create) ⇒ <code>Promise</code>
4453
+ * [.deleteByKey(buObject, key)](#TransactionalMessage.deleteByKey) ⇒ <code>Promise.&lt;boolean&gt;</code>
4454
+
4455
+ <a name="TransactionalMessage.retrieve"></a>
4456
+
4457
+ ### TransactionalMessage.retrieve(retrieveDir, [_], [__], [___], [key]) ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4458
+ Retrieves Metadata of Mobile Keywords
4459
+ Endpoint /legacy/v1/beta/mobile/code/ return all Mobile Codes with all details.
4460
+
4461
+ **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4462
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4463
+
4464
+ | Param | Type | Description |
4465
+ | --- | --- | --- |
4466
+ | retrieveDir | <code>string</code> | Directory where retrieved metadata directory will be saved |
4467
+ | [_] | <code>void</code> | unused parameter |
4468
+ | [__] | <code>void</code> | unused parameter |
4469
+ | [___] | <code>void</code> | unused parameter |
4470
+ | [key] | <code>string</code> | customer key of single item to retrieve |
4471
+
4472
+ <a name="TransactionalMessage.retrieveForCache"></a>
4473
+
4474
+ ### TransactionalMessage.retrieveForCache() ⇒ <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code>
4475
+ Retrieves event definition metadata for caching
4476
+
4477
+ **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4478
+ **Returns**: <code>Promise.&lt;TYPE.MetadataTypeMapObj&gt;</code> - Promise of metadata
4479
+ <a name="TransactionalMessage.update"></a>
4480
+
4481
+ ### TransactionalMessage.update(metadata) ⇒ <code>Promise</code>
4482
+ Updates a single item
4483
+
4484
+ **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4485
+ **Returns**: <code>Promise</code> - Promise
4486
+
4487
+ | Param | Type | Description |
4488
+ | --- | --- | --- |
4489
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4490
+
4491
+ <a name="TransactionalMessage.create"></a>
4492
+
4493
+ ### TransactionalMessage.create(metadata) ⇒ <code>Promise</code>
4494
+ Creates a single item
4495
+
4496
+ **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4497
+ **Returns**: <code>Promise</code> - Promise
4498
+
4499
+ | Param | Type | Description |
4500
+ | --- | --- | --- |
4501
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4502
+
4503
+ <a name="TransactionalMessage.deleteByKey"></a>
4504
+
4505
+ ### TransactionalMessage.deleteByKey(buObject, key) ⇒ <code>Promise.&lt;boolean&gt;</code>
4506
+ Delete a metadata item from the specified business unit
4507
+
4508
+ **Kind**: static method of [<code>TransactionalMessage</code>](#TransactionalMessage)
4509
+ **Returns**: <code>Promise.&lt;boolean&gt;</code> - deletion success status
4510
+
4511
+ | Param | Type | Description |
4512
+ | --- | --- | --- |
4513
+ | buObject | <code>TYPE.BuObject</code> | references credentials |
4514
+ | key | <code>string</code> | Identifier of item |
4515
+
4516
+ <a name="TransactionalPush"></a>
4517
+
4518
+ ## TransactionalPush ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4519
+ TransactionalPush TransactionalMessage
4520
+
4521
+ **Kind**: global class
4522
+ **Extends**: [<code>TransactionalMessage</code>](#TransactionalMessage)
4523
+
4524
+ * [TransactionalPush](#TransactionalPush) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4525
+ * [.preDeployTasks(metadata)](#TransactionalPush.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4526
+ * [.postRetrieveTasks(metadata)](#TransactionalPush.postRetrieveTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4527
+
4528
+ <a name="TransactionalPush.preDeployTasks"></a>
4529
+
4530
+ ### TransactionalPush.preDeployTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4531
+ prepares for deployment
4532
+
4533
+ **Kind**: static method of [<code>TransactionalPush</code>](#TransactionalPush)
4534
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
4535
+
4536
+ | Param | Type | Description |
4537
+ | --- | --- | --- |
4538
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4539
+
4540
+ <a name="TransactionalPush.postRetrieveTasks"></a>
4541
+
4542
+ ### TransactionalPush.postRetrieveTasks(metadata) ⇒ <code>TYPE.MetadataTypeItem</code>
4543
+ manages post retrieve steps
4544
+
4545
+ **Kind**: static method of [<code>TransactionalPush</code>](#TransactionalPush)
4546
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - a single item
4547
+
4548
+ | Param | Type | Description |
4549
+ | --- | --- | --- |
4550
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4551
+
4552
+ <a name="TransactionalSMS"></a>
4553
+
4554
+ ## TransactionalSMS ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4555
+ TransactionalSMS MetadataType
4556
+
4557
+ **Kind**: global class
4558
+ **Extends**: [<code>TransactionalMessage</code>](#TransactionalMessage)
4559
+
4560
+ * [TransactionalSMS](#TransactionalSMS) ⇐ [<code>TransactionalMessage</code>](#TransactionalMessage)
4561
+ * [.postDeleteTasks(buObject, customerKey)](#TransactionalSMS.postDeleteTasks) ⇒ <code>void</code>
4562
+ * [.preDeployTasks(metadata, dir)](#TransactionalSMS.preDeployTasks) ⇒ <code>TYPE.MetadataTypeItem</code>
4563
+ * [._mergeCode(metadata, deployDir, [templateName])](#TransactionalSMS._mergeCode) ⇒ <code>Promise.&lt;string&gt;</code>
4564
+ * [.postRetrieveTasks(metadata)](#TransactionalSMS.postRetrieveTasks) ⇒ <code>TYPE.CodeExtractItem</code>
4565
+ * [.prepExtractedCode(metadataScript)](#TransactionalSMS.prepExtractedCode) ⇒ <code>Object</code>
4566
+ * [.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#TransactionalSMS.buildDefinitionForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4567
+ * [.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName)](#TransactionalSMS.buildTemplateForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4568
+ * [._buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode)](#TransactionalSMS._buildForNested) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4569
+ * [._isHTML(code)](#TransactionalSMS._isHTML) ⇒ <code>boolean</code>
4570
+ * [.getFilesToCommit(keyArr)](#TransactionalSMS.getFilesToCommit) ⇒ <code>Array.&lt;string&gt;</code>
4571
+
4572
+ <a name="TransactionalSMS.postDeleteTasks"></a>
4573
+
4574
+ ### TransactionalSMS.postDeleteTasks(buObject, customerKey) ⇒ <code>void</code>
4575
+ clean up after deleting a metadata item
4576
+
4577
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4578
+
4579
+ | Param | Type | Description |
4580
+ | --- | --- | --- |
4581
+ | buObject | <code>TYPE.BuObject</code> | references credentials |
4582
+ | customerKey | <code>string</code> | Identifier of metadata item |
4583
+
4584
+ <a name="TransactionalSMS.preDeployTasks"></a>
4585
+
4586
+ ### TransactionalSMS.preDeployTasks(metadata, dir) ⇒ <code>TYPE.MetadataTypeItem</code>
4587
+ prepares for deployment
4588
+
4589
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4590
+ **Returns**: <code>TYPE.MetadataTypeItem</code> - Promise
4591
+
4592
+ | Param | Type | Description |
4593
+ | --- | --- | --- |
4594
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4595
+ | dir | <code>string</code> | directory of deploy files |
4596
+
4597
+ <a name="TransactionalSMS._mergeCode"></a>
4598
+
4599
+ ### TransactionalSMS.\_mergeCode(metadata, deployDir, [templateName]) ⇒ <code>Promise.&lt;string&gt;</code>
4600
+ helper for [preDeployTasks](preDeployTasks) that loads extracted code content back into JSON
4601
+
4602
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4603
+ **Returns**: <code>Promise.&lt;string&gt;</code> - content for metadata.script
4604
+
4605
+ | Param | Type | Description |
4606
+ | --- | --- | --- |
4607
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single definition |
4608
+ | deployDir | <code>string</code> | directory of deploy files |
4609
+ | [templateName] | <code>string</code> | name of the template used to built defintion (prior applying templating) |
4610
+
4611
+ <a name="TransactionalSMS.postRetrieveTasks"></a>
4612
+
4613
+ ### TransactionalSMS.postRetrieveTasks(metadata) ⇒ <code>TYPE.CodeExtractItem</code>
4614
+ manages post retrieve steps
4615
+
4616
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4617
+ **Returns**: <code>TYPE.CodeExtractItem</code> - Array with one metadata object and one ssjs string
4618
+
4619
+ | Param | Type | Description |
4620
+ | --- | --- | --- |
4621
+ | metadata | <code>TYPE.MetadataTypeItem</code> | a single item |
4622
+
4623
+ <a name="TransactionalSMS.prepExtractedCode"></a>
4624
+
4625
+ ### TransactionalSMS.prepExtractedCode(metadataScript) ⇒ <code>Object</code>
4626
+ helper for [parseMetadata](parseMetadata) and [_buildForNested](_buildForNested)
4627
+
4628
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4629
+ **Returns**: <code>Object</code> - returns found extension and file content
4630
+
4631
+ | Param | Type | Description |
4632
+ | --- | --- | --- |
4633
+ | metadataScript | <code>string</code> | the code of the file |
4634
+
4635
+ <a name="TransactionalSMS.buildDefinitionForNested"></a>
4636
+
4637
+ ### TransactionalSMS.buildDefinitionForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4638
+ helper for [buildDefinition](#MetadataType.buildDefinition)
4639
+ handles extracted code if any are found for complex types
4640
+
4641
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4642
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4643
+
4644
+ | Param | Type | Description |
4645
+ | --- | --- | --- |
4646
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4647
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4648
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4649
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4650
+ | templateName | <code>string</code> | name of the template to be built |
4651
+
4652
+ <a name="TransactionalSMS.buildTemplateForNested"></a>
4653
+
4654
+ ### TransactionalSMS.buildTemplateForNested(templateDir, targetDir, metadata, templateVariables, templateName) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4655
+ helper for [buildTemplate](#MetadataType.buildTemplate)
4656
+ handles extracted code if any are found for complex types
4657
+
4658
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4659
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4660
+
4661
+ | Param | Type | Description |
4662
+ | --- | --- | --- |
4663
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4664
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4665
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4666
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4667
+ | templateName | <code>string</code> | name of the template to be built |
4668
+
4669
+ **Example**
4670
+ ```js
4671
+ scripts are saved as 1 json and 1 ssjs file. both files need to be run through templating
4672
+ ```
4673
+ <a name="TransactionalSMS._buildForNested"></a>
4674
+
4675
+ ### TransactionalSMS.\_buildForNested(templateDir, targetDir, metadata, templateVariables, templateName, mode) ⇒ <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code>
4676
+ helper for [buildTemplateForNested](buildTemplateForNested) / [buildDefinitionForNested](buildDefinitionForNested)
4677
+ handles extracted code if any are found for complex types
4678
+
4679
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4680
+ **Returns**: <code>Promise.&lt;Array.&lt;Array.&lt;string&gt;&gt;&gt;</code> - list of extracted files with path-parts provided as an array
4681
+
4682
+ | Param | Type | Description |
4683
+ | --- | --- | --- |
4684
+ | templateDir | <code>string</code> | Directory where metadata templates are stored |
4685
+ | targetDir | <code>string</code> \| <code>Array.&lt;string&gt;</code> | (List of) Directory where built definitions will be saved |
4686
+ | metadata | <code>TYPE.MetadataTypeItem</code> | main JSON file that was read from file system |
4687
+ | templateVariables | <code>TYPE.TemplateMap</code> | variables to be replaced in the metadata |
4688
+ | templateName | <code>string</code> | name of the template to be built |
4689
+ | mode | <code>&#x27;definition&#x27;</code> \| <code>&#x27;template&#x27;</code> | defines what we use this helper for |
4690
+
4691
+ <a name="TransactionalSMS._isHTML"></a>
4692
+
4693
+ ### TransactionalSMS.\_isHTML(code) ⇒ <code>boolean</code>
4694
+ very simplified test for HTML code in our SMS
4695
+
4696
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4697
+ **Returns**: <code>boolean</code> - true if HTML is found
4698
+
4699
+ | Param | Type | Description |
4700
+ | --- | --- | --- |
4701
+ | code | <code>string</code> | sms source code |
4702
+
4703
+ <a name="TransactionalSMS.getFilesToCommit"></a>
4704
+
4705
+ ### TransactionalSMS.getFilesToCommit(keyArr) ⇒ <code>Array.&lt;string&gt;</code>
4706
+ should return only the json for all but asset, query and script that are saved as multiple files
4707
+ additionally, the documentation for dataExtension and automation should be returned
4708
+
4709
+ **Kind**: static method of [<code>TransactionalSMS</code>](#TransactionalSMS)
4710
+ **Returns**: <code>Array.&lt;string&gt;</code> - list of all files that need to be committed in a flat array ['path/file1.ext', 'path/file2.ext']
4711
+
4712
+ | Param | Type | Description |
4713
+ | --- | --- | --- |
4714
+ | keyArr | <code>Array.&lt;string&gt;</code> | customerkey of the metadata |
4715
+
4341
4716
  <a name="TriggeredSendDefinition"></a>
4342
4717
 
4343
4718
  ## TriggeredSendDefinition ⇐ [<code>MetadataType</code>](#MetadataType)
@@ -4519,7 +4894,7 @@ CLI entry for SFMC DevTools
4519
4894
  * [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
4520
4895
  * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Array.&lt;string&gt;</code>
4521
4896
  * [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
4522
- * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>undefined</code>
4897
+ * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
4523
4898
  * [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
4524
4899
  * [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
4525
4900
 
@@ -4716,10 +5091,11 @@ let's you dynamically walk down an object and get a value
4716
5091
 
4717
5092
  <a name="Util.execSync"></a>
4718
5093
 
4719
- ### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>undefined</code>
5094
+ ### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code>
4720
5095
  helper to run other commands as if run manually by user
4721
5096
 
4722
5097
  **Kind**: static method of [<code>Util</code>](#Util)
5098
+ **Returns**: <code>string</code> - output of command if hideOutput is true
4723
5099
 
4724
5100
  | Param | Type | Description |
4725
5101
  | --- | --- | --- |
@@ -5361,6 +5737,7 @@ CLI helper class
5361
5737
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5362
5738
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5363
5739
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
5740
+ * [._initMarkets()](#Init._initMarkets)
5364
5741
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5365
5742
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
5366
5743
  * [._getMissingCredentials(properties)](#Init._getMissingCredentials) ⇒ <code>Array.&lt;string&gt;</code>
@@ -5483,6 +5860,12 @@ Creates template file for properties.json
5483
5860
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
5484
5861
  | credentialName | <code>string</code> | identifying name of the installed package / project |
5485
5862
 
5863
+ <a name="Init._initMarkets"></a>
5864
+
5865
+ ### Init.\_initMarkets()
5866
+ helper for @initProject that optionally creates markets and market lists for all BUs
5867
+
5868
+ **Kind**: static method of [<code>Init</code>](#Init)
5486
5869
  <a name="Init._downloadAllBUs"></a>
5487
5870
 
5488
5871
  ### Init.\_downloadAllBUs(bu, gitStatus) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -5568,6 +5951,7 @@ CLI helper class
5568
5951
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5569
5952
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5570
5953
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
5954
+ * [._initMarkets()](#Init._initMarkets)
5571
5955
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5572
5956
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
5573
5957
  * [._getMissingCredentials(properties)](#Init._getMissingCredentials) ⇒ <code>Array.&lt;string&gt;</code>
@@ -5690,6 +6074,12 @@ Creates template file for properties.json
5690
6074
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
5691
6075
  | credentialName | <code>string</code> | identifying name of the installed package / project |
5692
6076
 
6077
+ <a name="Init._initMarkets"></a>
6078
+
6079
+ ### Init.\_initMarkets()
6080
+ helper for @initProject that optionally creates markets and market lists for all BUs
6081
+
6082
+ **Kind**: static method of [<code>Init</code>](#Init)
5693
6083
  <a name="Init._downloadAllBUs"></a>
5694
6084
 
5695
6085
  ### Init.\_downloadAllBUs(bu, gitStatus) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -5775,6 +6165,7 @@ CLI helper class
5775
6165
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5776
6166
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5777
6167
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6168
+ * [._initMarkets()](#Init._initMarkets)
5778
6169
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5779
6170
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
5780
6171
  * [._getMissingCredentials(properties)](#Init._getMissingCredentials) ⇒ <code>Array.&lt;string&gt;</code>
@@ -5897,6 +6288,12 @@ Creates template file for properties.json
5897
6288
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
5898
6289
  | credentialName | <code>string</code> | identifying name of the installed package / project |
5899
6290
 
6291
+ <a name="Init._initMarkets"></a>
6292
+
6293
+ ### Init.\_initMarkets()
6294
+ helper for @initProject that optionally creates markets and market lists for all BUs
6295
+
6296
+ **Kind**: static method of [<code>Init</code>](#Init)
5900
6297
  <a name="Init._downloadAllBUs"></a>
5901
6298
 
5902
6299
  ### Init.\_downloadAllBUs(bu, gitStatus) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -5982,6 +6379,7 @@ CLI helper class
5982
6379
  * [._updateGitConfigUser()](#Init._updateGitConfigUser) ⇒ <code>void</code>
5983
6380
  * [._getGitConfigUser()](#Init._getGitConfigUser) ⇒ <code>Promise.&lt;{&#x27;user.name&#x27;: string, &#x27;user.email&#x27;: string}&gt;</code>
5984
6381
  * [.initProject(properties, credentialName)](#Init.initProject) ⇒ <code>Promise.&lt;void&gt;</code>
6382
+ * [._initMarkets()](#Init._initMarkets)
5985
6383
  * [._downloadAllBUs(bu, gitStatus)](#Init._downloadAllBUs) ⇒ <code>Promise.&lt;void&gt;</code>
5986
6384
  * [.upgradeProject(properties, [initial], [repoName])](#Init.upgradeProject) ⇒ <code>Promise.&lt;boolean&gt;</code>
5987
6385
  * [._getMissingCredentials(properties)](#Init._getMissingCredentials) ⇒ <code>Array.&lt;string&gt;</code>
@@ -6104,6 +6502,12 @@ Creates template file for properties.json
6104
6502
  | properties | <code>TYPE.Mcdevrc</code> | config file's json |
6105
6503
  | credentialName | <code>string</code> | identifying name of the installed package / project |
6106
6504
 
6505
+ <a name="Init._initMarkets"></a>
6506
+
6507
+ ### Init.\_initMarkets()
6508
+ helper for @initProject that optionally creates markets and market lists for all BUs
6509
+
6510
+ **Kind**: static method of [<code>Init</code>](#Init)
6107
6511
  <a name="Init._downloadAllBUs"></a>
6108
6512
 
6109
6513
  ### Init.\_downloadAllBUs(bu, gitStatus) ⇒ <code>Promise.&lt;void&gt;</code>
@@ -6194,7 +6598,7 @@ Util that contains logger and simple util methods
6194
6598
  * [.inverseGet(objs, val)](#Util.inverseGet) ⇒ <code>string</code>
6195
6599
  * [.getMetadataHierachy(metadataTypes)](#Util.getMetadataHierachy) ⇒ <code>Array.&lt;string&gt;</code>
6196
6600
  * [.resolveObjPath(path, obj)](#Util.resolveObjPath) ⇒ <code>any</code>
6197
- * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>undefined</code>
6601
+ * [.execSync(cmd, [args], [hideOutput])](#Util.execSync) ⇒ <code>string</code>
6198
6602
  * [.templateSearchResult(results, keyToSearch, searchValue)](#Util.templateSearchResult) ⇒ <code>TYPE.MetadataTypeItem</code>
6199
6603
  * [.setLoggingLevel(argv)](#Util.setLoggingLevel) ⇒ <code>void</code>
6200
6604
 
@@ -6391,10 +6795,11 @@ let's you dynamically walk down an object and get a value
6391
6795
 
6392
6796
  <a name="Util.execSync"></a>
6393
6797
 
6394
- ### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>undefined</code>
6798
+ ### Util.execSync(cmd, [args], [hideOutput]) ⇒ <code>string</code>
6395
6799
  helper to run other commands as if run manually by user
6396
6800
 
6397
6801
  **Kind**: static method of [<code>Util</code>](#Util)
6802
+ **Returns**: <code>string</code> - output of command if hideOutput is true
6398
6803
 
6399
6804
  | Param | Type | Description |
6400
6805
  | --- | --- | --- |