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
JavaScript
;
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;