@umbraco/playwright-testhelpers 2.0.0-beta.5 → 2.0.0-beta.51

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 (179) hide show
  1. package/dist/lib/helpers/ApiHelpers.d.ts +36 -4
  2. package/dist/lib/helpers/ApiHelpers.js +130 -4
  3. package/dist/lib/helpers/ApiHelpers.js.map +1 -1
  4. package/dist/lib/helpers/ConstantHelper.d.ts +1 -1
  5. package/dist/lib/helpers/ConstantHelper.js +1 -1
  6. package/dist/lib/helpers/ConstantHelper.js.map +1 -1
  7. package/dist/lib/helpers/ContentUiHelper.d.ts +78 -0
  8. package/dist/lib/helpers/ContentUiHelper.js +216 -0
  9. package/dist/lib/helpers/ContentUiHelper.js.map +1 -0
  10. package/dist/lib/helpers/DataTypeApiHelper.d.ts +14 -14
  11. package/dist/lib/helpers/DataTypeApiHelper.js +114 -133
  12. package/dist/lib/helpers/DataTypeApiHelper.js.map +1 -1
  13. package/dist/lib/helpers/DataTypeUiHelper.d.ts +159 -0
  14. package/dist/lib/helpers/DataTypeUiHelper.js +509 -0
  15. package/dist/lib/helpers/DataTypeUiHelper.js.map +1 -0
  16. package/dist/lib/helpers/DictionaryApiHelper.d.ts +12 -8
  17. package/dist/lib/helpers/DictionaryApiHelper.js +104 -66
  18. package/dist/lib/helpers/DictionaryApiHelper.js.map +1 -1
  19. package/dist/lib/helpers/DocumentApiHelper.d.ts +19 -0
  20. package/dist/lib/helpers/DocumentApiHelper.js +177 -0
  21. package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
  22. package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +35 -0
  23. package/dist/lib/helpers/DocumentTypeApiHelper.js +433 -0
  24. package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -0
  25. package/dist/lib/helpers/DocumentTypeUiHelper.d.ts +36 -0
  26. package/dist/lib/helpers/DocumentTypeUiHelper.js +100 -0
  27. package/dist/lib/helpers/DocumentTypeUiHelper.js.map +1 -0
  28. package/dist/lib/helpers/ExamineManagementUiHelper.d.ts +15 -0
  29. package/dist/lib/helpers/ExamineManagementUiHelper.js +38 -0
  30. package/dist/lib/helpers/ExamineManagementUiHelper.js.map +1 -0
  31. package/dist/lib/helpers/HealthCheckApiHelper.d.ts +13 -0
  32. package/dist/lib/helpers/HealthCheckApiHelper.js +47 -0
  33. package/dist/lib/helpers/HealthCheckApiHelper.js.map +1 -0
  34. package/dist/lib/helpers/HealthCheckUiHelper.d.ts +23 -0
  35. package/dist/lib/helpers/HealthCheckUiHelper.js +59 -0
  36. package/dist/lib/helpers/HealthCheckUiHelper.js.map +1 -0
  37. package/dist/lib/helpers/IndexerApiHelper.d.ts +7 -0
  38. package/dist/lib/helpers/IndexerApiHelper.js +19 -0
  39. package/dist/lib/helpers/IndexerApiHelper.js.map +1 -0
  40. package/dist/lib/helpers/LanguageApiHelper.d.ts +8 -4
  41. package/dist/lib/helpers/LanguageApiHelper.js +46 -26
  42. package/dist/lib/helpers/LanguageApiHelper.js.map +1 -1
  43. package/dist/lib/helpers/LanguageUiHelper.d.ts +22 -0
  44. package/dist/lib/helpers/LanguageUiHelper.js +62 -0
  45. package/dist/lib/helpers/LanguageUiHelper.js.map +1 -0
  46. package/dist/lib/helpers/LogViewerUiHelper.d.ts +37 -0
  47. package/dist/lib/helpers/LogViewerUiHelper.js +102 -0
  48. package/dist/lib/helpers/LogViewerUiHelper.js.map +1 -0
  49. package/dist/lib/helpers/LoginUiHelper.d.ts +11 -0
  50. package/dist/lib/helpers/LoginUiHelper.js +30 -0
  51. package/dist/lib/helpers/LoginUiHelper.js.map +1 -0
  52. package/dist/lib/helpers/MediaApiHelper.d.ts +22 -0
  53. package/dist/lib/helpers/MediaApiHelper.js +168 -0
  54. package/dist/lib/helpers/MediaApiHelper.js.map +1 -0
  55. package/dist/lib/helpers/MediaTypeApiHelper.d.ts +32 -0
  56. package/dist/lib/helpers/MediaTypeApiHelper.js +390 -0
  57. package/dist/lib/helpers/MediaTypeApiHelper.js.map +1 -0
  58. package/dist/lib/helpers/MediaTypeUiHelper.d.ts +15 -0
  59. package/dist/lib/helpers/MediaTypeUiHelper.js +39 -0
  60. package/dist/lib/helpers/MediaTypeUiHelper.js.map +1 -0
  61. package/dist/lib/helpers/MediaUiHelper.d.ts +37 -0
  62. package/dist/lib/helpers/MediaUiHelper.js +117 -0
  63. package/dist/lib/helpers/MediaUiHelper.js.map +1 -0
  64. package/dist/lib/helpers/MemberApiHelper.d.ts +16 -0
  65. package/dist/lib/helpers/MemberApiHelper.js +88 -0
  66. package/dist/lib/helpers/MemberApiHelper.js.map +1 -0
  67. package/dist/lib/helpers/MemberGroupApiHelper.d.ts +14 -0
  68. package/dist/lib/helpers/MemberGroupApiHelper.js +63 -0
  69. package/dist/lib/helpers/MemberGroupApiHelper.js.map +1 -0
  70. package/dist/lib/helpers/MemberGroupUiHelper.d.ts +14 -0
  71. package/dist/lib/helpers/MemberGroupUiHelper.js +37 -0
  72. package/dist/lib/helpers/MemberGroupUiHelper.js.map +1 -0
  73. package/dist/lib/helpers/MemberTypeApiHelper.d.ts +17 -0
  74. package/dist/lib/helpers/MemberTypeApiHelper.js +121 -0
  75. package/dist/lib/helpers/MemberTypeApiHelper.js.map +1 -0
  76. package/dist/lib/helpers/MemberTypeUiHelper.d.ts +13 -0
  77. package/dist/lib/helpers/MemberTypeUiHelper.js +35 -0
  78. package/dist/lib/helpers/MemberTypeUiHelper.js.map +1 -0
  79. package/dist/lib/helpers/MemberUiHelper.d.ts +40 -0
  80. package/dist/lib/helpers/MemberUiHelper.js +114 -0
  81. package/dist/lib/helpers/MemberUiHelper.js.map +1 -0
  82. package/dist/lib/helpers/ModelsBuilderApiHelper.d.ts +6 -0
  83. package/dist/lib/helpers/ModelsBuilderApiHelper.js +15 -0
  84. package/dist/lib/helpers/ModelsBuilderApiHelper.js.map +1 -0
  85. package/dist/lib/helpers/ModelsBuilderUiHelper.d.ts +9 -0
  86. package/dist/lib/helpers/ModelsBuilderUiHelper.js +22 -0
  87. package/dist/lib/helpers/ModelsBuilderUiHelper.js.map +1 -0
  88. package/dist/lib/helpers/ObjectTypesApiHelper.d.ts +7 -0
  89. package/dist/lib/helpers/ObjectTypesApiHelper.js +25 -0
  90. package/dist/lib/helpers/ObjectTypesApiHelper.js.map +1 -0
  91. package/dist/lib/helpers/PackageApiHelper.d.ts +3 -2
  92. package/dist/lib/helpers/PackageApiHelper.js +6 -3
  93. package/dist/lib/helpers/PackageApiHelper.js.map +1 -1
  94. package/dist/lib/helpers/PackageUiHelper.d.ts +49 -0
  95. package/dist/lib/helpers/PackageUiHelper.js +134 -0
  96. package/dist/lib/helpers/PackageUiHelper.js.map +1 -0
  97. package/dist/lib/helpers/PartialViewApiHelper.d.ts +14 -10
  98. package/dist/lib/helpers/PartialViewApiHelper.js +124 -98
  99. package/dist/lib/helpers/PartialViewApiHelper.js.map +1 -1
  100. package/dist/lib/helpers/PartialViewUiHelper.d.ts +19 -0
  101. package/dist/lib/helpers/PartialViewUiHelper.js +57 -0
  102. package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -0
  103. package/dist/lib/helpers/ProfilingUiHelper.d.ts +11 -0
  104. package/dist/lib/helpers/ProfilingUiHelper.js +27 -0
  105. package/dist/lib/helpers/ProfilingUiHelper.js.map +1 -0
  106. package/dist/lib/helpers/PublishedCacheApiHelper.d.ts +6 -0
  107. package/dist/lib/helpers/PublishedCacheApiHelper.js +15 -0
  108. package/dist/lib/helpers/PublishedCacheApiHelper.js.map +1 -0
  109. package/dist/lib/helpers/PublishedStatusUiHelper.d.ts +19 -0
  110. package/dist/lib/helpers/PublishedStatusUiHelper.js +47 -0
  111. package/dist/lib/helpers/PublishedStatusUiHelper.js.map +1 -0
  112. package/dist/lib/helpers/RedirectManagementApiHelper.d.ts +10 -0
  113. package/dist/lib/helpers/RedirectManagementApiHelper.js +30 -0
  114. package/dist/lib/helpers/RedirectManagementApiHelper.js.map +1 -0
  115. package/dist/lib/helpers/RedirectManagementUiHelper.d.ts +17 -0
  116. package/dist/lib/helpers/RedirectManagementUiHelper.js +45 -0
  117. package/dist/lib/helpers/RedirectManagementUiHelper.js.map +1 -0
  118. package/dist/lib/helpers/RelationTypeApiHelper.d.ts +15 -0
  119. package/dist/lib/helpers/{RelationType.js → RelationTypeApiHelper.js} +45 -58
  120. package/dist/lib/helpers/RelationTypeApiHelper.js.map +1 -0
  121. package/dist/lib/helpers/RelationTypeUiHelper.d.ts +21 -0
  122. package/dist/lib/helpers/RelationTypeUiHelper.js +55 -0
  123. package/dist/lib/helpers/RelationTypeUiHelper.js.map +1 -0
  124. package/dist/lib/helpers/ScriptApiHelper.d.ts +15 -10
  125. package/dist/lib/helpers/ScriptApiHelper.js +144 -97
  126. package/dist/lib/helpers/ScriptApiHelper.js.map +1 -1
  127. package/dist/lib/helpers/ScriptUiHelper.d.ts +18 -0
  128. package/dist/lib/helpers/ScriptUiHelper.js +57 -0
  129. package/dist/lib/helpers/ScriptUiHelper.js.map +1 -0
  130. package/dist/lib/helpers/StylesheetApiHelper.d.ts +14 -10
  131. package/dist/lib/helpers/StylesheetApiHelper.js +131 -105
  132. package/dist/lib/helpers/StylesheetApiHelper.js.map +1 -1
  133. package/dist/lib/helpers/StylesheetUiHelper.d.ts +28 -0
  134. package/dist/lib/helpers/StylesheetUiHelper.js +90 -0
  135. package/dist/lib/helpers/StylesheetUiHelper.js.map +1 -0
  136. package/dist/lib/helpers/TelemetryDataUiHelper.d.ts +10 -0
  137. package/dist/lib/helpers/TelemetryDataUiHelper.js +25 -0
  138. package/dist/lib/helpers/TelemetryDataUiHelper.js.map +1 -0
  139. package/dist/lib/helpers/TemplateApiHelper.d.ts +1 -0
  140. package/dist/lib/helpers/TemplateApiHelper.js +6 -0
  141. package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
  142. package/dist/lib/helpers/TemplateUiHelper.d.ts +25 -0
  143. package/dist/lib/helpers/TemplateUiHelper.js +91 -0
  144. package/dist/lib/helpers/TemplateUiHelper.js.map +1 -0
  145. package/dist/lib/helpers/TemporaryFileApiHelper.d.ts +1 -1
  146. package/dist/lib/helpers/TemporaryFileApiHelper.js +6 -10
  147. package/dist/lib/helpers/TemporaryFileApiHelper.js.map +1 -1
  148. package/dist/lib/helpers/TranslationUiHelper.d.ts +32 -0
  149. package/dist/lib/helpers/TranslationUiHelper.js +100 -0
  150. package/dist/lib/helpers/TranslationUiHelper.js.map +1 -0
  151. package/dist/lib/helpers/UiBaseLocators.d.ts +212 -0
  152. package/dist/lib/helpers/UiBaseLocators.js +677 -0
  153. package/dist/lib/helpers/UiBaseLocators.js.map +1 -0
  154. package/dist/lib/helpers/UiHelpers.d.ts +60 -8
  155. package/dist/lib/helpers/UiHelpers.js +93 -28
  156. package/dist/lib/helpers/UiHelpers.js.map +1 -1
  157. package/dist/lib/helpers/UserApiHelper.d.ts +7 -3
  158. package/dist/lib/helpers/UserApiHelper.js +35 -13
  159. package/dist/lib/helpers/UserApiHelper.js.map +1 -1
  160. package/dist/lib/helpers/UserGroupApiHelper.d.ts +5 -3
  161. package/dist/lib/helpers/UserGroupApiHelper.js +20 -19
  162. package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
  163. package/dist/lib/helpers/UserGroupUiHelper.d.ts +20 -0
  164. package/dist/lib/helpers/UserGroupUiHelper.js +56 -0
  165. package/dist/lib/helpers/UserGroupUiHelper.js.map +1 -0
  166. package/dist/lib/helpers/UserUiHelper.d.ts +41 -0
  167. package/dist/lib/helpers/UserUiHelper.js +116 -0
  168. package/dist/lib/helpers/UserUiHelper.js.map +1 -0
  169. package/dist/lib/helpers/WelcomeDashboardUiHelper.d.ts +9 -0
  170. package/dist/lib/helpers/WelcomeDashboardUiHelper.js +22 -0
  171. package/dist/lib/helpers/WelcomeDashboardUiHelper.js.map +1 -0
  172. package/dist/lib/helpers/testExtension.js +5 -0
  173. package/dist/lib/helpers/testExtension.js.map +1 -1
  174. package/dist/tsconfig.tsbuildinfo +1 -1
  175. package/dist/umbraco.config.js +1 -1
  176. package/dist/umbraco.config.js.map +1 -1
  177. package/package.json +8 -6
  178. package/dist/lib/helpers/RelationType.d.ts +0 -15
  179. package/dist/lib/helpers/RelationType.js.map +0 -1
