mcdev 8.2.0 → 8.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 (129) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +2 -0
  2. package/.github/workflows/code-test.yml +1 -1
  3. package/.github/workflows/coverage-base-update.yml +1 -1
  4. package/.github/workflows/coverage-develop-branch.yml +1 -1
  5. package/.github/workflows/coverage-main-branch.yml +1 -1
  6. package/.github/workflows/coverage.yml +1 -1
  7. package/.github/workflows/npm-publish.yml +9 -5
  8. package/@types/lib/MetadataTypeDefinitions.d.ts +4 -0
  9. package/@types/lib/MetadataTypeDefinitions.d.ts.map +1 -1
  10. package/@types/lib/MetadataTypeInfo.d.ts +4 -0
  11. package/@types/lib/MetadataTypeInfo.d.ts.map +1 -1
  12. package/@types/lib/Retriever.d.ts.map +1 -1
  13. package/@types/lib/index.d.ts +20 -9
  14. package/@types/lib/index.d.ts.map +1 -1
  15. package/@types/lib/metadataTypes/Asset.d.ts +3 -3
  16. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  17. package/@types/lib/metadataTypes/Automation.d.ts +7 -7
  18. package/@types/lib/metadataTypes/Automation.d.ts.map +1 -1
  19. package/@types/lib/metadataTypes/DataExtension.d.ts +9 -9
  20. package/@types/lib/metadataTypes/DataExtension.d.ts.map +1 -1
  21. package/@types/lib/metadataTypes/DataExtensionField.d.ts +7 -0
  22. package/@types/lib/metadataTypes/DataExtensionField.d.ts.map +1 -1
  23. package/@types/lib/metadataTypes/DataFilter.d.ts +326 -0
  24. package/@types/lib/metadataTypes/DataFilter.d.ts.map +1 -0
  25. package/@types/lib/metadataTypes/DataFilterHidden.d.ts +164 -0
  26. package/@types/lib/metadataTypes/DataFilterHidden.d.ts.map +1 -0
  27. package/@types/lib/metadataTypes/Filter.d.ts +181 -6
  28. package/@types/lib/metadataTypes/Filter.d.ts.map +1 -1
  29. package/@types/lib/metadataTypes/FilterDefinition.d.ts +318 -0
  30. package/@types/lib/metadataTypes/FilterDefinition.d.ts.map +1 -0
  31. package/@types/lib/metadataTypes/FilterDefinitionHidden.d.ts +156 -0
  32. package/@types/lib/metadataTypes/FilterDefinitionHidden.d.ts.map +1 -0
  33. package/@types/lib/metadataTypes/ImportFile.d.ts.map +1 -1
  34. package/@types/lib/metadataTypes/Journey.d.ts +18 -0
  35. package/@types/lib/metadataTypes/Journey.d.ts.map +1 -1
  36. package/@types/lib/metadataTypes/MobileKeyword.d.ts +2 -2
  37. package/@types/lib/metadataTypes/MobileKeyword.d.ts.map +1 -1
  38. package/@types/lib/metadataTypes/User.d.ts +1 -1
  39. package/@types/lib/metadataTypes/User.d.ts.map +1 -1
  40. package/@types/lib/metadataTypes/definitions/DataFilter.definition.d.ts +230 -0
  41. package/@types/lib/metadataTypes/definitions/DataFilter.definition.d.ts.map +1 -0
  42. package/@types/lib/metadataTypes/definitions/DataFilterHidden.definition.d.ts +230 -0
  43. package/@types/lib/metadataTypes/definitions/DataFilterHidden.definition.d.ts.map +1 -0
  44. package/@types/lib/metadataTypes/definitions/Filter.definition.d.ts +203 -31
  45. package/@types/lib/metadataTypes/definitions/FilterDefinition.definition.d.ts +218 -0
  46. package/@types/lib/metadataTypes/definitions/FilterDefinition.definition.d.ts.map +1 -0
  47. package/@types/lib/metadataTypes/definitions/FilterDefinitionHidden.definition.d.ts +218 -0
  48. package/@types/lib/metadataTypes/definitions/FilterDefinitionHidden.definition.d.ts.map +1 -0
  49. package/@types/lib/metadataTypes/definitions/Journey.definition.d.ts +18 -0
  50. package/@types/lib/util/devops.d.ts +1 -0
  51. package/@types/lib/util/devops.d.ts.map +1 -1
  52. package/@types/lib/util/replaceContentBlockReference.d.ts +3 -3
  53. package/@types/lib/util/replaceContentBlockReference.d.ts.map +1 -1
  54. package/@types/lib/util/util.d.ts.map +1 -1
  55. package/@types/lib/util/validations.d.ts.map +1 -1
  56. package/@types/types/mcdev.d.d.ts +296 -0
  57. package/@types/types/mcdev.d.d.ts.map +1 -1
  58. package/lib/MetadataTypeDefinitions.js +4 -0
  59. package/lib/MetadataTypeInfo.js +4 -0
  60. package/lib/Retriever.js +3 -0
  61. package/lib/index.js +87 -3
  62. package/lib/metadataTypes/Automation.js +3 -1
  63. package/lib/metadataTypes/DataExtension.js +19 -12
  64. package/lib/metadataTypes/DataExtensionField.js +25 -3
  65. package/lib/metadataTypes/DataFilter.js +653 -0
  66. package/lib/metadataTypes/DataFilterHidden.js +18 -0
  67. package/lib/metadataTypes/Filter.js +315 -1
  68. package/lib/metadataTypes/ImportFile.js +11 -1
  69. package/lib/metadataTypes/Journey.js +118 -7
  70. package/lib/metadataTypes/definitions/Automation.definition.js +1 -0
  71. package/lib/metadataTypes/definitions/DataFilter.definition.js +168 -0
  72. package/lib/metadataTypes/definitions/DataFilterHidden.definition.js +169 -0
  73. package/lib/metadataTypes/definitions/Filter.definition.js +136 -22
  74. package/lib/metadataTypes/definitions/Journey.definition.js +20 -1
  75. package/lib/util/devops.js +18 -5
  76. package/lib/util/util.js +7 -2
  77. package/lib/util/validations.js +7 -1
  78. package/package.json +10 -10
  79. package/test/general.test.js +17 -19
  80. package/test/mockRoot/.mcdevrc.json +4 -1
  81. package/test/mockRoot/deploy/testInstance/testBU/dataFilter/testExisting_dataFilter.dataFilter-meta.json +19 -0
  82. package/test/mockRoot/deploy/testInstance/testBU/dataFilter/testNew_dataFilter.dataFilter-meta.json +19 -0
  83. package/test/mockRoot/deploy/testInstance/testBU/filter/testExisting_filter.filter-meta.json +10 -0
  84. package/test/mockRoot/deploy/testInstance/testBU/filter/testNew_filter.filter-meta.json +11 -0
  85. package/test/mockRoot/deploy/testInstance/testBU/journey/testExisting_journey_updatecontact.journey-meta.json +108 -0
  86. package/test/resources/9999999/automation/v1/filters/a0f1a1bc-4ea1-44b3-8fe1-ce40ef35c1c0/patch-response.json +18 -0
  87. package/test/resources/9999999/automation/v1/filters/f018f237-f7ef-40b0-afc8-39ea2e5dcca4/delete-response.txt +0 -0
  88. package/test/resources/9999999/automation/v1/filters/f018f237-f7ef-40b0-afc8-39ea2e5dcca4/get-response.json +15 -0
  89. package/test/resources/9999999/automation/v1/filters/f018f237-f7ef-40b0-afc8-39ea2e5dcca4/patch-response.json +15 -0
  90. package/test/resources/9999999/automation/v1/filters/get-response.json +22 -0
  91. package/test/resources/9999999/dataFilter/build-expected.json +19 -0
  92. package/test/resources/9999999/dataFilter/get-expected.json +23 -0
  93. package/test/resources/9999999/dataFilter/patch-expected.json +20 -0
  94. package/test/resources/9999999/dataFilter/post-expected.json +20 -0
  95. package/test/resources/9999999/dataFilter/template-expected.json +19 -0
  96. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINasset,asset-sha,automatio,cloudpage,dataexten,filteract,filterdef,hidden,journey,list,mysubs,publicati,queryacti,salesforc,shared_da,shared_da,shared_sa,ssjsactiv,synchroni,useriniti-response.xml +765 -0
  97. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINfilteractivity,hidden-response.xml +139 -0
  98. package/test/resources/9999999/dataFolder/retrieve-ContentTypeINfilterdefinition,hidden-response.xml +116 -0
  99. package/test/resources/9999999/email/v1/filters/filterdefinition/10ef27dd-4be8-4bf6-970a-8acf8e281e55/delete-response.txt +1 -0
  100. package/test/resources/9999999/email/v1/filters/filterdefinition/10ef27dd-4be8-4bf6-970a-8acf8e281e55/get-response.json +19 -0
  101. package/test/resources/9999999/email/v1/filters/filterdefinition/10ef27dd-4be8-4bf6-970a-8acf8e281e55/patch-response.json +15 -0
  102. package/test/resources/9999999/email/v1/filters/filterdefinition/category/5318/get-response.json +27 -0
  103. package/test/resources/9999999/email/v1/filters/filterdefinition/category/8502/get-response.json +7 -0
  104. package/test/resources/9999999/email/v1/filters/filterdefinition/category/8503/get-response.json +7 -0
  105. package/test/resources/9999999/email/v1/filters/filterdefinition/post-response.json +15 -0
  106. package/test/resources/9999999/filter/build-expected.json +10 -0
  107. package/test/resources/9999999/filter/get-expected.json +11 -0
  108. package/test/resources/9999999/filter/patch-expected.json +11 -0
  109. package/test/resources/9999999/filter/post-expected.json +11 -0
  110. package/test/resources/9999999/filter/template-expected.json +10 -0
  111. package/test/resources/9999999/filterActivity/create-response.xml +46 -0
  112. package/test/resources/9999999/filterActivity/retrieve-CustomerKey=testExisting_filter-response.xml +30 -0
  113. package/test/resources/9999999/filterDefinition/retrieve-CustomerKey=testExisting_dataFilter-response.xml +30 -0
  114. package/test/resources/9999999/interaction/v1/interactions/get-response.json +45 -3
  115. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_Multistep/put-response.json +1 -1
  116. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_updatecontact/get-response.json +119 -0
  117. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_journey_updatecontact/put-response.json +106 -0
  118. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_temail/put-response-paused.json +1 -1
  119. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_temail/put-response.json +1 -1
  120. package/test/resources/9999999/interaction/v1/interactions/key_testExisting_temail_notPublished/put-response.json +1 -1
  121. package/test/resources/9999999/journey/get-updatecontact-expected.json +108 -0
  122. package/test/resources/9999999/journey/put-updatecontact-expected.json +108 -0
  123. package/test/type.automation.test.js +14 -14
  124. package/test/type.dataFilter.test.js +174 -0
  125. package/test/type.filter.test.js +170 -0
  126. package/test/type.journey.test.js +59 -7
  127. package/test/type.query.test.js +2 -2
  128. package/test/utils.js +8 -0
  129. package/types/mcdev.d.js +101 -0
