@umbraco/playwright-testhelpers 2.0.0-beta.8 → 2.0.0-beta.80

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 (186) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +41 -4
  2. package/dist/lib/helpers/ApiHelpers.js +168 -4
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  5. package/dist/lib/helpers/ContentUiHelper.d.ts +130 -0
  6. package/dist/lib/helpers/ContentUiHelper.js +393 -0
  7. package/dist/lib/helpers/ContentUiHelper.js.map +1 -0
  8. package/dist/lib/helpers/DataTypeApiHelper.d.ts +86 -14
  9. package/dist/lib/helpers/DataTypeApiHelper.js +714 -132
  10. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  11. package/dist/lib/helpers/DataTypeUiHelper.d.ts +266 -0
  12. package/dist/lib/helpers/DataTypeUiHelper.js +850 -0
  13. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -0
  14. package/dist/lib/helpers/DictionaryApiHelper.d.ts +12 -8
  15. package/dist/lib/helpers/DictionaryApiHelper.js +104 -66
  16. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  17. package/dist/lib/helpers/DictionaryUiHelper.d.ts +32 -0
  18. package/dist/lib/helpers/DictionaryUiHelper.js +100 -0
  19. package/dist/lib/helpers/DictionaryUiHelper.js.map +1 -0
  20. package/dist/lib/helpers/DocumentApiHelper.d.ts +35 -0
  21. package/dist/lib/helpers/DocumentApiHelper.js +326 -0
  22. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  23. package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +18 -0
  24. package/dist/lib/helpers/DocumentBlueprintApiHelper.js +126 -0
  25. package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -0
  26. package/dist/lib/helpers/DocumentBlueprintUiHelper.d.ts +18 -0
  27. package/dist/lib/helpers/DocumentBlueprintUiHelper.js +54 -0
  28. package/dist/lib/helpers/DocumentBlueprintUiHelper.js.map +1 -0
  29. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +37 -0
  30. package/dist/lib/helpers/DocumentTypeApiHelper.js +464 -0
  31. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -0
  32. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +35 -0
  33. package/dist/lib/helpers/DocumentTypeUiHelper.js +98 -0
  34. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
  35. package/dist/lib/helpers/ExamineManagementUiHelper.d.ts +15 -0
  36. package/dist/lib/helpers/ExamineManagementUiHelper.js +38 -0
  37. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -0
  38. package/dist/lib/helpers/HealthCheckApiHelper.d.ts +13 -0
  39. package/dist/lib/helpers/HealthCheckApiHelper.js +47 -0
  40. package/dist/lib/helpers/HealthCheckApiHelper.js.map +1 -0
  41. package/dist/lib/helpers/HealthCheckUiHelper.d.ts +23 -0
  42. package/dist/lib/helpers/HealthCheckUiHelper.js +59 -0
  43. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -0
  44. package/dist/lib/helpers/IndexerApiHelper.d.ts +7 -0
  45. package/dist/lib/helpers/IndexerApiHelper.js +19 -0
  46. package/dist/lib/helpers/IndexerApiHelper.js.map +1 -0
  47. package/dist/lib/helpers/LanguageApiHelper.d.ts +8 -4
  48. package/dist/lib/helpers/LanguageApiHelper.js +46 -26
  49. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  50. package/dist/lib/helpers/LanguageUiHelper.d.ts +23 -0
  51. package/dist/lib/helpers/LanguageUiHelper.js +68 -0
  52. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -0
  53. package/dist/lib/helpers/LogViewerUiHelper.d.ts +37 -0
  54. package/dist/lib/helpers/LogViewerUiHelper.js +102 -0
  55. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -0
  56. package/dist/lib/helpers/LoginApiHelper.d.ts +15 -0
  57. package/dist/lib/helpers/LoginApiHelper.js +85 -0
  58. package/dist/lib/helpers/LoginApiHelper.js.map +1 -0
  59. package/dist/lib/helpers/LoginUiHelper.d.ts +11 -0
  60. package/dist/lib/helpers/LoginUiHelper.js +30 -0
  61. package/dist/lib/helpers/LoginUiHelper.js.map +1 -0
  62. package/dist/lib/helpers/MediaApiHelper.d.ts +30 -0
  63. package/dist/lib/helpers/MediaApiHelper.js +227 -0
  64. package/dist/lib/helpers/MediaApiHelper.js.map +1 -0
  65. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +32 -0
  66. package/dist/lib/helpers/MediaTypeApiHelper.js +390 -0
  67. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -0
  68. package/dist/lib/helpers/MediaTypeUiHelper.d.ts +14 -0
  69. package/dist/lib/helpers/MediaTypeUiHelper.js +38 -0
  70. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
  71. package/dist/lib/helpers/MediaUiHelper.d.ts +38 -0
  72. package/dist/lib/helpers/MediaUiHelper.js +123 -0
  73. package/dist/lib/helpers/MediaUiHelper.js.map +1 -0
  74. package/dist/lib/helpers/MemberApiHelper.d.ts +16 -0
  75. package/dist/lib/helpers/MemberApiHelper.js +88 -0
  76. package/dist/lib/helpers/MemberApiHelper.js.map +1 -0
  77. package/dist/lib/helpers/MemberGroupApiHelper.d.ts +14 -0
  78. package/dist/lib/helpers/MemberGroupApiHelper.js +62 -0
  79. package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -0
  80. package/dist/lib/helpers/MemberGroupUiHelper.d.ts +15 -0
  81. package/dist/lib/helpers/MemberGroupUiHelper.js +40 -0
  82. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -0
  83. package/dist/lib/helpers/MemberTypeApiHelper.d.ts +17 -0
  84. package/dist/lib/helpers/MemberTypeApiHelper.js +121 -0
  85. package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -0
  86. package/dist/lib/helpers/MemberTypeUiHelper.d.ts +13 -0
  87. package/dist/lib/helpers/MemberTypeUiHelper.js +35 -0
  88. package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -0
  89. package/dist/lib/helpers/MemberUiHelper.d.ts +42 -0
  90. package/dist/lib/helpers/MemberUiHelper.js +120 -0
  91. package/dist/lib/helpers/MemberUiHelper.js.map +1 -0
  92. package/dist/lib/helpers/ModelsBuilderApiHelper.d.ts +6 -0
  93. package/dist/lib/helpers/ModelsBuilderApiHelper.js +15 -0
  94. package/dist/lib/helpers/ModelsBuilderApiHelper.js.map +1 -0
  95. package/dist/lib/helpers/ModelsBuilderUiHelper.d.ts +9 -0
  96. package/dist/lib/helpers/ModelsBuilderUiHelper.js +22 -0
  97. package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -0
  98. package/dist/lib/helpers/ObjectTypesApiHelper.d.ts +7 -0
  99. package/dist/lib/helpers/ObjectTypesApiHelper.js +25 -0
  100. package/dist/lib/helpers/ObjectTypesApiHelper.js.map +1 -0
  101. package/dist/lib/helpers/PackageApiHelper.d.ts +3 -2
  102. package/dist/lib/helpers/PackageApiHelper.js +6 -3
  103. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  104. package/dist/lib/helpers/PackageUiHelper.d.ts +49 -0
  105. package/dist/lib/helpers/PackageUiHelper.js +134 -0
  106. package/dist/lib/helpers/PackageUiHelper.js.map +1 -0
  107. package/dist/lib/helpers/PartialViewApiHelper.d.ts +5 -4
  108. package/dist/lib/helpers/PartialViewApiHelper.js +36 -30
  109. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  110. package/dist/lib/helpers/PartialViewUiHelper.d.ts +8 -30
  111. package/dist/lib/helpers/PartialViewUiHelper.js +30 -86
  112. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
  113. package/dist/lib/helpers/ProfilingUiHelper.d.ts +11 -0
  114. package/dist/lib/helpers/ProfilingUiHelper.js +27 -0
  115. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -0
  116. package/dist/lib/helpers/PublishedCacheApiHelper.d.ts +6 -0
  117. package/dist/lib/helpers/PublishedCacheApiHelper.js +15 -0
  118. package/dist/lib/helpers/PublishedCacheApiHelper.js.map +1 -0
  119. package/dist/lib/helpers/PublishedStatusUiHelper.d.ts +19 -0
  120. package/dist/lib/helpers/PublishedStatusUiHelper.js +47 -0
  121. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -0
  122. package/dist/lib/helpers/RedirectManagementApiHelper.d.ts +10 -0
  123. package/dist/lib/helpers/RedirectManagementApiHelper.js +30 -0
  124. package/dist/lib/helpers/RedirectManagementApiHelper.js.map +1 -0
  125. package/dist/lib/helpers/RedirectManagementUiHelper.d.ts +17 -0
  126. package/dist/lib/helpers/RedirectManagementUiHelper.js +45 -0
  127. package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -0
  128. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +15 -0
  129. package/dist/lib/helpers/{RelationType.js → RelationTypeApiHelper.js} +45 -58
  130. package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -0
  131. package/dist/lib/helpers/RelationTypeUiHelper.d.ts +21 -0
  132. package/dist/lib/helpers/RelationTypeUiHelper.js +55 -0
  133. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -0
  134. package/dist/lib/helpers/ScriptApiHelper.d.ts +5 -3
  135. package/dist/lib/helpers/ScriptApiHelper.js +44 -26
  136. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  137. package/dist/lib/helpers/ScriptUiHelper.d.ts +18 -0
  138. package/dist/lib/helpers/ScriptUiHelper.js +59 -0
  139. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -0
  140. package/dist/lib/helpers/StylesheetApiHelper.d.ts +6 -4
  141. package/dist/lib/helpers/StylesheetApiHelper.js +47 -41
  142. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  143. package/dist/lib/helpers/StylesheetUiHelper.d.ts +22 -28
  144. package/dist/lib/helpers/StylesheetUiHelper.js +72 -75
  145. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -1
  146. package/dist/lib/helpers/TelemetryDataUiHelper.d.ts +10 -0
  147. package/dist/lib/helpers/TelemetryDataUiHelper.js +25 -0
  148. package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -0
  149. package/dist/lib/helpers/TemplateApiHelper.d.ts +1 -0
  150. package/dist/lib/helpers/TemplateApiHelper.js +6 -0
  151. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  152. package/dist/lib/helpers/TemplateUiHelper.d.ts +25 -0
  153. package/dist/lib/helpers/TemplateUiHelper.js +93 -0
  154. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -0
  155. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +17 -1
  156. package/dist/lib/helpers/TemporaryFileApiHelper.js +23 -10
  157. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  158. package/dist/lib/helpers/UiBaseLocators.d.ts +228 -0
  159. package/dist/lib/helpers/UiBaseLocators.js +720 -0
  160. package/dist/lib/helpers/UiBaseLocators.js.map +1 -0
  161. package/dist/lib/helpers/UiHelpers.d.ts +56 -9
  162. package/dist/lib/helpers/UiHelpers.js +87 -39
  163. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  164. package/dist/lib/helpers/UserApiHelper.d.ts +16 -9
  165. package/dist/lib/helpers/UserApiHelper.js +64 -19
  166. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  167. package/dist/lib/helpers/UserGroupApiHelper.d.ts +5 -3
  168. package/dist/lib/helpers/UserGroupApiHelper.js +20 -19
  169. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  170. package/dist/lib/helpers/UserGroupUiHelper.d.ts +20 -0
  171. package/dist/lib/helpers/UserGroupUiHelper.js +56 -0
  172. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -0
  173. package/dist/lib/helpers/UserUiHelper.d.ts +73 -0
  174. package/dist/lib/helpers/UserUiHelper.js +202 -0
  175. package/dist/lib/helpers/UserUiHelper.js.map +1 -0
  176. package/dist/lib/helpers/WelcomeDashboardUiHelper.d.ts +9 -0
  177. package/dist/lib/helpers/WelcomeDashboardUiHelper.js +22 -0
  178. package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -0
  179. package/dist/lib/helpers/testExtension.js +2 -0
  180. package/dist/lib/helpers/testExtension.js.map +1 -1
  181. package/dist/tsconfig.tsbuildinfo +1 -1
  182. package/dist/umbraco.config.js +1 -1
  183. package/dist/umbraco.config.js.map +1 -1
  184. package/package.json +9 -11
  185. package/dist/lib/helpers/RelationType.d.ts +0 -15
  186. package/dist/lib/helpers/RelationType.js.map +0 -1
