mcdev 9.0.0 → 9.0.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (31) hide show
  1. package/.github/ISSUE_TEMPLATE/bug.yml +1 -0
  2. package/.github/workflows/code-test.yml +1 -0
  3. package/.husky/commit-msg +1 -1
  4. package/.husky/post-checkout +4 -6
  5. package/@types/lib/Deployer.d.ts.map +1 -1
  6. package/@types/lib/metadataTypes/Asset.d.ts.map +1 -1
  7. package/@types/lib/metadataTypes/Folder.d.ts.map +1 -1
  8. package/@types/lib/util/util.d.ts +1 -0
  9. package/@types/lib/util/util.d.ts.map +1 -1
  10. package/lib/Deployer.js +2 -1
  11. package/lib/metadataTypes/Asset.js +8 -1
  12. package/lib/metadataTypes/Folder.js +20 -7
  13. package/lib/metadataTypes/definitions/Folder.definition.js +1 -1
  14. package/lib/util/util.js +2 -0
  15. package/package.json +10 -10
  16. package/test/mockRoot/.mcdevrc.json +1 -1
  17. package/test/mockRoot/deploy/testInstance/testBU/asset/block/test_slash.asset-block-meta.html +12 -0
  18. package/test/mockRoot/deploy/testInstance/testBU/asset/block/test_slash.asset-block-meta.json +29 -0
  19. package/test/resources/9999999/asset/v1/content/assets/16992/get-response.json +60 -0
  20. package/test/resources/9999999/asset/v1/content/assets/post-response-key=test_slash.json +60 -0
  21. package/test/resources/9999999/asset/v1/content/assets/query/+post-response-assetType.idIN3,195,196,197,198,199,200,201,202,203,210,211,212,213-slashfolder.json +198 -0
  22. package/test/resources/9999999/asset/v1/content/categories/post-response.json +9 -0
  23. package/test/resources/9999999/asset-slashfolder-deploy/block/test_slash.asset-block-meta.html +12 -0
  24. package/test/resources/9999999/asset-slashfolder-deploy/block/test_slash.asset-block-meta.json +29 -0
  25. package/test/resources/9999999/dataFolder/+retrieve-ContentTypeINasset,asset-shared,cloudpages-slashfolder-response.xml +136 -0
  26. package/test/resources/9999999/dataFolder/create-ContentType=asset,Name=testFolder_samePath,ParentFolderID=89397-response.xml +33 -0
  27. package/test/resources/9999999/dataFolder/create-response.xml +33 -0
  28. package/test/resources/9999999/dataFolder/retrieve-samePathOtherBU-response.xml +564 -0
  29. package/test/resources/9999999/folder-deploy-samepath/Content Builder/testFolder_samePath.folder-meta.json +9 -0
  30. package/test/resources/9999999/folder-deploy-slash/Content Builder/Headers%2FFolders.folder-meta.json +9 -0
  31. package/test/type.folder.test.js +157 -0
