@umbraco/playwright-testhelpers 17.0.9 → 17.0.11

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.
@@ -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\";\nimport {ConstantHelper} from \"./ConstantHelper\";\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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(true)\n .withUpdatePermission(true)\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithMemberSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Members')\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithRead(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(true)\n .withReadPropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeletePermissionAndCreatePermission(name: string, deleteEnabled: boolean = true, createEnabled: 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(deleteEnabled)\n .withCreatePermission(createEnabled)\n .withReadPermission(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\n async doesUserGroupHaveFallbackPermissions(userGroupName: string, permissions: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const fallbackPermissions = userGroup.fallbackPermissions;\n if (permissions.length !== fallbackPermissions.length) {\n return false;\n }\n return permissions.every(item => fallbackPermissions.includes(item));\n }\n\n async convertApiPermissionsToUiPermissions(apiPermissions: string[]) {\n return apiPermissions.map(permission => {\n for (const key in ConstantHelper.userGroupPermissionsSettings) {\n if (ConstantHelper.userGroupPermissionsSettings[key][2].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupPermissionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async convertApiSectionsToUiSections(apiSections: string[]) {\n return apiSections.map(permission => {\n for (const key in ConstantHelper.userGroupSectionsSettings) {\n if (ConstantHelper.userGroupSectionsSettings[key][1].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupSectionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async doesUserGroupHaveSections(userGroupName: string, sections: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const sectionsData = userGroup.sections;\n if (sectionsData.length !== sections.length) {\n return false;\n }\n return sections.every(item => sectionsData.includes(item));\n }\n\n async createUserGroupWithReadPermissionAndReadPropertyValuePermission(name: string, readEnabled: boolean = true, readPropertyValueEnabled: 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 .withReadPermission(readEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(name: string, updateEnabled: boolean = true, writePropertyValueEnabled: boolean = true, readPropertyValueEnabled: 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(updateEnabled)\n .withReadPermission(true)\n .withWritePropertyValuePermission(writePropertyValueEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(name: string, documentId: string, documentTypeId: string, firstPropertyValueName: string, readFirstPropertyValueEnabled: boolean = true, writeFirstPropertyValueEnabled: boolean = true, secondPropertyValueName: string, readSecondPropertyValueEnabled: boolean = true, writeSecondPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n const firstPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, firstPropertyValueName);\n const secondPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, secondPropertyValueName);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(firstPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readFirstPropertyValueEnabled)\n .withWritePropertyValuePermission(writeFirstPropertyValueEnabled)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(secondPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readSecondPropertyValueEnabled)\n .withWritePropertyValuePermission(writeSecondPropertyValueEnabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithReadPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(enabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateDocumentBlueprintPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDeletePermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreatePermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermissionForSpecificDocument(name: string, documentId: 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 .withReadPermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermissionForSpecificDocument(name: string, documentId: 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(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDuplicatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermissionForSpecificDocument(name: string, documentId: 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(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withMoveToPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermissionForSpecificDocument(name: string, documentId: 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 .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateAndUpdateDocumentPermission(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 .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\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\";\nimport {ConstantHelper} from \"./ConstantHelper\";\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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(true)\n .withUpdatePermission(true)\n .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithMemberSection(name: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Members')\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPermissionsForSpecificDocumentWithRead(name: string, documentId: string) {\n await this.ensureNameNotExists(name);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withCreatePermission(enabled)\n .withReadPermission(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 .withCreatePermission(enabled)\n .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(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 .withReadPermission(true)\n .withReadPropertyValuePermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDeletePermissionAndCreatePermission(name: string, deleteEnabled: boolean = true, createEnabled: 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(deleteEnabled)\n .withCreatePermission(createEnabled)\n .withReadPermission(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\n async doesUserGroupHaveFallbackPermissions(userGroupName: string, permissions: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const fallbackPermissions = userGroup.fallbackPermissions;\n if (permissions.length !== fallbackPermissions.length) {\n return false;\n }\n return permissions.every(item => fallbackPermissions.includes(item));\n }\n\n async convertApiPermissionsToUiPermissions(apiPermissions: string[]) {\n return apiPermissions.map(permission => {\n for (const key in ConstantHelper.userGroupPermissionsSettings) {\n if (ConstantHelper.userGroupPermissionsSettings[key][2].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupPermissionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async convertApiSectionsToUiSections(apiSections: string[]) {\n return apiSections.map(permission => {\n for (const key in ConstantHelper.userGroupSectionsSettings) {\n if (ConstantHelper.userGroupSectionsSettings[key][1].toLowerCase() === permission.toLowerCase()) {\n return ConstantHelper.userGroupSectionsSettings[key][0];\n }\n }\n return null;\n });\n }\n\n async doesUserGroupHaveSections(userGroupName: string, sections: string[]) {\n const userGroup = await this.getByName(userGroupName);\n const sectionsData = userGroup.sections;\n if (sectionsData.length !== sections.length) {\n return false;\n }\n return sections.every(item => sectionsData.includes(item));\n }\n\n async createUserGroupWithReadPermissionAndReadPropertyValuePermission(name: string, readEnabled: boolean = true, readPropertyValueEnabled: 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 .withReadPermission(readEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithUpdatePermissionAndWritePropertyValuePermission(name: string, updateEnabled: boolean = true, writePropertyValueEnabled: boolean = true, readPropertyValueEnabled: 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(updateEnabled)\n .withReadPermission(true)\n .withWritePropertyValuePermission(writePropertyValueEnabled)\n .withReadPropertyValuePermission(readPropertyValueEnabled)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithPermissionsForSpecificDocumentAndTwoPropertyValues(name: string, documentId: string, documentTypeId: string, firstPropertyValueName: string, readFirstPropertyValueEnabled: boolean = true, writeFirstPropertyValueEnabled: boolean = true, secondPropertyValueName: string, readSecondPropertyValueEnabled: boolean = true, writeSecondPropertyValueEnabled: boolean = true) {\n await this.ensureNameNotExists(name);\n const firstPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, firstPropertyValueName);\n const secondPropertyValueId = await this.api.documentType.getPropertyIdWithName(documentTypeId, secondPropertyValueName);\n\n const userGroup = new UserGroupBuilder()\n .withName(name)\n .addSection('Umb.Section.Content')\n .withDocumentRootAccess(true)\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(true)\n .withUpdatePermission(true)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(firstPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readFirstPropertyValueEnabled)\n .withWritePropertyValuePermission(writeFirstPropertyValueEnabled)\n .done()\n .done()\n .addPropertyValuePermission()\n .withDocumentTypeId(documentTypeId)\n .withPropertyTypeId(secondPropertyValueId)\n .addVerbs()\n .withReadPropertyValuePermission(readSecondPropertyValueEnabled)\n .withWritePropertyValuePermission(writeSecondPropertyValueEnabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithReadPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withReadPermission(enabled)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateDocumentBlueprintPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreateDocumentBlueprintPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithDeletePermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDeletePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreatePermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCreatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithNotificationsPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withNotificationsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublishPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSetPermissionsPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSetPermissionsPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUnpublishPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUnpublishPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithUpdatePermissionForSpecificDocument(name: string, documentId: 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 .withReadPermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithDuplicatePermissionForSpecificDocument(name: string, documentId: 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(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withDuplicatePermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithMoveToPermissionForSpecificDocument(name: string, documentId: 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(true) // need to have the 'create' permission - refer this PR: https://github.com/umbraco/Umbraco-CMS/pull/19303\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withMoveToPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithSortChildrenPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withSortChildrenPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithCultureAndHostnamesPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withCultureAndHostnamesPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithPublicAccessPermissionForSpecificDocument(name: string, documentId: 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 .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withPublicAccessPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n \n async createUserGroupWithRollbackPermissionForSpecificDocument(name: string, documentId: 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 .withReadPropertyValuePermission(true)\n .withWritePropertyValuePermission(true)\n .done()\n .addPermissions()\n .addDocumentPermission()\n .withDocumentId(documentId)\n .addVerbs()\n .withRollbackPermission(enabled)\n .withReadPermission(true)\n .done()\n .done()\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n\n async createUserGroupWithCreateAndUpdateDocumentPermission(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 .withUpdatePermission(enabled)\n .withReadPermission(true)\n .done()\n .build();\n\n return await this.create(userGroup);\n }\n}"]}