@@ -0,0 +1,227 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.MediaApiHelper = void 0;
4
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
5
+ class MediaApiHelper {
6
+ api;
7
+ constructor(api) {
8
+ this.api = api;
9
+ }
10
+ async ensureNameNotExists(name) {
11
+ const rootMedia = await this.getAllAtRoot();
12
+ const jsonMedia = await rootMedia.json();
13
+ for (const media of jsonMedia.items) {
14
+ if (media.variants[0].name === name) {
15
+ if (media.hasChildren) {
16
+ return await this.recurseDeleteChildren(media);
17
+ }
18
+ return await this.delete(media.id);
19
+ }
20
+ else if (media.hasChildren) {
21
+ await this.recurseChildren(name, media.id, true);
22
+ }
23
+ }
24
+ return null;
25
+ }
26
+ async getAllAtRoot() {
27
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');
28
+ }
29
+ async recurseChildren(name, id, toDelete) {
30
+ const items = await this.getChildren(id);
31
+ for (const child of items) {
32
+ if (child.variants[0].name === name) {
33
+ if (!toDelete) {
34
+ return await this.get(child.id);
35
+ }
36
+ if (child.hasChildren) {
37
+ return await this.recurseDeleteChildren(child);
38
+ }
39
+ return await this.delete(child.id);
40
+ }
41
+ else if (child.hasChildren) {
42
+ return await this.recurseChildren(name, child.id, toDelete);
43
+ }
44
+ }
45
+ return false;
46
+ }
47
+ async recurseDeleteChildren(media) {
48
+ if (!media.hasChildren) {
49
+ return await this.delete(media.id);
50
+ }
51
+ const items = await this.getChildren(media.id);
52
+ for (const child of items) {
53
+ if (child.hasChildren) {
54
+ await this.recurseDeleteChildren(child);
55
+ }
56
+ else {
57
+ await this.delete(child.id);
58
+ }
59
+ }
60
+ return await this.delete(media.id);
61
+ }
62
+ async get(id) {
63
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);
64
+ return await response.json();
65
+ }
66
+ async delete(id) {
67
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);
68
+ }
69
+ async getChildren(id) {
70
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');
71
+ const items = await response.json();
72
+ return items.items;
73
+ }
74
+ async create(media) {
75
+ if (media == null) {
76
+ return;
77
+ }
78
+ const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);
79
+ return response.headers().location.split("/").pop();
80
+ }
81
+ async doesNameExist(name) {
82
+ return await this.getByName(name);
83
+ }
84
+ async getByName(name) {
85
+ const rootMedia = await this.getAllAtRoot();
86
+ const jsonMedia = await rootMedia.json();
87
+ for (const media of jsonMedia.items) {
88
+ if (media.variants[0].name === name) {
89
+ return await this.get(media.id);
90
+ }
91
+ else if (media.hasChildren) {
92
+ await this.recurseChildren(name, media.id, false);
93
+ }
94
+ }
95
+ return null;
96
+ }
97
+ async getRecycleBinItems() {
98
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');
99
+ }
100
+ async emptyRecycleBin() {
101
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');
102
+ }
103
+ async doesMediaItemExistInRecycleBin(mediaItemName) {
104
+ const recycleBin = await this.getRecycleBinItems();
105
+ const jsonRecycleBin = await recycleBin.json();
106
+ for (const media of jsonRecycleBin.items) {
107
+ if (media.variants[0].name === mediaItemName) {
108
+ return true;
109
+ }
110
+ }
111
+ return false;
112
+ }
113
+ async trashMediaItem(mediaItemName) {
114
+ const media = await this.getByName(mediaItemName);
115
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');
116
+ }
117
+ async getMediaPathByName(name) {
118
+ const media = await this.getByName(name);
119
+ if (media && media.urls && media.urls.length > 0) {
120
+ const mediaUrl = media.urls[0].url;
121
+ // Gets the random mediaPath for the media
122
+ const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];
123
+ // Gets the file name from the mediaUrl
124
+ const fileName = mediaUrl.split('/').pop();
125
+ return {
126
+ mediaPath: mediaPath,
127
+ fileName: fileName
128
+ };
129
+ }
130
+ return null;
131
+ }
132
+ async createDefaultMediaFile(mediaName) {
133
+ const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();
134
+ const media = new json_models_builders_1.MediaBuilder()
135
+ .withMediaTypeId(temporaryFile.mediaTypeId)
136
+ .addVariant()
137
+ .withName(mediaName)
138
+ .done()
139
+ .addValue()
140
+ .withAlias('umbracoFile')
141
+ .withValue(temporaryFile.temporaryFileId)
142
+ .done()
143
+ .build();
144
+ return await this.create(media);
145
+ }
146
+ async createDefaultMediaFileAndParentId(mediaName, parentId) {
147
+ const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();
148
+ const media = new json_models_builders_1.MediaBuilder()
149
+ .withMediaTypeId(temporaryFile.mediaTypeId)
150
+ .withParentId(parentId)
151
+ .addVariant()
152
+ .withName(mediaName)
153
+ .done()
154
+ .addValue()
155
+ .withAlias('umbracoFile')
156
+ .withValue(temporaryFile.temporaryFileId)
157
+ .done()
158
+ .build();
159
+ return await this.create(media);
160
+ }
161
+ async createDefaultMediaFolder(mediaFolderName) {
162
+ const mediaType = await this.api.mediaType.getByName('Folder');
163
+ const media = new json_models_builders_1.MediaBuilder()
164
+ .withMediaTypeId(mediaType.id)
165
+ .addVariant()
166
+ .withName(mediaFolderName)
167
+ .done()
168
+ .build();
169
+ return await this.create(media);
170
+ }
171
+ async createDefaultMediaFolderAndParentId(mediaName, parentId) {
172
+ const mediaType = await this.api.mediaType.getByName('Folder');
173
+ const media = new json_models_builders_1.MediaBuilder()
174
+ .withMediaTypeId(mediaType.id)
175
+ .withParentId(parentId)
176
+ .addVariant()
177
+ .withName(mediaName)
178
+ .done()
179
+ .build();
180
+ return await this.create(media);
181
+ }
182
+ async createDefaultMediaWithImage(mediaName) {
183
+ const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();
184
+ const media = new json_models_builders_1.MediaBuilder()
185
+ .withMediaTypeId(temporaryFile.mediaTypeId)
186
+ .addVariant()
187
+ .withName(mediaName)
188
+ .done()
189
+ .addValue()
190
+ .withAlias('umbracoFile')
191
+ .withValue(temporaryFile.temporaryFileId)
192
+ .done()
193
+ .build();
194
+ return await this.create(media);
195
+ }
196
+ async createDefaultMediaWithArticle(mediaName) {
197
+ const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();
198
+ const media = new json_models_builders_1.MediaBuilder()
199
+ .withMediaTypeId(temporaryFile.mediaTypeId)
200
+ .addVariant()
201
+ .withName(mediaName)
202
+ .done()
203
+ .addValue()
204
+ .withAlias('umbracoFile')
205
+ .withValue(temporaryFile.temporaryFileId)
206
+ .done()
207
+ .build();
208
+ return await this.create(media);
209
+ }
210
+ async createDefaultMediaWithImageAndParentId(mediaName, parentId) {
211
+ const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();
212
+ const media = new json_models_builders_1.MediaBuilder()
213
+ .withMediaTypeId(temporaryFile.mediaTypeId)
214
+ .withParentId(parentId)
215
+ .addVariant()
216
+ .withName(mediaName)
217
+ .done()
218
+ .addValue()
219
+ .withAlias('umbracoFile')
220
+ .withValue(temporaryFile.mediaTypeId)
221
+ .done()
222
+ .build();
223
+ return await this.create(media);
224
+ }
225
+ }
226
+ exports.MediaApiHelper = MediaApiHelper;
227
+ //# sourceMappingURL=MediaApiHelper.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"MediaApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/MediaApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {MediaBuilder} from \"@umbraco/json-models-builders\";\n\nexport class MediaApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n if (media.hasChildren) {\n return await this.recurseDeleteChildren(media);\n }\n return await this.delete(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, true);\n }\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/root?skip=0&take=10000');\n }\n\n private async recurseChildren(name: string, id: string, toDelete: boolean) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.variants[0].name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.hasChildren) {\n return await this.recurseDeleteChildren(child);\n }\n return await this.delete(child.id);\n } else if (child.hasChildren) {\n return await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n private async recurseDeleteChildren(media) {\n if (!media.hasChildren) {\n return await this.delete(media.id);\n }\n const items = await this.getChildren(media.id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(media.id);\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n return await response.json();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/media/' + id);\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/media/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n async create(media) {\n if (media == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/media', media);\n return response.headers().location.split(\"/\").pop();\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async getByName(name: string) {\n const rootMedia = await this.getAllAtRoot();\n const jsonMedia = await rootMedia.json();\n\n for (const media of jsonMedia.items) {\n if (media.variants[0].name === name) {\n return await this.get(media.id);\n } else if (media.hasChildren) {\n await this.recurseChildren(name, media.id, false);\n }\n }\n return null;\n }\n\n async getRecycleBinItems() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media/root?skip=0&take=10000');\n }\n\n async emptyRecycleBin() {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/recycle-bin/media');\n }\n\n async doesMediaItemExistInRecycleBin(mediaItemName: string) {\n const recycleBin = await this.getRecycleBinItems();\n const jsonRecycleBin = await recycleBin.json();\n for (const media of jsonRecycleBin.items) {\n if (media.variants[0].name === mediaItemName) {\n return true;\n }\n }\n return false;\n }\n\n async trashMediaItem(mediaItemName: string) {\n const media = await this.getByName(mediaItemName);\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/media/' + media.id + '/move-to-recycle-bin');\n }\n\n async getMediaPathByName(name: string) {\n const media = await this.getByName(name);\n\n if (media && media.urls && media.urls.length > 0) {\n const mediaUrl = media.urls[0].url;\n // Gets the random mediaPath for the media\n const mediaPath = mediaUrl.split('/media/').pop()?.split('/')[0];\n // Gets the file name from the mediaUrl\n const fileName = mediaUrl.split('/').pop();\n\n return {\n mediaPath: mediaPath,\n fileName: fileName\n };\n }\n\n return null;\n }\n\n async createDefaultMediaFile(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFileAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolder(mediaFolderName: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .addVariant()\n .withName(mediaFolderName)\n .done()\n .build();\n\n return await this.create(media);\n }\n\n async createDefaultMediaFolderAndParentId(mediaName: string, parentId: string) {\n const mediaType = await this.api.mediaType.getByName('Folder');\n \n const media = new MediaBuilder()\n .withMediaTypeId(mediaType.id)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImage(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n \n return await this.create(media);\n }\n\n async createDefaultMediaWithArticle(mediaName: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryArticleFile();\n\n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.temporaryFileId)\n .done()\n .build();\n\n return await this.create(media);\n }\n \n async createDefaultMediaWithImageAndParentId(mediaName: string, parentId: string) {\n const temporaryFile = await this.api.temporaryFile.createDefaultTemporaryImageFile();\n \n const media = new MediaBuilder()\n .withMediaTypeId(temporaryFile.mediaTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(mediaName)\n .done()\n .addValue()\n .withAlias('umbracoFile')\n .withValue(temporaryFile.mediaTypeId)\n .done()\n .build();\n\n return await this.create(media);\n }\n}"]}
@@ -0,0 +1,32 @@
1
+ import { ApiHelpers } from "./ApiHelpers";
2
+ export declare class MediaTypeApiHelper {
3
+ api: ApiHelpers;
4
+ constructor(api: ApiHelpers);
5
+ ensureNameNotExists(name: string): Promise<number | import("playwright-core").APIResponse | null | undefined>;
6
+ getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
7
+ private recurseChildren;
8
+ private recurseDeleteChildren;
9
+ getChildren(id: string): Promise<any>;
10
+ create(mediaType: any): Promise<string | undefined>;
11
+ delete(id: string): Promise<number | undefined>;
12
+ getByName(name: string): Promise<any>;
13
+ doesNameExist(name: string): Promise<any>;
14
+ get(id: string): Promise<any>;
15
+ getFolder(id: string): Promise<any>;
16
+ deleteFolder(id: string): Promise<import("playwright-core").APIResponse>;
17
+ createFolder(name: string, parentId?: string): Promise<string | undefined>;
18
+ renameFolder(folderId: string, folderName: string): Promise<import("playwright-core").APIResponse>;
19
+ createDefaultMediaType(mediaTypeName: string): Promise<string | undefined>;
20
+ createMediaTypeWithPropertyEditor(mediaTypeName: string, dataTypeName: string, dataTypeId: string, groupName?: string): Promise<string | undefined>;
21
+ createMediaTypeWithTwoPropertyEditors(mediaTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName?: string): Promise<string | undefined>;
22
+ createMediaTypeWithPropertyEditorInTab(mediaTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName?: string, varyByCulture?: boolean): Promise<string | undefined>;
23
+ createMediaTypeWithTwoGroups(mediaTypeName: string, dataType: string, dataTypeId: string, groupNameOne: string, groupNameTwo: string): Promise<string | undefined>;
24
+ createMediaTypeWithTwoTabs(mediaTypeName: string, dataType: string, dataTypeId: string, tabNameOne: string, tabNameTwo: string): Promise<string | undefined>;
25
+ createMediaTypeWithAllowedChildNode(mediaTypeName: string, allowedChildNodeId: string): Promise<string | undefined>;
26
+ doesGroupContainCorrectPropertyEditor(mediaTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string): Promise<any>;
27
+ doesTabContainCorrectPropertyEditorInGroup(mediaTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string): Promise<any>;
28
+ doesMediaTypeGroupNameContainCorrectSortOrder(mediaTypeName: string, groupName: string, sortOrder: number): Promise<boolean>;
29
+ doesMediaTypeTabNameContainCorrectSortOrder(mediaTypeName: string, tabName: string, sortOrder: number): Promise<boolean>;
30
+ doesTabContainerCorrectPropertyEditor(mediaTypeName: string, tabName: string, dataTypeId: string): Promise<any>;
31
+ doesMediaTypeContainAllowedChildNodeIds(mediaTypeName: string, allowedChildNodeIds: string[]): Promise<any>;
32
+ }