@@ -0,0 +1,198 @@
1
+ {
2
+ "count": 5,
3
+ "page": 1,
4
+ "pageSize": 50,
5
+ "links": {},
6
+ "items": [
7
+ {
8
+ "id": 16992,
9
+ "customerKey": "test_slash",
10
+ "assetType": {
11
+ "id": 197,
12
+ "name": "htmlblock",
13
+ "displayName": "HTML Block"
14
+ },
15
+ "fileProperties": {
16
+ "fileName": "test_slash"
17
+ },
18
+ "name": "test_slash",
19
+ "createdDate": "2026-03-06T07:47:11.04-06:00",
20
+ "createdBy": {
21
+ "id": 710420432,
22
+ "email": "",
23
+ "name": "IDE - joern.berkefeld app user",
24
+ "userId": "710420432"
25
+ },
26
+ "modifiedDate": "2026-03-06T07:47:11.04-06:00",
27
+ "modifiedBy": {
28
+ "id": 710420432,
29
+ "email": "",
30
+ "name": "IDE - joern.berkefeld app user",
31
+ "userId": "710420432"
32
+ },
33
+ "status": {
34
+ "id": 1,
35
+ "name": "Draft"
36
+ },
37
+ "category": {
38
+ "id": 38491,
39
+ "name": "bla/blub",
40
+ "parentId": 89397
41
+ },
42
+ "availableViews": [],
43
+ "modelVersion": 2
44
+ },
45
+ {
46
+ "id": 1295064,
47
+ "customerKey": "testExisting_asset_htmlblock",
48
+ "assetType": {
49
+ "id": 197,
50
+ "name": "htmlblock",
51
+ "displayName": "HTML Block"
52
+ },
53
+ "fileProperties": {
54
+ "fileName": "dont strip non ssjs content"
55
+ },
56
+ "name": "dont strip non ssjs content",
57
+ "createdDate": "2024-01-08T08:26:58.277-06:00",
58
+ "createdBy": {
59
+ "id": 700301950,
60
+ "email": "joern.berkefeld@accenture.com",
61
+ "name": "J\u00f6rn Berkefeld (ASGR)",
62
+ "userId": "700301950"
63
+ },
64
+ "modifiedDate": "2024-01-08T08:28:01.6-06:00",
65
+ "modifiedBy": {
66
+ "id": 700301950,
67
+ "email": "joern.berkefeld@accenture.com",
68
+ "name": "J\u00f6rn Berkefeld (ASGR)",
69
+ "userId": "700301950"
70
+ },
71
+ "status": {
72
+ "id": 1,
73
+ "name": "Draft"
74
+ },
75
+ "category": {
76
+ "id": 89397,
77
+ "name": "Content Builder",
78
+ "parentId": 0
79
+ },
80
+ "availableViews": [],
81
+ "modelVersion": 2
82
+ },
83
+ {
84
+ "id": 1295065,
85
+ "customerKey": "testExisting_htmlblock1",
86
+ "assetType": {
87
+ "id": 197,
88
+ "name": "htmlblock",
89
+ "displayName": "HTML Block"
90
+ },
91
+ "fileProperties": {
92
+ "fileName": "testExisting_htmlblock1"
93
+ },
94
+ "name": "testExisting_htmlblock1",
95
+ "createdDate": "2024-01-08T08:26:58.277-06:00",
96
+ "createdBy": {
97
+ "id": 700301950,
98
+ "email": "joern.berkefeld@accenture.com",
99
+ "name": "J\u00f6rn Berkefeld (ASGR)",
100
+ "userId": "700301950"
101
+ },
102
+ "modifiedDate": "2024-01-08T08:28:01.6-06:00",
103
+ "modifiedBy": {
104
+ "id": 700301950,
105
+ "email": "joern.berkefeld@accenture.com",
106
+ "name": "J\u00f6rn Berkefeld (ASGR)",
107
+ "userId": "700301950"
108
+ },
109
+ "status": {
110
+ "id": 1,
111
+ "name": "Draft"
112
+ },
113
+ "category": {
114
+ "id": 89397,
115
+ "name": "Content Builder",
116
+ "parentId": 0
117
+ },
118
+ "availableViews": [],
119
+ "modelVersion": 2
120
+ },
121
+ {
122
+ "id": 1295066,
123
+ "customerKey": "testExisting_htmlblock2",
124
+ "assetType": {
125
+ "id": 197,
126
+ "name": "htmlblock",
127
+ "displayName": "HTML Block"
128
+ },
129
+ "fileProperties": {
130
+ "fileName": "testExisting_htmlblock2"
131
+ },
132
+ "name": "testExisting_htmlblock2",
133
+ "createdDate": "2024-01-08T08:26:58.277-06:00",
134
+ "createdBy": {
135
+ "id": 700301950,
136
+ "email": "joern.berkefeld@accenture.com",
137
+ "name": "J\u00f6rn Berkefeld (ASGR)",
138
+ "userId": "700301950"
139
+ },
140
+ "modifiedDate": "2024-01-08T08:28:01.6-06:00",
141
+ "modifiedBy": {
142
+ "id": 700301950,
143
+ "email": "joern.berkefeld@accenture.com",
144
+ "name": "J\u00f6rn Berkefeld (ASGR)",
145
+ "userId": "700301950"
146
+ },
147
+ "status": {
148
+ "id": 1,
149
+ "name": "Draft"
150
+ },
151
+ "category": {
152
+ "id": 89397,
153
+ "name": "Content Builder",
154
+ "parentId": 0
155
+ },
156
+ "availableViews": [],
157
+ "modelVersion": 2
158
+ },
159
+ {
160
+ "id": 1295067,
161
+ "customerKey": "testExisting_htmlblock 3 spaces",
162
+ "assetType": {
163
+ "id": 197,
164
+ "name": "htmlblock",
165
+ "displayName": "HTML Block"
166
+ },
167
+ "fileProperties": {
168
+ "fileName": "testExisting_htmlblock 3 spaces"
169
+ },
170
+ "name": "testExisting_htmlblock 3 spaces",
171
+ "createdDate": "2024-01-08T08:26:58.277-06:00",
172
+ "createdBy": {
173
+ "id": 700301950,
174
+ "email": "joern.berkefeld@accenture.com",
175
+ "name": "J\u00f6rn Berkefeld (ASGR)",
176
+ "userId": "700301950"
177
+ },
178
+ "modifiedDate": "2024-01-08T08:28:01.6-06:00",
179
+ "modifiedBy": {
180
+ "id": 700301950,
181
+ "email": "joern.berkefeld@accenture.com",
182
+ "name": "J\u00f6rn Berkefeld (ASGR)",
183
+ "userId": "700301950"
184
+ },
185
+ "status": {
186
+ "id": 1,
187
+ "name": "Draft"
188
+ },
189
+ "category": {
190
+ "id": 89397,
191
+ "name": "Content Builder",
192
+ "parentId": 0
193
+ },
194
+ "availableViews": [],
195
+ "modelVersion": 2
196
+ }
197
+ ]
198
+ }
@@ -0,0 +1,9 @@
1
+ {
2
+ "id": 38491,
3
+ "description": "",
4
+ "enterpriseId": 1111111,
5
+ "memberId": 9999999,
6
+ "name": "bla/blub",
7
+ "parentId": 89397,
8
+ "categoryType": "asset"
9
+ }
@@ -0,0 +1,12 @@
1
+ <table
2
+ cellpadding="0"
3
+ cellspacing="0"
4
+ width="100%"
5
+ role="presentation"
6
+ style="min-width: 100%"
7
+ class="stylingblock-content-wrapper"
8
+ >
9
+ <tr>
10
+ <td class="stylingblock-content-wrapper camarker-inner">test</td>
11
+ </tr>
12
+ </table>
@@ -0,0 +1,29 @@
1
+ {
2
+ "customerKey": "test_slash",
3
+ "assetType": {
4
+ "name": "htmlblock",
5
+ "displayName": "HTML Block"
6
+ },
7
+ "fileProperties": {
8
+ "fileName": "test_slash"
9
+ },
10
+ "name": "test_slash",
11
+ "createdBy": {},
12
+ "modifiedBy": {},
13
+ "memberId": "9999999",
14
+ "status": {
15
+ "name": "Draft"
16
+ },
17
+ "design": "",
18
+ "meta": {
19
+ "wrapperStyles": {
20
+ "mobile": {
21
+ "visible": true
22
+ },
23
+ "styling": {}
24
+ }
25
+ },
26
+ "availableViews": [],
27
+ "modelVersion": 2,
28
+ "r__folder_Path": "Content Builder/bla∕blub"
29
+ }
@@ -0,0 +1,136 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
6
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
7
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
8
+ <soap:Header>
9
+ <wsa:Action>RetrieveResponse</wsa:Action>
10
+ <wsa:MessageID>urn:uuid:00106553-ac00-4e72-b387-42325fe6f93d</wsa:MessageID>
11
+ <wsa:RelatesTo>urn:uuid:a1dd2a9d-b696-480e-9a1b-265f262a8997</wsa:RelatesTo>
12
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
13
+ <wsse:Security>
14
+ <wsu:Timestamp wsu:Id="Timestamp-d82724f8-afc2-4461-8e3e-190aeb6d9625">
15
+ <wsu:Created>2024-01-08T14:30:39Z</wsu:Created>
16
+ <wsu:Expires>2024-01-08T14:35:39Z</wsu:Expires>
17
+ </wsu:Timestamp>
18
+ </wsse:Security>
19
+ </soap:Header>
20
+ <soap:Body>
21
+ <RetrieveResponseMsg xmlns="http://exacttarget.com/wsdl/partnerAPI">
22
+ <OverallStatus>OK</OverallStatus>
23
+ <RequestID>6596087d-d12f-4c9d-9353-783fe01775a3</RequestID>
24
+ <Results xsi:type="DataFolder">
25
+ <Client>
26
+ <ID>9999999</ID>
27
+ </Client>
28
+ <PartnerKey xsi:nil="true" />
29
+ <CreatedDate>2016-07-22T11:52:35.687</CreatedDate>
30
+ <ModifiedDate>2016-07-22T11:52:35.687</ModifiedDate>
31
+ <ID>89397</ID>
32
+ <ObjectID xsi:nil="true" />
33
+ <CustomerKey />
34
+ <ParentFolder>
35
+ <PartnerKey xsi:nil="true" />
36
+ <ID>0</ID>
37
+ <ObjectID xsi:nil="true" />
38
+ </ParentFolder>
39
+ <Name>Content Builder</Name>
40
+ <Description>The root folder for assets</Description>
41
+ <ContentType>asset</ContentType>
42
+ <IsActive>true</IsActive>
43
+ <IsEditable>false</IsEditable>
44
+ <AllowChildren>true</AllowChildren>
45
+ </Results>
46
+ <Results xsi:type="DataFolder">
47
+ <Client>
48
+ <ID>9999999</ID>
49
+ </Client>
50
+ <PartnerKey xsi:nil="true" />
51
+ <CreatedDate>2016-07-29T12:13:07.7</CreatedDate>
52
+ <ModifiedDate>2021-12-16T02:56:14.68</ModifiedDate>
53
+ <ID>90888</ID>
54
+ <ObjectID xsi:nil="true" />
55
+ <CustomerKey />
56
+ <ParentFolder>
57
+ <PartnerKey xsi:nil="true" />
58
+ <ID>89397</ID>
59
+ <ObjectID xsi:nil="true" />
60
+ </ParentFolder>
61
+ <Name>Test Folder</Name>
62
+ <Description />
63
+ <ContentType>asset</ContentType>
64
+ <IsActive>true</IsActive>
65
+ <IsEditable>true</IsEditable>
66
+ <AllowChildren>true</AllowChildren>
67
+ </Results>
68
+ <Results xsi:type="DataFolder">
69
+ <Client>
70
+ <ID>9999999</ID>
71
+ </Client>
72
+ <PartnerKey xsi:nil="true" />
73
+ <CreatedDate>2026-03-06T07:47:11.04</CreatedDate>
74
+ <ModifiedDate>2026-03-06T07:47:11.04</ModifiedDate>
75
+ <ID>38491</ID>
76
+ <ObjectID xsi:nil="true" />
77
+ <CustomerKey />
78
+ <ParentFolder>
79
+ <PartnerKey xsi:nil="true" />
80
+ <ID>89397</ID>
81
+ <ObjectID xsi:nil="true" />
82
+ </ParentFolder>
83
+ <Name>bla/blub</Name>
84
+ <Description />
85
+ <ContentType>asset</ContentType>
86
+ <IsActive>true</IsActive>
87
+ <IsEditable>true</IsEditable>
88
+ <AllowChildren>true</AllowChildren>
89
+ </Results>
90
+ <Results xsi:type="DataFolder">
91
+ <Client>
92
+ <ID>9999999</ID>
93
+ </Client>
94
+ <PartnerKey xsi:nil="true" />
95
+ <CreatedDate>2024-02-16T10:12:15.9</CreatedDate>
96
+ <ModifiedDate>2024-02-16T10:12:15.9</ModifiedDate>
97
+ <ID>14914</ID>
98
+ <ObjectID xsi:nil="true" />
99
+ <CustomerKey />
100
+ <ParentFolder>
101
+ <PartnerKey xsi:nil="true" />
102
+ <ID>0</ID>
103
+ <ObjectID xsi:nil="true" />
104
+ </ParentFolder>
105
+ <Name>CloudPages</Name>
106
+ <Description>The root folder for CloudPages</Description>
107
+ <ContentType>cloudpages</ContentType>
108
+ <IsActive>true</IsActive>
109
+ <IsEditable>false</IsEditable>
110
+ <AllowChildren>true</AllowChildren>
111
+ </Results>
112
+ <Results xsi:type="DataFolder">
113
+ <Client>
114
+ <ID>510007949</ID>
115
+ </Client>
116
+ <PartnerKey xsi:nil="true" />
117
+ <CreatedDate>2025-03-25T03:00:33.163</CreatedDate>
118
+ <ModifiedDate>2025-03-26T03:33:00.893</ModifiedDate>
119
+ <ID>27675</ID>
120
+ <ObjectID xsi:nil="true" />
121
+ <CustomerKey>958bac7c-972b-4cac-aa8a-22a2b77b0fbc</CustomerKey>
122
+ <ParentFolder>
123
+ <PartnerKey xsi:nil="true" />
124
+ <ID>14914</ID>
125
+ <ObjectID xsi:nil="true" />
126
+ </ParentFolder>
127
+ <Name>mcdev</Name>
128
+ <Description />
129
+ <ContentType>cloudpages</ContentType>
130
+ <IsActive>true</IsActive>
131
+ <IsEditable>true</IsEditable>
132
+ <AllowChildren>false</AllowChildren>
133
+ </Results>
134
+ </RetrieveResponseMsg>
135
+ </soap:Body>
136
+ </soap:Envelope>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
6
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
7
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
8
+ <soap:Header>
9
+ <wsa:Action>CreateResponse</wsa:Action>
10
+ <wsa:MessageID>urn:uuid:50c68314-30a5-45d4-93aa-6dd1191190e3</wsa:MessageID>
11
+ <wsa:RelatesTo>urn:uuid:00b40ac8-d7e8-4e55-8b88-fcf3569684a9</wsa:RelatesTo>
12
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
13
+ <wsse:Security>
14
+ <wsu:Timestamp wsu:Id="Timestamp-26435e8f-90d6-4552-aabb-d5eefa3a4bed">
15
+ <wsu:Created>2024-08-08T09:56:20Z</wsu:Created>
16
+ <wsu:Expires>2024-08-08T10:01:20Z</wsu:Expires>
17
+ </wsu:Timestamp>
18
+ </wsse:Security>
19
+ </soap:Header>
20
+ <soap:Body>
21
+ <CreateResponse xmlns="http://exacttarget.com/wsdl/partnerAPI">
22
+ <Results>
23
+ <StatusCode>OK</StatusCode>
24
+ <StatusMessage>Folder created successfully.</StatusMessage>
25
+ <OrdinalID>0</OrdinalID>
26
+ <NewID>88888</NewID>
27
+ <NewObjectID>a890243b-a4e1-4010-85e4-db6d6ae84502</NewObjectID>
28
+ </Results>
29
+ <RequestID>6b408e0b-ecbe-4b8e-9019-6376f6eeb0e2</RequestID>
30
+ <OverallStatus>OK</OverallStatus>
31
+ </CreateResponse>
32
+ </soap:Body>
33
+ </soap:Envelope>
@@ -0,0 +1,33 @@
1
+ <?xml version="1.0" encoding="utf-8"?>
2
+ <soap:Envelope xmlns:soap="http://schemas.xmlsoap.org/soap/envelope/"
3
+ xmlns:xsi="http://www.w3.org/2001/XMLSchema-instance"
4
+ xmlns:xsd="http://www.w3.org/2001/XMLSchema"
5
+ xmlns:wsa="http://schemas.xmlsoap.org/ws/2004/08/addressing"
6
+ xmlns:wsse="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-secext-1.0.xsd"
7
+ xmlns:wsu="http://docs.oasis-open.org/wss/2004/01/oasis-200401-wss-wssecurity-utility-1.0.xsd">
8
+ <soap:Header>
9
+ <wsa:Action>CreateResponse</wsa:Action>
10
+ <wsa:MessageID>urn:uuid:50c68314-30a5-45d4-93aa-6dd1191190e3</wsa:MessageID>
11
+ <wsa:RelatesTo>urn:uuid:00b40ac8-d7e8-4e55-8b88-fcf3569684a9</wsa:RelatesTo>
12
+ <wsa:To>http://schemas.xmlsoap.org/ws/2004/08/addressing/role/anonymous</wsa:To>
13
+ <wsse:Security>
14
+ <wsu:Timestamp wsu:Id="Timestamp-26435e8f-90d6-4552-aabb-d5eefa3a4bed">
15
+ <wsu:Created>2024-08-08T09:56:20Z</wsu:Created>
16
+ <wsu:Expires>2024-08-08T10:01:20Z</wsu:Expires>
17
+ </wsu:Timestamp>
18
+ </wsse:Security>
19
+ </soap:Header>
20
+ <soap:Body>
21
+ <CreateResponse xmlns="http://exacttarget.com/wsdl/partnerAPI">
22
+ <Results>
23
+ <StatusCode>OK</StatusCode>
24
+ <StatusMessage>Folder created successfully.</StatusMessage>
25
+ <OrdinalID>0</OrdinalID>
26
+ <NewID>862099</NewID>
27
+ <NewObjectID>d890243b-a4e1-4010-85e4-db6d6ae84502</NewObjectID>
28
+ </Results>
29
+ <RequestID>5b408e0b-ecbe-4b8e-9019-6376f6eeb0e2</RequestID>
30
+ <OverallStatus>OK</OverallStatus>
31
+ </CreateResponse>
32
+ </soap:Body>
33
+ </soap:Envelope>