@@ -9,6 +9,7 @@ export type MetadataTypeMap = import("../../types/mcdev.d.js").MetadataTypeMap;
9
9
  export type MetadataTypeMapObj = import("../../types/mcdev.d.js").MetadataTypeMapObj;
10
10
  export type SoapRequestParams = import("../../types/mcdev.d.js").SoapRequestParams;
11
11
  export type TemplateMap = import("../../types/mcdev.d.js").TemplateMap;
12
+ export type FilterItem = import("../../types/mcdev.d.js").FilterItem;
12
13
  /**
13
14
  * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject
14
15
  * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract
@@ -20,6 +21,7 @@ export type TemplateMap = import("../../types/mcdev.d.js").TemplateMap;
20
21
  * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj
21
22
  * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams
22
23
  * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap
24
+ * @typedef {import('../../types/mcdev.d.js').FilterItem} FilterItem
23
25
  */
24
26
  /**
25
27
  * Filter MetadataType
@@ -40,17 +42,92 @@ declare class Filter extends MetadataType {
40
42
  * @returns {Promise.<MetadataTypeMapObj>} Promise
41
43
  */
42
44
  static retrieve(retrieveDir: string, _?: void | string[], __?: void | string[], key?: string): Promise<MetadataTypeMapObj>;