@@ -6,87 +6,32 @@ class DictionaryApiHelper {
6
6
  constructor(api) {
7
7
  this.api = api;
8
8
  }
9
- async ensureNameNotExists(name) {
10
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
11
- const json = await response.json();
12
- for (const sb of json.items) {
13
- if (sb.name === name) {
14
- if (sb.id !== null) {
15
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
16
- }
17
- }
18
- }
19
- return null;
20
- }
21
9
  async get(id) {
22
10
  const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
23
- const json = await response.json();
24
- if (json !== null) {
25
- return json;
26
- }
27
- return null;
11
+ return await response.json();
28
12
  }
29
- async getByName(name) {
30
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');
31
- const json = await response.json();
32
- for (const sb of json.items) {
33
- if (sb.name === name) {
34
- if (sb.id !== null) {
35
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
36
- return await response.json();
37
- }
38
- }
39
- }
40
- return null;
13
+ async doesExist(id) {
14
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
15
+ return response.status() === 200;
41
16
  }
42
17
  async create(name, translations, parentId) {
43
18
  const dictionary = {
44
19
  "name": name,
45
20
  "translations": translations,
46
- "parentId": parentId
21
+ "parent": parentId ? { "id": parentId } : null
47
22
  };
48
23
  const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);
49
24
  // Returns the id of the created dictionary
50
25
  return response.headers().location.split("/").pop();
51
26
  }
52
- async delete(id) {
53
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
54
- }
55
- async deleteByName(name) {
56
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
57
- const json = await response.json();
58
- for (const sb of json.items) {
59
- if (sb.name === name) {
60
- if (sb.id !== null)
61
- return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);
62
- }
63
- }
64
- return null;
65
- }
66
27
  async update(id, dictionary) {
67
28
  return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);
