@umbraco/playwright-testhelpers 2.0.0-beta.95 → 2.0.0-beta.97
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.
- package/dist/lib/helpers/ApiHelpers.d.ts +10 -2
- package/dist/lib/helpers/ApiHelpers.js +8 -8
- package/dist/lib/helpers/ApiHelpers.js.map +1 -1
- package/dist/lib/helpers/ContentUiHelper.d.ts +54 -2
- package/dist/lib/helpers/ContentUiHelper.js +166 -4
- package/dist/lib/helpers/ContentUiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentApiHelper.d.ts +7 -1
- package/dist/lib/helpers/DocumentApiHelper.js +13 -3
- package/dist/lib/helpers/DocumentApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.d.ts +1 -1
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js +4 -5
- package/dist/lib/helpers/DocumentBlueprintApiHelper.js.map +1 -1
- package/dist/lib/helpers/DocumentTypeApiHelper.d.ts +1 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js +25 -0
- package/dist/lib/helpers/DocumentTypeApiHelper.js.map +1 -1
- package/dist/lib/helpers/NotificationConstantHelper.d.ts +5 -0
- package/dist/lib/helpers/NotificationConstantHelper.js +7 -2
- package/dist/lib/helpers/NotificationConstantHelper.js.map +1 -1
- package/dist/lib/helpers/PartialViewUiHelper.d.ts +0 -1
- package/dist/lib/helpers/PartialViewUiHelper.js +5 -7
- package/dist/lib/helpers/PartialViewUiHelper.js.map +1 -1
- package/dist/lib/helpers/ScriptUiHelper.d.ts +0 -1
- package/dist/lib/helpers/ScriptUiHelper.js +2 -4
- package/dist/lib/helpers/ScriptUiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateApiHelper.d.ts +1 -0
- package/dist/lib/helpers/TemplateApiHelper.js +10 -0
- package/dist/lib/helpers/TemplateApiHelper.js.map +1 -1
- package/dist/lib/helpers/TemplateUiHelper.d.ts +0 -1
- package/dist/lib/helpers/TemplateUiHelper.js +5 -7
- package/dist/lib/helpers/TemplateUiHelper.js.map +1 -1
- package/dist/lib/helpers/UiBaseLocators.d.ts +3 -0
- package/dist/lib/helpers/UiBaseLocators.js +9 -0
- package/dist/lib/helpers/UiBaseLocators.js.map +1 -1
- package/dist/lib/helpers/UserGroupApiHelper.d.ts +16 -1
- package/dist/lib/helpers/UserGroupApiHelper.js +196 -1
- package/dist/lib/helpers/UserGroupApiHelper.js.map +1 -1
- package/dist/tsconfig.tsbuildinfo +1 -1
- package/package.json +2 -2
|
@@ -105,7 +105,7 @@ class UserGroupApiHelper {
|
|
|
105
105
|
.build();
|
|
106
106
|
return await this.create(userGroup);
|
|
107
107
|
}
|
|
108
|
-
async
|
|
108
|
+
async createSimpleUserGroupWithMediaSection(name) {
|
|
109
109
|
await this.ensureNameNotExists(name);
|
|
110
110
|
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
111
111
|
.withName(name)
|
|
@@ -185,6 +185,201 @@ class UserGroupApiHelper {
|
|
|
185
185
|
.build();
|
|
186
186
|
return await this.create(userGroup);
|
|
187
187
|
}
|
|
188
|
+
async createUserGroupWithBrowseNodePermission(name, enabled = true) {
|
|
189
|
+
await this.ensureNameNotExists(name);
|
|
190
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
191
|
+
.withName(name)
|
|
192
|
+
.addSection('Umb.Section.Content')
|
|
193
|
+
.withDocumentRootAccess(true)
|
|
194
|
+
.addFallbackPermission()
|
|
195
|
+
.withBrowseNodePermission(enabled)
|
|
196
|
+
.done()
|
|
197
|
+
.build();
|
|
198
|
+
return await this.create(userGroup);
|
|
199
|
+
}
|
|
200
|
+
async createUserGroupWithCreateDocumentBlueprintPermission(name, enabled = true) {
|
|
201
|
+
await this.ensureNameNotExists(name);
|
|
202
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
203
|
+
.withName(name)
|
|
204
|
+
.addSection('Umb.Section.Content')
|
|
205
|
+
.withDocumentRootAccess(true)
|
|
206
|
+
.addFallbackPermission()
|
|
207
|
+
.withCreateDocumentBlueprintPermission(enabled)
|
|
208
|
+
.withBrowseNodePermission(true)
|
|
209
|
+
.done()
|
|
210
|
+
.build();
|
|
211
|
+
return await this.create(userGroup);
|
|
212
|
+
}
|
|
213
|
+
async createUserGroupWithDeleteDocumentPermission(name, enabled = true) {
|
|
214
|
+
await this.ensureNameNotExists(name);
|
|
215
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
216
|
+
.withName(name)
|
|
217
|
+
.addSection('Umb.Section.Content')
|
|
218
|
+
.withDocumentRootAccess(true)
|
|
219
|
+
.addFallbackPermission()
|
|
220
|
+
.withDeletePermission(enabled)
|
|
221
|
+
.withBrowseNodePermission(true)
|
|
222
|
+
.done()
|
|
223
|
+
.build();
|
|
224
|
+
return await this.create(userGroup);
|
|
225
|
+
}
|
|
226
|
+
async createUserGroupWithCreateDocumentPermission(name, enabled = true) {
|
|
227
|
+
await this.ensureNameNotExists(name);
|
|
228
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
229
|
+
.withName(name)
|
|
230
|
+
.addSection('Umb.Section.Content')
|
|
231
|
+
.withDocumentRootAccess(true)
|
|
232
|
+
.addFallbackPermission()
|
|
233
|
+
.withCreatePermission(enabled)
|
|
234
|
+
.withBrowseNodePermission(true)
|
|
235
|
+
.done()
|
|
236
|
+
.build();
|
|
237
|
+
return await this.create(userGroup);
|
|
238
|
+
}
|
|
239
|
+
async createUserGroupWithNotificationsPermission(name, enabled = true) {
|
|
240
|
+
await this.ensureNameNotExists(name);
|
|
241
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
242
|
+
.withName(name)
|
|
243
|
+
.addSection('Umb.Section.Content')
|
|
244
|
+
.withDocumentRootAccess(true)
|
|
245
|
+
.addFallbackPermission()
|
|
246
|
+
.withNotificationsPermission(enabled)
|
|
247
|
+
.withBrowseNodePermission(true)
|
|
248
|
+
.done()
|
|
249
|
+
.build();
|
|
250
|
+
return await this.create(userGroup);
|
|
251
|
+
}
|
|
252
|
+
async createUserGroupWithPublishPermission(name, enabled = true) {
|
|
253
|
+
await this.ensureNameNotExists(name);
|
|
254
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
255
|
+
.withName(name)
|
|
256
|
+
.addSection('Umb.Section.Content')
|
|
257
|
+
.withDocumentRootAccess(true)
|
|
258
|
+
.addFallbackPermission()
|
|
259
|
+
.withPublishPermission(enabled)
|
|
260
|
+
.withBrowseNodePermission(true)
|
|
261
|
+
.done()
|
|
262
|
+
.build();
|
|
263
|
+
return await this.create(userGroup);
|
|
264
|
+
}
|
|
265
|
+
async createUserGroupWithSetPermissionsPermission(name, enabled = true) {
|
|
266
|
+
await this.ensureNameNotExists(name);
|
|
267
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
268
|
+
.withName(name)
|
|
269
|
+
.addSection('Umb.Section.Content')
|
|
270
|
+
.withDocumentRootAccess(true)
|
|
271
|
+
.addFallbackPermission()
|
|
272
|
+
.withSetPermissionsPermission(enabled)
|
|
273
|
+
.withBrowseNodePermission(true)
|
|
274
|
+
.done()
|
|
275
|
+
.build();
|
|
276
|
+
return await this.create(userGroup);
|
|
277
|
+
}
|
|
278
|
+
async createUserGroupWithUnpublishPermission(name, enabled = true) {
|
|
279
|
+
await this.ensureNameNotExists(name);
|
|
280
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
281
|
+
.withName(name)
|
|
282
|
+
.addSection('Umb.Section.Content')
|
|
283
|
+
.withDocumentRootAccess(true)
|
|
284
|
+
.addFallbackPermission()
|
|
285
|
+
.withUnpublishPermission(enabled)
|
|
286
|
+
.withBrowseNodePermission(true)
|
|
287
|
+
.done()
|
|
288
|
+
.build();
|
|
289
|
+
return await this.create(userGroup);
|
|
290
|
+
}
|
|
291
|
+
async createUserGroupWithUpdatePermission(name, enabled = true) {
|
|
292
|
+
await this.ensureNameNotExists(name);
|
|
293
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
294
|
+
.withName(name)
|
|
295
|
+
.addSection('Umb.Section.Content')
|
|
296
|
+
.withDocumentRootAccess(true)
|
|
297
|
+
.addFallbackPermission()
|
|
298
|
+
.withUpdatePermission(enabled)
|
|
299
|
+
.withBrowseNodePermission(true)
|
|
300
|
+
.done()
|
|
301
|
+
.build();
|
|
302
|
+
return await this.create(userGroup);
|
|
303
|
+
}
|
|
304
|
+
async createUserGroupWithDuplicatePermission(name, enabled = true) {
|
|
305
|
+
await this.ensureNameNotExists(name);
|
|
306
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
307
|
+
.withName(name)
|
|
308
|
+
.addSection('Umb.Section.Content')
|
|
309
|
+
.withDocumentRootAccess(true)
|
|
310
|
+
.addFallbackPermission()
|
|
311
|
+
.withDuplicatePermission(enabled)
|
|
312
|
+
.withBrowseNodePermission(true)
|
|
313
|
+
.done()
|
|
314
|
+
.build();
|
|
315
|
+
return await this.create(userGroup);
|
|
316
|
+
}
|
|
317
|
+
async createUserGroupWithMoveToPermission(name, enabled = true) {
|
|
318
|
+
await this.ensureNameNotExists(name);
|
|
319
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
320
|
+
.withName(name)
|
|
321
|
+
.addSection('Umb.Section.Content')
|
|
322
|
+
.withDocumentRootAccess(true)
|
|
323
|
+
.addFallbackPermission()
|
|
324
|
+
.withMoveToPermission(enabled)
|
|
325
|
+
.withBrowseNodePermission(true)
|
|
326
|
+
.done()
|
|
327
|
+
.build();
|
|
328
|
+
return await this.create(userGroup);
|
|
329
|
+
}
|
|
330
|
+
async createUserGroupWithSortChildrenPermission(name, enabled = true) {
|
|
331
|
+
await this.ensureNameNotExists(name);
|
|
332
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
333
|
+
.withName(name)
|
|
334
|
+
.addSection('Umb.Section.Content')
|
|
335
|
+
.withDocumentRootAccess(true)
|
|
336
|
+
.addFallbackPermission()
|
|
337
|
+
.withSortChildrenPermission(enabled)
|
|
338
|
+
.withBrowseNodePermission(true)
|
|
339
|
+
.done()
|
|
340
|
+
.build();
|
|
341
|
+
return await this.create(userGroup);
|
|
342
|
+
}
|
|
343
|
+
async createUserGroupWithCultureAndHostnamesPermission(name, enabled = true) {
|
|
344
|
+
await this.ensureNameNotExists(name);
|
|
345
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
346
|
+
.withName(name)
|
|
347
|
+
.addSection('Umb.Section.Content')
|
|
348
|
+
.withDocumentRootAccess(true)
|
|
349
|
+
.addFallbackPermission()
|
|
350
|
+
.withCultureAndHostnamesPermission(enabled)
|
|
351
|
+
.withBrowseNodePermission(true)
|
|
352
|
+
.done()
|
|
353
|
+
.build();
|
|
354
|
+
return await this.create(userGroup);
|
|
355
|
+
}
|
|
356
|
+
async createUserGroupWithPublicAccessPermission(name, enabled = true) {
|
|
357
|
+
await this.ensureNameNotExists(name);
|
|
358
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
359
|
+
.withName(name)
|
|
360
|
+
.addSection('Umb.Section.Content')
|
|
361
|
+
.addSection('Umb.Section.Members')
|
|
362
|
+
.withDocumentRootAccess(true)
|
|
363
|
+
.addFallbackPermission()
|
|
364
|
+
.withPublicAccessPermission(enabled)
|
|
365
|
+
.withBrowseNodePermission(true)
|
|
366
|
+
.done()
|
|
367
|
+
.build();
|
|
368
|
+
return await this.create(userGroup);
|
|
369
|
+
}
|
|
370
|
+
async createUserGroupWithRollbackPermission(name, enabled = true) {
|
|
371
|
+
await this.ensureNameNotExists(name);
|
|
372
|
+
const userGroup = new json_models_builders_1.UserGroupBuilder()
|
|
373
|
+
.withName(name)
|
|
374
|
+
.addSection('Umb.Section.Content')
|
|
375
|
+
.withDocumentRootAccess(true)
|
|
376
|
+
.addFallbackPermission()
|
|
377
|
+
.withRollbackPermission(enabled)
|
|
378
|
+
.withBrowseNodePermission(true)
|
|
379
|
+
.done()
|
|
380
|
+
.build();
|
|
381
|
+
return await this.create(userGroup);
|
|
382
|
+
}
|
|
188
383
|
async doesUserGroupContainContentStartNodeId(userGroupName, documentStartNodeId) {
|
|
189
384
|
const userGroup = await this.getByName(userGroupName);
|
|
190
385
|
if (userGroup.documentStartNode === null) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {UserGroupBuilder} from \"@umbraco/json-models-builders\";\n\n\nexport class UserGroupApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const json = await this.getAll();\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/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n return response.status() === 200;\n }\n\n async create(userGroupData) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n // Returns the id of the userGroup\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const json = await this.getAll();\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/user-group/' + sb.id);\n return await response.json();\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/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async doesNameExist(name: string) {\n const json = await this.getAll();\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 doesUserGroupContainLanguage(userGroupName: string, languageName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.languages.includes(languageName);\n }\n\n async doesUserGroupContainAccessToAllLanguages(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.hasAccessToAllLanguages;\n }\n\n async doesUserGroupContainDocumentRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.documentRootAccess;\n }\n\n async doesUserGroupContainMediaRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.mediaRootAccess;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n\n async createEmptyUserGroup(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithContentSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithMediaSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDocumentAccess(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .withDocumentRootAccess(true)\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDocumentStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(false)\n .withDocumentStartNodeId(startNodeId)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMediaStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .withMediaRootAccess(false)\n .withMediaStartNodeId(startNodeId)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithLanguage(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addLanguage(languageName)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithLanguageAndContentSection(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n \n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addLanguage(languageName)\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .withUpdatePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithBrowseNode(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withBrowseNodePermission(true)\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async doesUserGroupContainContentStartNodeId(userGroupName: string, documentStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.documentStartNode === null) {\n return false;\n }\n return userGroup.documentStartNode.id.includes(documentStartNodeId);\n }\n\n async doesUserGroupContainMediaStartNodeId(userGroupName: string, mediaStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.mediaStartNode === null) {\n return false;\n }\n return userGroup.mediaStartNode.id.includes(mediaStartNodeId);\n }\n \n async doesUserGroupContainGranularPermissionsForDocument(userGroupName: string, documentId: string, granularPermissions : string[]) {\n const userGroup = await this.getByName(userGroupName);\n for (const permission of userGroup.permissions) {\n if (permission.document.id === documentId) {\n for (const verb of permission.verbs) {\n if (!granularPermissions.includes(verb)) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n}"]}
|
|
1
|
+
{"version":3,"file":"UserGroupApiHelper.js","sourceRoot":"","sources":["../../../lib/helpers/UserGroupApiHelper.ts"],"names":[],"mappings":"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","sourcesContent":["import {ApiHelpers} from \"./ApiHelpers\";\nimport {UserGroupBuilder} from \"@umbraco/json-models-builders\";\n\n\nexport class UserGroupApiHelper {\n api: ApiHelpers\n\n constructor(api: ApiHelpers) {\n this.api = api;\n }\n\n async ensureNameNotExists(name: string) {\n const json = await this.getAll();\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/user-group/' + sb.id);\n }\n }\n }\n return null;\n }\n\n async doesExist(id: string) {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n return response.status() === 200;\n }\n\n async create(userGroupData) {\n const response = await this.api.post(this.api.baseUrl + '/umbraco/management/api/v1/user-group', userGroupData);\n // Returns the id of the userGroup\n return response.headers().location.split(\"/\").pop();\n }\n\n async getByName(name: string) {\n const json = await this.getAll();\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/user-group/' + sb.id);\n return await response.json();\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/user-group/' + id);\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async getAll() {\n const response = await this.api.get(this.api.baseUrl + '/umbraco/management/api/v1/user-group?skip=0&take=10000');\n const json = await response.json();\n\n if (json !== null) {\n return json;\n }\n return null;\n }\n\n async update(id: string, userGroup) {\n const response = await this.api.put(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id, userGroup);\n return response.text();\n }\n\n async doesNameExist(name: string) {\n const json = await this.getAll();\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 doesUserGroupContainLanguage(userGroupName: string, languageName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.languages.includes(languageName);\n }\n\n async doesUserGroupContainAccessToAllLanguages(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.hasAccessToAllLanguages;\n }\n\n async doesUserGroupContainDocumentRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.documentRootAccess;\n }\n\n async doesUserGroupContainMediaRootAccess(userGroupName: string) {\n const userGroup = await this.getByName(userGroupName);\n return userGroup.mediaRootAccess;\n }\n\n async delete(id: string) {\n return await this.api.delete(this.api.baseUrl + '/umbraco/management/api/v1/user-group/' + id);\n }\n\n async createEmptyUserGroup(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithContentSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createSimpleUserGroupWithMediaSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDocumentAccess(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .withDocumentRootAccess(true)\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDocumentStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(false)\n .withDocumentStartNodeId(startNodeId)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMediaStartNode(name: string, startNodeId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Media')\n .withMediaRootAccess(false)\n .withMediaStartNodeId(startNodeId)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithLanguage(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addLanguage(languageName)\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithLanguageAndContentSection(name: string, languageName: string) {\n await this.ensureNameNotExists(name);\n \n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addLanguage(languageName)\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withBrowseNodePermission(true)\n .withUpdatePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithBrowseNode(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withBrowseNodePermission(true)\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithBrowseNodePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withBrowseNodePermission(enabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentBlueprintPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreateDocumentBlueprintPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeleteDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDeletePermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCreateDocumentPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCreatePermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withNotificationsPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublishPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSetPermissionsPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUnpublishPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withUpdatePermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withDuplicatePermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withMoveToPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withSortChildrenPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withCultureAndHostnamesPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .addSection('Umb.Section.Members')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withPublicAccessPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermission(name: string, enabled: boolean = true) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addFallbackPermission()\n .withRollbackPermission(enabled)\n .withBrowseNodePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async doesUserGroupContainContentStartNodeId(userGroupName: string, documentStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.documentStartNode === null) {\n return false;\n }\n return userGroup.documentStartNode.id.includes(documentStartNodeId);\n }\n\n async doesUserGroupContainMediaStartNodeId(userGroupName: string, mediaStartNodeId: string) {\n const userGroup = await this.getByName(userGroupName);\n if (userGroup.mediaStartNode === null) {\n return false;\n }\n return userGroup.mediaStartNode.id.includes(mediaStartNodeId);\n }\n \n async doesUserGroupContainGranularPermissionsForDocument(userGroupName: string, documentId: string, granularPermissions : string[]) {\n const userGroup = await this.getByName(userGroupName);\n for (const permission of userGroup.permissions) {\n if (permission.document.id === documentId) {\n for (const verb of permission.verbs) {\n if (!granularPermissions.includes(verb)) {\n return false;\n }\n }\n return true;\n }\n }\n return false;\n }\n}"]}
|