45
+ /**
46
+ * parses retrieved Metadata before saving
47
+ *
48
+ * @param {FilterItem} metadata a single record
49
+ * @returns {FilterItem} parsed metadata definition
50
+ */
51
+ static postRetrieveTasks(metadata: FilterItem): FilterItem;
52
+ /**
53
+ * helper for postRetrieveTasks to map data types
54
+ *
55
+ * @param {'source'|'destination'} target we are processing source and destinations
56
+ * @param {FilterItem} metadata single record
57
+ */
58
+ static _postRetrieve_dataTypeMapping(target: "source" | "destination", metadata: FilterItem): void;
59
+ /**
60
+ * helper for preDeployTasks to map data types
61
+ *
62
+ * @param {'source'|'destination'} target we are processing source and destinations
63
+ * @param {FilterItem} metadata single record
64
+ * @param {FilterItem} cachedVersion cached version of the metadata
65
+ */
66
+ static _preDeploy_dataTypeMapping(target: "source" | "destination", metadata: FilterItem, cachedVersion: FilterItem): void;
67
+ /**
68
+ * Creates a single item
69
+ * this uses soap API because the rest api does not allow hotlinking to an existing target DE
70
+ *
71
+ * @param {FilterItem} item a single item
72
+ * @returns {Promise} Promise
73
+ */
74
+ static create(item: FilterItem): Promise<any>;
75
+ /**
76
+ * helper that converts the rest item into a soap item
77
+ *
78
+ * @param {FilterItem} item a single item
79
+ * @returns {object} SOAP formatted filter item
80
+ */
81
+ static preCreateSOAPItem(item: FilterItem): object;
82
+ /**
83
+ * helper that runs update on all create calls to ensure all fields are set
84
+ *
85
+ * @param {FilterItem} restItem original rest item
86
+ * @param {object} response SOAP response
87
+ * @returns {Promise.<FilterItem>} created item
88
+ */
89
+ static postCreateTasks(restItem: FilterItem, response: object): Promise<FilterItem>;
90
+ /**
91
+ * Updates a single item
92
+ *
93
+ * @param {MetadataTypeItem} item a single item
94
+ * @returns {Promise} Promise
95
+ */
96
+ static update(item: MetadataTypeItem): Promise<any>;
97
+ /**
98
+ * prepares a record for deployment
99
+ *
100
+ * @param {FilterItem} metadata a single record
101
+ * @returns {Promise.<FilterItem>} Promise of updated single record
102
+ */
103
+ static preDeployTasks(metadata: FilterItem): Promise<FilterItem>;
104
+ /**
105
+ * helper to allow us to select single metadata entries via REST
106
+ *
107
+ * @private
108
+ * @param {string} key customer key
109
+ * @returns {Promise.<string>} objectId or empty string
110
+ */
111
+ private static _getObjectIdForSingleRetrieve;
43
112
  }