68
29
  }
69
- async nameExists(name) {
70
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');
71
- const json = await response.json();
72
- for (const sb of json.items) {
73
- if (sb.name === name) {
74
- return true;
75
- }
76
- }
77
- return false;
78
- }
79
- async exists(id) {
80
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
81
- return response.status() === 200;
30
+ async delete(id) {
31
+ return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);
82
32
  }
83
- async getChildren(id) {
84
- const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');
85
- const json = response.json();
86
- if (json !== null) {
87
- return json;
88
- }
89
- return null;
33
+ async getAllAtRoot() {
34
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');
90
35
  }
91
36
  async getItems(ids) {
92
37
  let idArray = 'id=' + ids[0];
@@ -101,8 +46,101 @@ class DictionaryApiHelper {
101
46
  }
102
47
  return null;
103
48
  }
104
- async getAllAtRoot() {
105
- return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');
49
+ async getChildren(id) {
50
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');
51
+ const items = await response.json();
52
+ return items.items;
53
+ }
54
+ async recurseDeleteChildren(id) {
55
+ const items = await this.getChildren(id);
56
+ for (const child of items) {
57
+ if (child.isContainer || child.hasChildren) {
58
+ await this.recurseDeleteChildren(child.id);
59
+ }
60
+ else {
61
+ await this.delete(child.id);
62
+ }
63
+ }
64
+ return await this.delete(id);
65
+ }
66
+ async recurseChildren(name, id, toDelete) {
67
+ const items = await this.getChildren(id);
68
+ for (const child of items) {
69
+ if (child.name === name) {
70
+ if (!toDelete) {
71
+ return await this.get(child.id);
72
+ }
73
+ if (child.isContainer || child.hasChildren) {
74
+ return await this.recurseDeleteChildren(child.id);
75
+ }
76
+ else {
77
+ return await this.delete(child.id);
78
+ }
79
+ }
80
+ else if (child.isContainer || child.hasChildren) {
81
+ await this.recurseChildren(name, child.id, toDelete);
82
+ }
83
+ }
84
+ return false;
85
+ }
86
+ async getByName(name) {
87
+ const rootDictionary = await this.getAllAtRoot();
88
+ const jsonDictionary = await rootDictionary.json();
89
+ for (const dictionaryItem of jsonDictionary.items) {
90
+ if (dictionaryItem.name === name) {
91
+ return this.get(dictionaryItem.id);
92
+ }
93
+ else if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {
94
+ const result = await this.recurseChildren(name, dictionaryItem.id, false);
95
+ if (result) {
96
+ return result;
97
+ }
98
+ }
99
+ }
100
+ return false;
101
+ }
102
+ async doesNameExist(name) {
103
+ return await this.getByName(name);
104
+ }
105
+ async ensureNameNotExists(name) {
106
+ const rootDictionary = await this.getAllAtRoot();
107
+ const jsonDictionary = await rootDictionary.json();
108
+ for (const dictionaryItem of jsonDictionary.items) {
109
+ if (dictionaryItem.name === name) {
110
+ if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {
111
+ await this.recurseDeleteChildren(dictionaryItem.id);
112
+ }
113
+ await this.delete(dictionaryItem.id);
114
+ }
115
+ else {
116
+ if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {
117
+ await this.recurseChildren(name, dictionaryItem.id, true);
118
+ }
119
+ }
120
+ }
121
+ }
122
+ async export(id, includeChildren) {
123
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id + '/export?includeChidren=' + includeChildren);
124
+ }
125
+ async import(temporaryFileId, parentId) {
126
+ const importDictionary = {
127
+ "temporaryFile": temporaryFileId ? { "id": temporaryFileId } : null,
128
+ "parent": parentId ? { "id": parentId } : null
129
+ };
130
+ return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/import', importDictionary);
131
+ }
132
+ async createDefaultDictionary(name) {
133
+ await this.ensureNameNotExists(name);
134
+ const allLanguages = await this.api.language.getAll();
135
+ const jsonLanguages = await allLanguages.json();
136
+ const languageIsoCode = jsonLanguages.items[0].isoCode;
137
+ const translations = [
138
+ {
139
+ "isoCode": languageIsoCode,
140
+ "translation": name
141
+ }
142
+ ];
143
+ return await this.create(name, translations);
106
144
  }
107
145
  }
