UNPKG

@umbraco/json-models-builders

Version:
87 lines 3.06 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.UserGroupBuilder = void 0; const userGroupPermissionBuilder_1 = require("./userGroupPermissionBuilder"); const AliasHelper_1 = require("../../helpers/AliasHelper"); const userGroupsPermissionsBaseBuilder_1 = require("./userGroupsPermissionsBaseBuilder"); class UserGroupBuilder { name; icon; sections; languages; hasAccessToAllLanguages; documentStartNodeId; documentRootAccess; mediaStartNodeId; mediaRootAccess; fallbackPermissionsBuilder; userGroupPermissionBuilder; constructor() { this.sections = []; this.languages = []; } withName(name) { this.name = name; return this; } withIcon(icon) { this.icon = icon; return this; } addSection(section) { this.sections.push(section); return this; } addLanguage(language) { this.languages.push(language); return this; } withHasAccessToAllLanguages(hasAccessToAllLanguages) { this.hasAccessToAllLanguages = hasAccessToAllLanguages; return this; } withDocumentStartNodeId(documentStartNodeId) { this.documentStartNodeId = documentStartNodeId; return this; } withDocumentRootAccess(documentRootAccess) { this.documentRootAccess = documentRootAccess; return this; } withMediaStartNodeId(mediaStartNodeId) { this.mediaStartNodeId = mediaStartNodeId; return this; } withMediaRootAccess(mediaRootAccess) { this.mediaRootAccess = mediaRootAccess; return this; } addFallbackPermission() { const builder = new userGroupsPermissionsBaseBuilder_1.UserGroupsPermissionsBaseBuilder(this); this.fallbackPermissionsBuilder = builder; return builder; } addPermissions() { const builder = new userGroupPermissionBuilder_1.UserGroupPermissionBuilder(this); this.userGroupPermissionBuilder = builder; return builder; } build() { return { name: this.name || "", alias: AliasHelper_1.AliasHelper.toAlias(this.name) || "", icon: this.icon || "icon-bug", sections: this.sections || [], languages: this.languages || [], hasAccessToAllLanguages: this.hasAccessToAllLanguages || false, documentStartNode: this.documentStartNodeId ? { id: this.documentStartNodeId } : null, documentRootAccess: this.documentRootAccess || false, mediaStartNode: this.mediaStartNodeId ? { id: this.mediaStartNodeId } : null, mediaRootAccess: this.mediaRootAccess || false, fallbackPermissions: this.fallbackPermissionsBuilder ? this.fallbackPermissionsBuilder.build() : [], permissions: this.userGroupPermissionBuilder ? this.userGroupPermissionBuilder.build() : [] }; } } exports.UserGroupBuilder = UserGroupBuilder; //# sourceMappingURL=userGroupBuilder.js.map