44
113
  declare namespace Filter {
45
114
  let definition: {
46
115
  bodyIteratorField: string;
47
- dependencies: any[];
48
- dependencyGraph: any;
116
+ dependencies: string[];
117
+ dependencyGraph: {
118
+ filterDefinition: string[];
119
+ dataExtension: string[];
120
+ };
49
121
  hasExtended: boolean;
50
122
  idField: string;
51
123
  keyIsFixed: boolean;
52
124
  keyField: string;
53
125
  nameField: string;
126
+ folderType: string;
127
+ folderIdField: string;
128
+ filter: {
129
+ statusId: number;
130
+ };
54
131
  createdDateField: string;
55
132
  createdNameField: any;
56
133
  lastmodDateField: string;
@@ -58,6 +135,7 @@ declare namespace Filter {
58
135
  restPagination: boolean;
59
136
  maxKeyLength: number;
60
137
  type: string;
138
+ soapType: string;
61
139
  typeDescription: string;
62
140
  typeRetrieveByDefault: boolean;
63
141
  typeCdpByDefault: boolean;
@@ -76,7 +154,13 @@ declare namespace Filter {
76
154
  template: boolean;
77
155
  };
78
156
  customerKey: {
79
- isCreateable: any;
157
+ isCreateable: boolean;
158
+ isUpdateable: boolean;
159
+ retrieving: boolean;
160
+ template: boolean;
161
+ };
162
+ CustomerKey: {
163
+ isCreateable: boolean;
80
164
  isUpdateable: boolean;
81
165
  retrieving: boolean;
82
166
  template: boolean;
@@ -87,22 +171,41 @@ declare namespace Filter {
87
171
  retrieving: boolean;
88
172
  template: boolean;
89
173
  };
174
+ Description: {
175
+ isCreateable: boolean;
176
+ isUpdateable: boolean;
177
+ retrieving: boolean;
178
+ template: boolean;
179
+ };
90
180
  destinationObjectId: {
91
181
  isCreateable: boolean;
92
182
  isUpdateable: boolean;
93
183
  retrieving: boolean;
94
184
  template: boolean;
95
185
  };
186
+ DestinationObjectID: {
187
+ isCreateable: boolean;
188
+ isUpdateable: boolean;
189
+ retrieving: boolean;
190
+ template: boolean;
191
+ };
96
192
  destinationTypeId: {
97
193
  isCreateable: boolean;
98
194
  isUpdateable: boolean;
99
195
  retrieving: boolean;
100
196
  template: boolean;
101
197
  };
198
+ DestinationTypeID: {
199
+ isCreateable: boolean;
200
+ isUpdateable: boolean;
201
+ retrieving: boolean;
202
+ template: boolean;
203
+ };
102
204
  filterActivityId: {
103
- isCreateable: any;
104
- isUpdateable: any;
205
+ isCreateable: boolean;
206
+ isUpdateable: boolean;
105
207
  retrieving: boolean;
208
+ template: boolean;
106
209
  };
107
210
  filterDefinitionId: {
108
211
  isCreateable: boolean;
@@ -110,6 +213,12 @@ declare namespace Filter {
110
213
  retrieving: boolean;
111
214
  template: boolean;
112
215
  };
216
+ FilterDefinitionID: {
217
+ isCreateable: boolean;
218
+ isUpdateable: boolean;
219
+ retrieving: boolean;
220
+ template: boolean;
221
+ };
113
222
  modifiedDate: {
114
223
  isCreateable: boolean;
115
224
  isUpdateable: boolean;
@@ -117,7 +226,13 @@ declare namespace Filter {
117
226
  template: boolean;
118
227
  };
119
228
  name: {
120
- isCreateable: any;
229
+ isCreateable: boolean;
230
+ isUpdateable: boolean;
231
+ retrieving: boolean;
232
+ template: boolean;
233
+ };
234
+ Name: {
235
+ isCreateable: boolean;
121
236
  isUpdateable: boolean;
122
237
  retrieving: boolean;
123
238
  template: boolean;
@@ -128,18 +243,78 @@ declare namespace Filter {
128
243
  retrieving: boolean;
129
244
  template: boolean;
130
245
  };
246
+ SourceObjectID: {
247
+ isCreateable: boolean;
248
+ isUpdateable: boolean;
249
+ retrieving: boolean;
250
+ template: boolean;
251
+ };
131
252
  sourceTypeId: {
132
253
  isCreateable: boolean;
133
254
  isUpdateable: boolean;
134
255
  retrieving: boolean;
135
256
  template: boolean;
136
257
  };
258
+ SourceTypeID: {
259
+ isCreateable: boolean;
260
+ isUpdateable: boolean;
261
+ retrieving: boolean;
262
+ template: boolean;
263
+ };
264
+ filterDefinitionSourceTypeId: {
265
+ isCreateable: boolean;
266
+ isUpdateable: boolean;
267
+ retrieving: boolean;
268
+ template: boolean;
269
+ };
137
270
  statusId: {
138
271
  isCreateable: boolean;
139
272
  isUpdateable: boolean;
140
273
  retrieving: boolean;
141
274
  template: boolean;
142
275
  };
276
+ resultDEName: {
277
+ isCreateable: boolean;
278
+ isUpdateable: boolean;
279
+ retrieving: boolean;
280
+ template: boolean;
281
+ };
282
+ resultDEKey: {
283
+ isCreateable: boolean;
284
+ isUpdateable: boolean;
285
+ retrieving: boolean;
286
+ template: boolean;
287
+ };
288
+ resultDEDescription: {
289
+ isCreateable: boolean;
290
+ isUpdateable: boolean;
291
+ retrieving: boolean;
292
+ template: boolean;
293
+ };
294
+ r__folder_Path: {
295
+ isCreateable: boolean;
296
+ isUpdateable: boolean;
297
+ retrieving: boolean;
298
+ template: boolean;
299
+ };
300
+ r__dataFilter_key: {
301
+ isCreateable: boolean;
302
+ isUpdateable: boolean;
303
+ retrieving: boolean;
304
+ template: boolean;
305
+ };
306
+ r__source_dataExtension_key: {
307
+ isCreateable: boolean;
308
+ isUpdateable: boolean;
309
+ retrieving: boolean;
310
+ template: boolean;
311
+ };
312
+ r__destination_dataExtension_key: {
313
+ isCreateable: boolean;
314
+ isUpdateable: boolean;
315
+ retrieving: boolean;
316
+ template: boolean;
317
+ };
143
318
  };
144
319
  };
145
320
  }
@@ -1 +1 @@
1
- {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Filter.js"],"names":[],"mappings":";uBAKa,OAAO,wBAAwB,EAAE,QAAQ;0BACzC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;+BAChD,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;gCACnD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;AAVzD;;;;;;;;;;;GAWG;AAEH;;;;GAIG;AACH;IACI;;;;;;;;;;;OAWG;IACH,6BANW,MAAM,MACN,IAAI,GAAG,MAAM,EAAE,OACf,IAAI,GAAG,MAAM,EAAE,QACf,MAAM,GACJ,OAAO,CAAE,kBAAkB,CAAC,CAIxC;CACJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBApCwB,mBAAmB"}
1
+ {"version":3,"file":"Filter.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/Filter.js"],"names":[],"mappings":";uBAea,OAAO,wBAAwB,EAAE,QAAQ;0BACzC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;+BAChD,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;gCACnD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;yBAC5C,OAAO,wBAAwB,EAAE,UAAU;AAXxD;;;;;;;;;;;;GAYG;AAEH;;;;GAIG;AACH;IACI;;;;;;;;;;;OAWG;IACH,6BANW,MAAM,MACN,IAAI,GAAG,MAAM,EAAE,OACf,IAAI,GAAG,MAAM,EAAE,QACf,MAAM,GACJ,OAAO,CAAE,kBAAkB,CAAC,CAKxC;IACD;;;;;OAKG;IACH,mCAHW,UAAU,GACR,UAAU,CAoCtB;IAED;;;;;OAKG;IACH,6CAHW,QAAQ,GAAC,aAAa,YACtB,UAAU,QA4CpB;IACD;;;;;;OAMG;IACH,0CAJW,QAAQ,GAAC,aAAa,YACtB,UAAU,iBACV,UAAU,QA8CpB;IAED;;;;;;OAMG;IACH,oBAHW,UAAU,gBAiBpB;IAED;;;;;OAKG;IACH,+BAHW,UAAU,GACR,MAAM,CAclB;IAED;;;;;;OAMG;IACH,iCAJW,UAAU,YACV,MAAM,GACJ,OAAO,CAAE,UAAU,CAAC,CAiBhC;IAED;;;;;OAKG;IACH,oBAHW,gBAAgB,gBAK1B;IAED;;;;;OAKG;IACH,gCAHW,UAAU,GACR,OAAO,CAAE,UAAU,CAAC,CAyChC;IAED;;;;;;OAMG;IACH,6CAUC;CAiBJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA9VwB,mBAAmB"}
@@ -0,0 +1,318 @@
1
+ export default FilterDefinition;
2
+ export type BuObject = import("../../types/mcdev.d.js").BuObject;
3
+ export type CodeExtract = import("../../types/mcdev.d.js").CodeExtract;
4
+ export type CodeExtractItem = import("../../types/mcdev.d.js").CodeExtractItem;
5
+ export type MetadataTypeItem = import("../../types/mcdev.d.js").MetadataTypeItem;
6
+ export type MetadataTypeItemDiff = import("../../types/mcdev.d.js").MetadataTypeItemDiff;
7
+ export type MetadataTypeItemObj = import("../../types/mcdev.d.js").MetadataTypeItemObj;
8
+ export type MetadataTypeMap = import("../../types/mcdev.d.js").MetadataTypeMap;
9
+ export type MetadataTypeMapObj = import("../../types/mcdev.d.js").MetadataTypeMapObj;
10
+ export type SoapRequestParams = import("../../types/mcdev.d.js").SoapRequestParams;
11
+ export type TemplateMap = import("../../types/mcdev.d.js").TemplateMap;
12
+ export type FilterDefinitionItem = import("../../types/mcdev.d.js").FilterDefinitionItem;
13
+ export type FilterDefinitionMap = import("../../types/mcdev.d.js").FilterDefinitionMap;
14
+ export type MultiMetadataTypeMap = import("../../types/mcdev.d.js").MultiMetadataTypeMap;
15
+ export type FilterConditionSet = import("../../types/mcdev.d.js").FilterConditionSet;
16
+ export type FilterCondition = import("../../types/mcdev.d.js").FilterCondition;
17
+ /**
18
+ * @typedef {import('../../types/mcdev.d.js').BuObject} BuObject
19
+ * @typedef {import('../../types/mcdev.d.js').CodeExtract} CodeExtract
20
+ * @typedef {import('../../types/mcdev.d.js').CodeExtractItem} CodeExtractItem
21
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItem} MetadataTypeItem
22
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemDiff} MetadataTypeItemDiff
23
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeItemObj} MetadataTypeItemObj
24
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMap} MetadataTypeMap
25
+ * @typedef {import('../../types/mcdev.d.js').MetadataTypeMapObj} MetadataTypeMapObj
26
+ * @typedef {import('../../types/mcdev.d.js').SoapRequestParams} SoapRequestParams
27
+ * @typedef {import('../../types/mcdev.d.js').TemplateMap} TemplateMap
28
+ * @typedef {import('../../types/mcdev.d.js').FilterDefinitionItem} FilterDefinitionItem
29
+ * @typedef {import('../../types/mcdev.d.js').FilterDefinitionMap} FilterDefinitionMap
30
+ * @typedef {import('../../types/mcdev.d.js').MultiMetadataTypeMap} MultiMetadataTypeMap
31
+ * @typedef {import('../../types/mcdev.d.js').FilterConditionSet} FilterConditionSet
32
+ * @typedef {import('../../types/mcdev.d.js').FilterCondition} FilterCondition
33
+ */
34
+ /**
35
+ * FilterDefinition MetadataType
36
+ *
37
+ * @augments MetadataType
38
+ */
39
+ declare class FilterDefinition extends MetadataType {
40
+ static cache: {};
41
+ static deIdKeyMap: any;
42
+ static hidden: boolean;
43
+ /**
44
+ * Retrieves all records and saves it to disk
45
+ *
46
+ * @param {string} retrieveDir Directory where retrieved metadata directory will be saved
47
+ * @param {string[]} [_] unused parameter
48
+ * @param {string[]} [__] unused parameter
49
+ * @param {string} [key] customer key of single item to retrieve
50
+ * @returns {Promise.<{metadata: FilterDefinitionMap, type: string}>} Promise of items
51
+ */
52
+ static retrieve(retrieveDir: string, _?: string[], __?: string[], key?: string): Promise<{
53
+ metadata: FilterDefinitionMap;
54
+ type: string;
55
+ }>;
56
+ /**
57
+ * helper for {@link FilterDefinition.retrieve}
58
+ *
59
+ * @param {boolean} [recached] indicates if this is a recursive call after cache refresh
60
+ * @returns {Promise.<number[]>} Array of folder IDs
61
+ */
62
+ static _getFilterFolderIds(recached?: boolean): Promise<number[]>;
63
+ /**
64
+ * helper for {@link FilterDefinition._cacheMeasures}
65
+ *
66
+ * @returns {Promise.<number[]>} Array of folder IDs
67
+ */
68
+ static _getMeasureFolderIds(): Promise<number[]>;
69
+ /**
70
+ * helper for {@link FilterDefinition.retrieve}. uses cached dataExtensions to resolve dataExtensionFields
71
+ *
72
+ * @param {FilterDefinitionMap} metadataTypeMap -
73
+ * @param {'retrieve'|'deploy'} [mode] -
74
+ */
75
+ static _cacheDeFields(metadataTypeMap: FilterDefinitionMap, mode?: "retrieve" | "deploy"): Promise<void>;
76
+ /**
77
+ * helper for {@link FilterDefinition.retrieve}
78
+ *
79
+ * @param {FilterDefinitionMap} metadataTypeMap -
80
+ */
81
+ static _cacheContactAttributes(metadataTypeMap: FilterDefinitionMap): Promise<void>;
82
+ /**
83
+ * helper for {@link FilterDefinition.retrieve}
84
+ *
85
+ * @param {FilterDefinitionMap} metadataTypeMap -
86
+ */
87
+ static _cacheMeasures(metadataTypeMap: FilterDefinitionMap): Promise<void>;
88
+ /**
89
+ * Retrieves all records for caching
90
+ *
91
+ * @returns {Promise.<{metadata: FilterDefinitionMap, type: string}>} Promise of items
92
+ */
93
+ static retrieveForCache(): Promise<{
94
+ metadata: FilterDefinitionMap;
95
+ type: string;
96
+ }>;
97
+ /**
98
+ * parses retrieved Metadata before saving
99
+ *
100
+ * @param {FilterDefinitionItem} metadata a single record
101
+ * @returns {Promise.<FilterDefinitionItem>} parsed metadata definition
102
+ */
103
+ static postRetrieveTasks(metadata: FilterDefinitionItem): Promise<FilterDefinitionItem>;
104
+ /**
105
+ * helper for {@link postRetrieveTasks}
106
+ *
107
+ * @param {FilterDefinitionItem} metadata -
108
+ * @param {'postRetrieve'|'preDeploy'} mode -
109
+ * @param {object[]} [fieldCache] -
110
+ * @param {FilterConditionSet} [filter] -
111
+ * @returns {void}
112
+ */
113
+ static _resolveFields(metadata: FilterDefinitionItem, mode: "postRetrieve" | "preDeploy", fieldCache?: object[], filter?: FilterConditionSet): void;
114
+ /**
115
+ * helper for {@link _resolveFields}
116
+ *
117
+ * @param {FilterCondition} condition -
118
+ * @param {object[]} fieldCache -
119
+ * @returns {void}
120
+ */
121
+ static _postRetrieve_resolveFieldIdsCondition(condition: FilterCondition, fieldCache: object[]): void;
122
+ /**
123
+ * helper for {@link _resolveFields}
124
+ *
125
+ * @param {FilterCondition} condition -
126
+ * @param {object[]} fieldCache -
127
+ * @returns {void}
128
+ */
129
+ static _preDeploy_resolveFieldNamesCondition(condition: FilterCondition, fieldCache: object[]): void;
130
+ /**
131
+ * helper for {@link postRetrieveTasks}
132
+ *
133
+ * @param {FilterDefinitionItem} metadata -
134
+ * @param {object} [filter] -
135
+ * @returns {void}
136
+ */
137
+ static _postRetrieve_resolveAttributeIds(metadata: FilterDefinitionItem, filter?: object): void;
138
+ /**
139
+ * prepares a item for deployment
140
+ *
141
+ * @param {FilterDefinitionItem} metadata a single record
142
+ * @returns {Promise.<FilterDefinitionItem>} Promise of updated single item
143
+ */
144
+ static preDeployTasks(metadata: FilterDefinitionItem): Promise<FilterDefinitionItem>;
145
+ /**
146
+ * Creates a single item
147
+ *
148
+ * @param {FilterDefinitionItem} metadata a single item
149
+ * @returns {Promise.<FilterDefinitionItem>} Promise
150
+ */
151
+ static create(metadata: FilterDefinitionItem): Promise<FilterDefinitionItem>;
152
+ /**
153
+ * Updates a single item
154
+ *
155
+ * @param {FilterDefinitionItem} metadata a single item
156
+ * @returns {Promise.<FilterDefinitionItem>} Promise
157
+ */
158
+ static update(metadata: FilterDefinitionItem): Promise<FilterDefinitionItem>;
159
+ /**
160
+ * helper to allow us to select single metadata entries via REST
161
+ *
162
+ * @private
163
+ * @param {string} key customer key
164
+ * @returns {Promise.<string>} objectId or enpty string
165
+ */
166
+ private static _getObjectIdForSingleRetrieve;
167
+ }
168
+ declare namespace FilterDefinition {
169
+ let dataExtensionFieldCache: {
170
+ [x: string]: import("../../types/mcdev.d.js").DataExtensionFieldItem;
171
+ };
172
+ let definition: {
173
+ bodyIteratorField: string;
174
+ dependencies: string[];
175
+ dependencyGraph: {
176
+ dataExtension: string[];
177
+ };
178
+ filter: {};
179
+ hasExtended: boolean;
180
+ idField: string;
181
+ keyField: string;
182
+ nameField: string;
183
+ folderType: string;
184
+ folderIdField: string;
185
+ createdDateField: string;
186
+ createdNameField: string;
187
+ lastmodDateField: string;
188
+ lastmodNameField: string;
189
+ restPagination: boolean;
190
+ restPageSize: number;
191
+ type: string;
192
+ soapType: string;
193
+ typeDescription: string;
194
+ typeRetrieveByDefault: boolean;
195
+ typeName: string;
196
+ fields: {
197
+ id: {
198
+ isCreateable: boolean;
199
+ isUpdateable: boolean;
200
+ retrieving: boolean;
201
+ template: boolean;
202
+ };
203
+ key: {
204
+ isCreateable: boolean;
205
+ isUpdateable: boolean;
206
+ retrieving: boolean;
207
+ template: boolean;
208
+ };
209
+ createdDate: {
210
+ isCreateable: boolean;
211
+ isUpdateable: boolean;
212
+ retrieving: boolean;
213
+ template: boolean;
214
+ };
215
+ createdBy: {
216
+ isCreateable: boolean;
217
+ isUpdateable: boolean;
218
+ retrieving: boolean;
219
+ template: boolean;
220
+ };
221
+ createdByName: {
222
+ isCreateable: boolean;
223
+ isUpdateable: boolean;
224
+ retrieving: boolean;
225
+ template: boolean;
226
+ };
227
+ lastUpdated: {
228
+ isCreateable: boolean;
229
+ isUpdateable: boolean;
230
+ retrieving: boolean;
231
+ template: boolean;
232
+ };
233
+ lastUpdatedBy: {
234
+ isCreateable: boolean;
235
+ isUpdateable: boolean;
236
+ retrieving: boolean;
237
+ template: boolean;
238
+ };
239
+ lastUpdatedByName: {
240
+ isCreateable: boolean;
241
+ isUpdateable: boolean;
242
+ retrieving: boolean;
243
+ template: boolean;
244
+ };
245
+ name: {
246
+ isCreateable: boolean;
247
+ isUpdateable: boolean;
248
+ retrieving: boolean;
249
+ template: boolean;
250
+ };
251
+ categoryId: {
252
+ isCreateable: boolean;
253
+ isUpdateable: boolean;
254
+ retrieving: boolean;
255
+ template: boolean;
256
+ };
257
+ description: {
258
+ isCreateable: boolean;
259
+ isUpdateable: boolean;
260
+ retrieving: boolean;
261
+ template: boolean;
262
+ };
263
+ filterDefinitionXml: {
264
+ isCreateable: boolean;
265
+ isUpdateable: boolean;
266
+ retrieving: boolean;
267
+ template: boolean;
268
+ };
269
+ derivedFromType: {
270
+ isCreateable: boolean;
271
+ isUpdateable: boolean;
272
+ retrieving: boolean;
273
+ template: boolean;
274
+ };
275
+ derivedFromObjectId: {
276
+ isCreateable: boolean;
277
+ isUpdateable: boolean;
278
+ retrieving: boolean;
279
+ template: boolean;
280
+ };
281
+ derivedFromObjectTypeName: {
282
+ isCreateable: boolean;
283
+ isUpdateable: boolean;
284
+ retrieving: boolean;
285
+ template: boolean;
286
+ };
287
+ derivedFromObjectName: {
288
+ isCreateable: boolean;
289
+ isUpdateable: boolean;
290
+ retrieving: boolean;
291
+ template: boolean;
292
+ };
293
+ isSendable: {
294
+ isCreateable: boolean;
295
+ isUpdateable: boolean;
296
+ retrieving: boolean;
297
+ template: boolean;
298
+ };
299
+ r__source_dataExtension_key: {
300
+ isCreateable: boolean;
301
+ isUpdateable: boolean;
302
+ retrieving: boolean;
303
+ template: boolean;
304
+ };
305
+ c__filterDefinition: {
306
+ skipValidation: boolean;
307
+ };
308
+ r__folder_Path: {
309
+ isCreateable: boolean;
310
+ isUpdateable: boolean;
311
+ retrieving: boolean;
312
+ template: boolean;
313
+ };
314
+ };
315
+ };
316
+ }
317
+ import MetadataType from './MetadataType.js';
318
+ //# sourceMappingURL=FilterDefinition.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"FilterDefinition.d.ts","sourceRoot":"","sources":["../../../lib/metadataTypes/FilterDefinition.js"],"names":[],"mappings":";uBAUa,OAAO,wBAAwB,EAAE,QAAQ;0BACzC,OAAO,wBAAwB,EAAE,WAAW;8BAC5C,OAAO,wBAAwB,EAAE,eAAe;+BAChD,OAAO,wBAAwB,EAAE,gBAAgB;mCACjD,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;8BACpD,OAAO,wBAAwB,EAAE,eAAe;iCAChD,OAAO,wBAAwB,EAAE,kBAAkB;gCACnD,OAAO,wBAAwB,EAAE,iBAAiB;0BAClD,OAAO,wBAAwB,EAAE,WAAW;mCAC5C,OAAO,wBAAwB,EAAE,oBAAoB;kCACrD,OAAO,wBAAwB,EAAE,mBAAmB;mCACpD,OAAO,wBAAwB,EAAE,oBAAoB;iCACrD,OAAO,wBAAwB,EAAE,kBAAkB;8BACnD,OAAO,wBAAwB,EAAE,eAAe;AAf7D;;;;;;;;;;;;;;;;GAgBG;AAEH;;;;GAIG;AACH;IACI,iBAAkB;IAClB,uBAAkB;IAClB,uBAAsB;IACtB;;;;;;;;OAQG;IACH,6BANW,MAAM,MACN,MAAM,EAAE,OACR,MAAM,EAAE,QACR,MAAM,GACJ,OAAO,CAAE;QAAC,QAAQ,EAAE,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAiDnE;IACD;;;;;OAKG;IACH,sCAHW,OAAO,GACL,OAAO,CAAE,MAAM,EAAE,CAAC,CA+B9B;IACD;;;;OAIG;IACH,+BAFa,OAAO,CAAE,MAAM,EAAE,CAAC,CA2B9B;IAED;;;;;OAKG;IACH,uCAHW,mBAAmB,SACnB,UAAU,GAAC,QAAQ,iBA0D7B;IACD;;;;OAIG;IACH,gDAFW,mBAAmB,iBAkB7B;IACD;;;;OAIG;IACH,uCAFW,mBAAmB,iBA6B7B;IAED;;;;OAIG;IACH,2BAFa,OAAO,CAAE;QAAC,QAAQ,EAAE,mBAAmB,CAAC;QAAC,IAAI,EAAE,MAAM,CAAA;KAAC,CAAC,CAInE;IAED;;;;;OAKG;IACH,mCAHW,oBAAoB,GAClB,OAAO,CAAE,oBAAoB,CAAC,CA4F1C;IAED;;;;;;;;OAQG;IACH,gCANW,oBAAoB,QACpB,cAAc,GAAC,WAAW,eAC1B,MAAM,EAAE,WACR,kBAAkB,GAChB,IAAI,CAiChB;IACD;;;;;;OAMG;IACH,yDAJW,eAAe,cACf,MAAM,EAAE,GACN,IAAI,CAYhB;IACD;;;;;;OAMG;IACH,wDAJW,eAAe,cACf,MAAM,EAAE,GACN,IAAI,CAgBhB;IACD;;;;;;OAMG;IACH,mDAJW,oBAAoB,WACpB,MAAM,GACJ,IAAI,CAiChB;IAED;;;;;OAKG;IACH,gCAHW,oBAAoB,GAClB,OAAO,CAAE,oBAAoB,CAAC,CAuC1C;IAeD;;;;;OAKG;IACH,wBAHW,oBAAoB,GAClB,OAAO,CAAE,oBAAoB,CAAC,CAK1C;IACD;;;;;OAKG;IACH,wBAHW,oBAAoB,GAClB,OAAO,CAAE,oBAAoB,CAAC,CAQ1C;IAED;;;;;;OAMG;IACH,6CAUC;CAiBJ;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;yBA9mBwB,mBAAmB"}