108
146
  exports.DictionaryApiHelper = DictionaryApiHelper;
@@ -1 +1 @@
1
- {"version":3,"file":"DictionaryApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DictionaryApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=10000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n return await response.json();\n }\n }\n }\n return null;\n }\n\n async create(name: string, translations?: { isoCode: string, translation: string }[], parentId?: string) {\n const dictionary = {\n \"name\": name,\n \"translations\": translations,\n \"parentId\": parentId\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);\n // Returns the id of the created dictionary\n return response.headers().location.split(\"/\").pop();\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n }\n\n async deleteByName(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n if (sb.id !== null)\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + sb.id);\n }\n }\n return null;\n }\n\n async update(id: string, dictionary: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);\n }\n\n async nameExists(name: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary?skip=0&take=100000');\n const json = await response.json();\n\n for (const sb of json.items) {\n if (sb.name === name) {\n return true;\n }\n }\n return false;\n }\n\n async exists(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n return response.status() === 200;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');\n const json = response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');\n }\n}"]}
1
+ {"version":3,"file":"DictionaryApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DictionaryApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DictionaryApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n return response.status() === 200;\n }\n\n async create(name: string, translations?: { isoCode: string, translation: string }[], parentId?: string) {\n const dictionary = {\n \"name\": name,\n \"translations\": translations,\n \"parent\": parentId ? {\"id\" : parentId} : null\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary', dictionary);\n // Returns the id of the created dictionary\n return response.headers().location.split(\"/\").pop();\n }\n\n async update(id: string, dictionary: object) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id, dictionary);\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/root?skip=0&take=10000');\n }\n\n async getItems(ids: string[]) {\n let idArray = 'id=' + ids[0];\n let i: number;\n\n for (i = 1; i < ids.length; ++i) {\n idArray += '&id=' + ids[i];\n }\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/item?' + idArray);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/dictionary/children?parentId=' + id + '&skip=0&take=10000');\n const items = await response.json();\n return items.items;\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.isContainer || child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\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.name === name) {\n if (!toDelete) {\n return await this.get(child.id);\n }\n if (child.isContainer || child.hasChildren) {\n return await this.recurseDeleteChildren(child.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.isContainer || child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootDictionary = await this.getAllAtRoot();\n const jsonDictionary = await rootDictionary.json();\n\n for (const dictionaryItem of jsonDictionary.items) {\n if (dictionaryItem.name === name) {\n return this.get(dictionaryItem.id);\n } else if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {\n const result = await this.recurseChildren(name, dictionaryItem.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n async ensureNameNotExists(name: string) {\n const rootDictionary = await this.getAllAtRoot();\n const jsonDictionary = await rootDictionary.json();\n\n for (const dictionaryItem of jsonDictionary.items) {\n if (dictionaryItem.name === name) {\n if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {\n await this.recurseDeleteChildren(dictionaryItem.id);\n }\n await this.delete(dictionaryItem.id);\n } else {\n if (dictionaryItem.isContainer || dictionaryItem.hasChildren) {\n await this.recurseChildren(name, dictionaryItem.id, true);\n }\n }\n }\n }\n\n async export(id: string, includeChildren: boolean) {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/' + id + '/export?includeChidren=' + includeChildren);\n }\n\n async import(temporaryFileId: string, parentId: string) {\n const importDictionary = {\n \"temporaryFile\": temporaryFileId ? {\"id\" : temporaryFileId} : null,\n \"parent\": parentId ? {\"id\" : parentId} : null\n }\n return await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/dictionary/import', importDictionary);\n }\n\n async createDefaultDictionary(name: string) {\n await this.ensureNameNotExists(name);\n const allLanguages = await this.api.language.getAll();\n const jsonLanguages = await allLanguages.json();\n const languageIsoCode = jsonLanguages.items[0].isoCode;\n const translations = [\n {\n \"isoCode\": languageIsoCode,\n \"translation\": name\n }\n ];\n\n return await this.create(name, translations);\n }\n}"]}
@@ -2,4 +2,23 @@ import { ApiHelpers } from "./ApiHelpers";
2
2
  export declare class DocumentApiHelper {
3
3
  api: ApiHelpers;
4
4
  constructor(api: ApiHelpers);
5
+ get(id: string): Promise<any>;
6
+ doesExist(id: string): Promise<boolean>;
7
+ create(document: any): Promise<string | undefined>;
8
+ delete(id: string): Promise<number | undefined>;
9
+ update(id: string, document: any): Promise<import("playwright-core").APIResponse | undefined>;
10
+ getAllAtRoot(): Promise<import("playwright-core").APIResponse>;
11
+ getChildren(id: string): Promise<any>;
12
+ doesNameExist(name: string): Promise<any>;
13
+ private recurseDeleteChildren;
14
+ private recurseChildren;
15
+ getByName(name: string): Promise<any>;
16
+ ensureNameNotExists(name: string): Promise<void>;
17
+ publish(id: string, publishSchedulesData: any): Promise<number | undefined>;
18
+ createDefaultDocument(documentName: string, documentTypeId: string): Promise<string | undefined>;
19
+ createDocumentWithTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string): Promise<string | undefined>;
20
+ createDefaultDocumentWithParent(documentName: string, documentTypeId: string, parentId: string): Promise<string | undefined>;
21
+ createDocumentWithTemplate(documentName: string, documentTypeId: string, templateId: string): Promise<string | undefined>;
22
+ getDomains(id: string): Promise<any>;
23
+ updateDomains(id: string, domains: any): Promise<import("playwright-core").APIResponse>;
5
24
  }
