UNPKG

azdev-automation

Version:

Azure DevOps automation framework enables access control automation of projects, pipelines and repositories configuration in Azure DevOps Services

90 lines (89 loc) 3.5 kB
"use strict"; Object.defineProperty(exports, "__esModule", { value: true }); exports.SecurityMapper = void 0; class SecurityMapper { constructor(logger) { this.debugLogger = logger.extend(this.constructor.name); } mapSecurityIdentity(input) { const debug = this.debugLogger.extend(this.mapSecurityIdentity.name); const result = { identityType: input.IdentityType, friendlyDisplayName: input.FriendlyDisplayName, displayName: input.DisplayName, subHeader: input.SubHeader, teamFoundationId: input.TeamFoundationId, entityId: input.EntityId, }; return result; } mapIdentityPermission(input) { const debug = this.debugLogger.extend(this.mapIdentityPermission.name); const result = { currentTeamFoundationId: input.currentTeamFoundationId, descriptorIdentityType: input.descriptorIdentityType, descriptorIdentifier: input.descriptorIdentifier, permissions: [], }; if (input.permissions) { for (const permission of input.permissions) { result.permissions.push({ permissionId: permission.permissionId, explicitPermissionId: permission.explicitPermissionId, originalPermissionId: permission.originalPermissionId, permissionBit: permission.permissionBit, namespaceId: permission.namespaceId, displayName: permission.displayName, }); } } return result; } mapGroupProvider(input) { const debug = this.debugLogger.extend(this.mapGroupProvider.name); const result = { identityDescriptor: input.identityDescriptor, subjectPermissions: [], }; if (input.subjectPermissions) { for (const permission of input.subjectPermissions) { result.subjectPermissions.push({ displayName: permission.displayName, namespaceId: permission.namespaceId, token: permission.token, bit: permission.bit, canEdit: permission.canEdit, effectivePermissionValue: permission.effectivePermissionValue, explicitPermissionValue: permission.explicitPermissionValue, isPermissionInherited: permission.isPermissionInherited, }); } } return result; } mapNamespace(input) { const debug = this.debugLogger.extend(this.mapNamespace.name); const result = { namespaceId: input.namespaceId, name: input.name, displayName: input.displayName, separatorValue: input.separatorValue, writePermission: input.writePermission, readPermission: input.readPermission, dataspaceCategory: input.dataspaceCategory, actions: [], }; if (input.actions) { for (const action of input.actions) { result.actions.push({ bit: action.bit, name: action.name, displayName: action.displayName, namespaceId: action.namespaceId, }); } } return result; } } exports.SecurityMapper = SecurityMapper;