@@ -1,11 +1,188 @@
1
1
  "use strict";
2
2
  Object.defineProperty(exports, "__esModule", { value: true });
3
3
  exports.DocumentApiHelper = void 0;
4
+ const AliasHelper_1 = require("./AliasHelper");
5
+ const json_models_builders_1 = require("@umbraco/json-models-builders");
4
6
  class DocumentApiHelper {
5
7
  api;
6
8
  constructor(api) {
7
9
  this.api = api;
8
10
  }
11
+ async get(id) {
12
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);
13
+ return await response.json();
14
+ }
15
+ async doesExist(id) {
16
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);
17
+ return response.status() === 200;
18
+ }
19
+ async create(document) {
20
+ if (document == null) {
21
+ return;
22
+ }
23
+ const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document', document);
24
+ return response.headers().location.split("v1/document/").pop();
25
+ }
26
+ async delete(id) {
27
+ if (id == null) {
28
+ return;
29
+ }
30
+ const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);
31
+ return response.status();
32
+ }
33
+ async update(id, document) {
34
+ if (document == null) {
35
+ return;
36
+ }
37
+ const variantsData = document.variants.map(variant => ({
38
+ culture: variant.culture,
39
+ segment: variant.segment,
40
+ name: variant.name
41
+ }));
42
+ const updateData = {
43
+ values: document.values,
44
+ variants: variantsData,
45
+ template: document.template
46
+ };
47
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id, updateData);
48
+ }
49
+ async getAllAtRoot() {
50
+ return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document/root?skip=0&take=10000');
51
+ }
52
+ async getChildren(id) {
53
+ const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document/children?parentId=${id}&skip=0&take=10000`);
54
+ const items = await response.json();
55
+ return items.items;
56
+ }
57
+ async doesNameExist(name) {
58
+ return await this.getByName(name);
59
+ }
60
+ async recurseDeleteChildren(id) {
61
+ const items = await this.getChildren(id);
62
+ for (const child of items) {
63
+ if (child.hasChildren) {
64
+ await this.recurseDeleteChildren(child.id);
65
+ }
66
+ else {
67
+ await this.delete(child.id);
68
+ }
69
+ }
70
+ return await this.delete(id);
71
+ }
72
+ async recurseChildren(name, id, toDelete) {
73
+ const items = await this.getChildren(id);
74
+ for (const child of items) {
75
+ if (child.variants[0].name === name) {
76
+ if (!toDelete) {
77
+ return await this.get(child.id);
78
+ }
79
+ if (child.hasChildren) {
80
+ return await this.recurseDeleteChildren(child.id);
81
+ }
82
+ else {
83
+ return await this.delete(child.id);
84
+ }
85
+ }
86
+ else if (child.hasChildren) {
87
+ await this.recurseChildren(name, child.id, toDelete);
88
+ }
89
+ }
90
+ return false;
91
+ }
92
+ async getByName(name) {
93
+ const rootDocuments = await this.getAllAtRoot();
94
+ const jsonDocuments = await rootDocuments.json();
95
+ for (const document of jsonDocuments.items) {
96
+ if (document.variants[0].name === name) {
97
+ return this.get(document.id);
98
+ }
99
+ else if (document.hasChildren) {
100
+ const result = await this.recurseChildren(name, document.id, false);
101
+ if (result) {
102
+ return result;
103
+ }
104
+ }
105
+ }
106
+ return false;
107
+ }
108
+ async ensureNameNotExists(name) {
109
+ const rootDocuments = await this.getAllAtRoot();
110
+ const jsonDocuments = await rootDocuments.json();
111
+ for (const document of jsonDocuments.items) {
112
+ if (document.variants[0].name === name) {
113
+ if (document.hasChildren) {
114
+ await this.recurseDeleteChildren(document.id);
115
+ }
116
+ await this.delete(document.id);
117
+ }
118
+ else {
119
+ if (document.hasChildren) {
120
+ await this.recurseChildren(name, document.id, true);
121
+ }
122
+ }
123
+ }
124
+ }
125
+ async publish(id, publishSchedulesData) {
126
+ if (id == null) {
127
+ return;
128
+ }
129
+ const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/publish', publishSchedulesData);
130
+ return response.status();
131
+ }
132
+ async createDefaultDocument(documentName, documentTypeId) {
133
+ await this.ensureNameNotExists(documentName);
134
+ const document = new json_models_builders_1.DocumentBuilder()
135
+ .withDocumentTypeId(documentTypeId)
136
+ .addVariant()
137
+ .withName(documentName)
138
+ .done()
139
+ .build();
140
+ return await this.create(document);
141
+ }
142
+ async createDocumentWithTextContent(documentName, documentTypeId, textContent, dataTypeName) {
143
+ await this.ensureNameNotExists(documentName);
144
+ const document = new json_models_builders_1.DocumentBuilder()
145
+ .withDocumentTypeId(documentTypeId)
146
+ .addVariant()
147
+ .withName(documentName)
148
+ .done()
149
+ .addValue()
150
+ .withAlias(AliasHelper_1.AliasHelper.toAlias(dataTypeName))
151
+ .withValue(textContent)
152
+ .done()
153
+ .build();
154
+ return await this.create(document);
155
+ }
156
+ async createDefaultDocumentWithParent(documentName, documentTypeId, parentId) {
157
+ await this.ensureNameNotExists(documentName);
158
+ const document = new json_models_builders_1.DocumentBuilder()
159
+ .withDocumentTypeId(documentTypeId)
160
+ .withParentId(parentId)
161
+ .addVariant()
162
+ .withName(documentName)
163
+ .done()
164
+ .build();
165
+ return await this.create(document);
166
+ }
167
+ async createDocumentWithTemplate(documentName, documentTypeId, templateId) {
168
+ await this.ensureNameNotExists(documentName);
169
+ const document = new json_models_builders_1.DocumentBuilder()
170
+ .withDocumentTypeId(documentTypeId)
171
+ .addVariant()
172
+ .withName(documentName)
173
+ .done()
174
+ .withTemplateId(templateId)
175
+ .build();
176
+ return await this.create(document);
177
+ }
178
+ // Domains
179
+ async getDomains(id) {
180
+ const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains');
181
+ return await response.json();
182
+ }
183
+ async updateDomains(id, domains) {
184
+ return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains', domains);
185
+ }
9
186
  }
10
187
  exports.DocumentApiHelper = DocumentApiHelper;
11
188
  //# sourceMappingURL=DocumentApiHelper.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"DocumentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentApiHelper.ts"],"names":[],"mappings":";;;AAEA,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;CAEF;AAPD,8CAOC","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\n\nexport class DocumentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n \n}"]}
1
+ {"version":3,"file":"DocumentApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/DocumentApiHelper.ts"],"names":[],"mappings":";;;AAAA,+CAA0C;AAE1C,wEAA8D;AAE9D,MAAa,iBAAiB;IAC5B,GAAG,CAAY;IAEf,YAAY,GAAe;QACzB,IAAI,CAAC,GAAG,GAAG,GAAG,CAAC;IACjB,CAAC;IAED,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACpG,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,EAAU;QACxB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACpG,OAAO,QAAQ,CAAC,MAAM,EAAE,KAAK,GAAG,CAAC;IACnC,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,QAAQ;QACnB,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,IAAI,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,qCAAqC,EAAE,QAAQ,CAAC,CAAC;QACzG,OAAO,QAAQ,CAAC,OAAO,EAAE,CAAC,QAAQ,CAAC,KAAK,CAAC,cAAc,CAAC,CAAC,GAAG,EAAE,CAAC;IACjE,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,CAAC,CAAC;QACvG,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,EAAU,EAAE,QAAQ;QAC/B,IAAI,QAAQ,IAAI,IAAI,EAAE;YACpB,OAAO;SACR;QACD,MAAM,YAAY,GAAG,QAAQ,CAAC,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,EAAE,CAAC,CAAC;YACrD,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,OAAO,EAAE,OAAO,CAAC,OAAO;YACxB,IAAI,EAAE,OAAO,CAAC,IAAI;SACnB,CAAC,CAAC,CAAC;QAEJ,MAAM,UAAU,GAAG;YACjB,MAAM,EAAE,QAAQ,CAAC,MAAM;YACvB,QAAQ,EAAE,YAAY;YACtB,QAAQ,EAAE,QAAQ,CAAC,QAAQ;SAC5B,CAAC;QACF,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,EAAE,UAAU,CAAC,CAAC;IACxG,CAAC;IAED,KAAK,CAAC,YAAY;QAChB,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,iEAAiE,CAAC,CAAC;IAClH,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,EAAU;QAC1B,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,GAAG,IAAI,CAAC,GAAG,CAAC,OAAO,8DAA8D,EAAE,oBAAoB,CAAC,CAAC;QAC7I,MAAM,KAAK,GAAG,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;QACpC,OAAO,KAAK,CAAC,KAAK,CAAC;IACrB,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,IAAY;QAC9B,OAAO,MAAM,IAAI,CAAC,SAAS,CAAC,IAAI,CAAC,CAAC;IACpC,CAAC;IAEO,KAAK,CAAC,qBAAqB,CAAC,EAAU;QAC5C,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,WAAW,EAAE;gBACrB,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC5C;iBAAM;gBACL,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;aAC7B;SACF;QACD,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,CAAC;IAC/B,CAAC;IAEO,KAAK,CAAC,eAAe,CAAC,IAAY,EAAE,EAAU,EAAE,QAAiB;QACvE,MAAM,KAAK,GAAG,MAAM,IAAI,CAAC,WAAW,CAAC,EAAE,CAAC,CAAC;QAEzC,KAAK,MAAM,KAAK,IAAI,KAAK,EAAE;YACzB,IAAI,KAAK,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACnC,IAAI,CAAC,QAAQ,EAAE;oBACb,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACjC;gBACD,IAAI,KAAK,CAAC,WAAW,EAAE;oBACrB,OAAO,MAAM,IAAI,CAAC,qBAAqB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACnD;qBAAM;oBACL,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;iBACpC;aACF;iBAAM,IAAI,KAAK,CAAC,WAAW,EAAE;gBAC5B,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,KAAK,CAAC,EAAE,EAAE,QAAQ,CAAC,CAAC;aACtD;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,IAAY;QAC1B,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtC,OAAO,IAAI,CAAC,GAAG,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAC9B;iBAAM,IAAI,QAAQ,CAAC,WAAW,EAAE;gBAC/B,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,KAAK,CAAC,CAAC;gBACpE,IAAI,MAAM,EAAE;oBACV,OAAO,MAAM,CAAC;iBACf;aACF;SACF;QACD,OAAO,KAAK,CAAC;IACf,CAAC;IAED,KAAK,CAAC,mBAAmB,CAAC,IAAY;QACpC,MAAM,aAAa,GAAG,MAAM,IAAI,CAAC,YAAY,EAAE,CAAC;QAChD,MAAM,aAAa,GAAG,MAAM,aAAa,CAAC,IAAI,EAAE,CAAC;QAEjD,KAAK,MAAM,QAAQ,IAAI,aAAa,CAAC,KAAK,EAAE;YAC1C,IAAI,QAAQ,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,IAAI,KAAK,IAAI,EAAE;gBACtC,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACxB,MAAM,IAAI,CAAC,qBAAqB,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;iBAC/C;gBACD,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,EAAE,CAAC,CAAC;aAChC;iBAAM;gBACL,IAAI,QAAQ,CAAC,WAAW,EAAE;oBACxB,MAAM,IAAI,CAAC,eAAe,CAAC,IAAI,EAAE,QAAQ,CAAC,EAAE,EAAE,IAAI,CAAC,CAAC;iBACrD;aACF;SACF;IACH,CAAC;IAED,KAAK,CAAC,OAAO,CAAC,EAAU,EAAE,oBAAoB;QAC5C,IAAI,EAAE,IAAI,IAAI,EAAE;YACd,OAAO;SACR;QACD,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,GAAG,UAAU,EAAE,oBAAoB,CAAC,CAAC;QACvI,OAAO,QAAQ,CAAC,MAAM,EAAE,CAAC;IAC3B,CAAC;IAED,KAAK,CAAC,qBAAqB,CAAC,YAAoB,EAAE,cAAsB;QACtE,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,sCAAe,EAAE;aACnC,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,6BAA6B,CAAC,YAAoB,EAAE,cAAsB,EAAE,WAAmB,EAAE,YAAoB;QACzH,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,sCAAe,EAAE;aACnC,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE;aACR,QAAQ,EAAE;aACR,SAAS,CAAC,yBAAW,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC;aAC5C,SAAS,CAAC,WAAW,CAAC;aACtB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,+BAA+B,CAAC,YAAoB,EAAE,cAAsB,EAAE,QAAgB;QAClG,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,sCAAe,EAAE;aACnC,kBAAkB,CAAC,cAAc,CAAC;aAClC,YAAY,CAAC,QAAQ,CAAC;aACtB,UAAU,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE;aACR,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,KAAK,CAAC,0BAA0B,CAAC,YAAoB,EAAE,cAAsB,EAAE,UAAkB;QAC/F,MAAM,IAAI,CAAC,mBAAmB,CAAC,YAAY,CAAC,CAAC;QAC7C,MAAM,QAAQ,GAAG,IAAI,sCAAe,EAAE;aACnC,kBAAkB,CAAC,cAAc,CAAC;aAClC,UAAU,EAAE;aACV,QAAQ,CAAC,YAAY,CAAC;aACtB,IAAI,EAAE;aACR,cAAc,CAAC,UAAU,CAAC;aAC1B,KAAK,EAAE,CAAC;QACX,OAAO,MAAM,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC;IACrC,CAAC;IAED,UAAU;IACV,KAAK,CAAC,UAAU,CAAC,EAAU;QACzB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,GAAG,UAAU,CAAC,CAAC;QACjH,OAAO,MAAM,QAAQ,CAAC,IAAI,EAAE,CAAC;IAC/B,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,EAAU,EAAE,OAAO;QACrC,OAAO,MAAM,IAAI,CAAC,GAAG,CAAC,GAAG,CAAC,IAAI,CAAC,GAAG,CAAC,OAAO,GAAG,sCAAsC,GAAG,EAAE,GAAG,UAAU,EAAE,OAAO,CAAC,CAAC;IAClH,CAAC;CACF;AAxMD,8CAwMC","sourcesContent":["import {AliasHelper} from \"./AliasHelper\";\nimport {ApiHelpers} from \"./ApiHelpers\";\nimport {DocumentBuilder} from \"@umbraco/json-models-builders\";\n\nexport class DocumentApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async get(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);\n return await response.json();\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);\n return response.status() === 200;\n }\n\n async create(document) {\n if (document == null) {\n return;\n }\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/document', document);\n return response.headers().location.split(\"v1/document/\").pop();\n }\n\n async delete(id: string) {\n if (id == null) {\n return;\n }\n const response = await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id);\n return response.status();\n }\n\n async update(id: string, document) {\n if (document == null) {\n return;\n }\n const variantsData = document.variants.map(variant => ({\n culture: variant.culture,\n segment: variant.segment,\n name: variant.name\n }));\n \n const updateData = {\n values: document.values,\n variants: variantsData,\n template: document.template\n };\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id, updateData);\n }\n\n async getAllAtRoot() {\n return await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/tree/document/root?skip=0&take=10000');\n }\n\n async getChildren(id: string) {\n const response = await this.api.get(`${this.api.baseUrl}/umbraco/management/api/v1/tree/document/children?parentId=${id}&skip=0&take=10000`);\n const items = await response.json();\n return items.items;\n }\n\n async doesNameExist(name: string) {\n return await this.getByName(name);\n }\n\n private async recurseDeleteChildren(id: string) {\n const items = await this.getChildren(id);\n\n for (const child of items) {\n if (child.hasChildren) {\n await this.recurseDeleteChildren(child.id);\n } else {\n await this.delete(child.id);\n }\n }\n return await this.delete(id);\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.id);\n } else {\n return await this.delete(child.id);\n }\n } else if (child.hasChildren) {\n await this.recurseChildren(name, child.id, toDelete);\n }\n }\n return false;\n }\n\n async getByName(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n if (document.variants[0].name === name) {\n return this.get(document.id);\n } else if (document.hasChildren) {\n const result = await this.recurseChildren(name, document.id, false);\n if (result) {\n return result;\n }\n }\n }\n return false;\n }\n\n async ensureNameNotExists(name: string) {\n const rootDocuments = await this.getAllAtRoot();\n const jsonDocuments = await rootDocuments.json();\n\n for (const document of jsonDocuments.items) {\n if (document.variants[0].name === name) {\n if (document.hasChildren) {\n await this.recurseDeleteChildren(document.id);\n }\n await this.delete(document.id);\n } else {\n if (document.hasChildren) {\n await this.recurseChildren(name, document.id, true);\n }\n }\n }\n }\n\n async publish(id: string, publishSchedulesData) {\n if (id == null) {\n return;\n }\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/publish', publishSchedulesData);\n return response.status();\n }\n\n async createDefaultDocument(documentName: string, documentTypeId: string) {\n await this.ensureNameNotExists(documentName);\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n return await this.create(document);\n }\n\n async createDocumentWithTextContent(documentName: string, documentTypeId: string, textContent: string, dataTypeName: string) {\n await this.ensureNameNotExists(documentName);\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .addValue()\n .withAlias(AliasHelper.toAlias(dataTypeName))\n .withValue(textContent)\n .done()\n .build();\n return await this.create(document);\n }\n\n async createDefaultDocumentWithParent(documentName: string, documentTypeId: string, parentId: string) {\n await this.ensureNameNotExists(documentName);\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .withParentId(parentId)\n .addVariant()\n .withName(documentName)\n .done()\n .build();\n return await this.create(document);\n }\n\n async createDocumentWithTemplate(documentName: string, documentTypeId: string, templateId: string) {\n await this.ensureNameNotExists(documentName);\n const document = new DocumentBuilder()\n .withDocumentTypeId(documentTypeId)\n .addVariant()\n .withName(documentName)\n .done()\n .withTemplateId(templateId)\n .build();\n return await this.create(document);\n }\n\n // Domains\n async getDomains(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains');\n return await response.json();\n }\n\n async updateDomains(id: string, domains) {\n return await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/document/' + id + '/domains', domains);\n }\n} "]}
@@ -0,0 +1,35 @@
1
+ import { ApiHelpers } from "./ApiHelpers";
2
+ export declare class DocumentTypeApiHelper {
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(documentType: any): Promise<string | undefined>;
11
+ get(id: string): Promise<any>;
12
+ getByName(name: string): Promise<any>;
13
+ doesNameExist(name: string): Promise<any>;
14
+ delete(id: string): Promise<number | undefined>;
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
+ createDefaultDocumentType(documentTypeName: string): Promise<string | undefined>;
20
+ createDocumentTypeWithPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName?: string, varyByCulture?: boolean): Promise<string | undefined>;
21
+ createDocumentTypeWithPropertyEditorInTab(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName?: string, varyByCulture?: boolean): Promise<string | undefined>;
22
+ createDocumentTypeWithTwoPropertyEditors(documentTypeName: string, dataTypeNameOne: string, dataTypeIdOne: string, dataTypeNameTwo: string, dataTypeIdTwo: string, groupName?: string): Promise<string | undefined>;
23
+ createDefaultDocumentTypeWithAllowAsRoot(documentTypeName: string): Promise<string | undefined>;
24
+ createDocumentTypeWithAllowedChildNode(documentTypeName: string, allowedChildNodeId: string): Promise<string | undefined>;
25
+ createDocumentTypeWithAllowedTemplate(documentTypeName: string, allowedTemplateId: string, isAllowedAsRoot?: boolean): Promise<string | undefined>;
26
+ createDocumentTypeWithTwoAllowedTemplates(documentTypeName: string, allowedTemplateOneId: string, allowedTemplateTwoId: string, isAllowedAsRoot?: boolean): Promise<string | undefined>;
27
+ createDocumentTypeWithTwoGroups(documentTypeName: string, dataType: string, dataTypeId: string, groupNameOne: string, groupNameTwo: string): Promise<string | undefined>;
28
+ createDocumentTypeWithAComposition(documentTypeName: string, compositionId: string): Promise<string | undefined>;
29
+ createDocumentTypeWithTwoTabs(documentTypeName: string, dataType: string, dataTypeId: string, tabNameOne: string, tabNameTwo: string): Promise<string | undefined>;
30
+ doesGroupContainCorrectPropertyEditor(documentTypeName: string, dataTypeName: string, dataTypeId: string, groupName: string): Promise<any>;
31
+ doesTabContainCorrectPropertyEditorInGroup(documentTypeName: string, dataTypeName: string, dataTypeId: string, tabName: string, groupName: string): Promise<any>;
32
+ doesDocumentTypeGroupNameContainCorrectSortOrder(documentTypeName: string, groupName: string, sortOrder: number): Promise<boolean>;
33
+ doesDocumentTypeTabNameContainCorrectSortOrder(documentTypeName: string, tabName: string, sortOrder: number): Promise<boolean>;
34
+ getContainerIdWithName(documentTypeName: string, containerName: string): Promise<any>;
35
+ }