azdev-automation
Version:
Azure DevOps automation framework enables access control automation of projects, pipelines and repositories configuration in Azure DevOps Services
37 lines (36 loc) • 2.98 kB
TypeScript
import { GraphGroup, GraphMembership } from "azure-devops-node-api/interfaces/GraphInterfaces";
import { IAzDevClient } from "../common/iazdevclient";
import { IPermission, PermissionType } from "../readers/iconfigurationreader";
import { IGraphIdentity, IGroupProvider, IIdentityPermission, INamespace, ISecurityHelper, ISecurityIdentity, ISecurityPermission, ISubjectPermission } from "./isecurityhelper";
import { ISecurityMapper } from "../mappers/isecuritymapper";
import { ICommonHelper } from "./icommonhelper";
import { ILogger } from "../loggers/ilogger";
export declare class SecurityHelper implements ISecurityHelper {
private debugLogger;
private azdevClient;
private commonHelper;
private mapper;
constructor(azdevClient: IAzDevClient, commonHelper: ICommonHelper, mapper: ISecurityMapper, logger: ILogger);
findIdentity(name: string): Promise<IGraphIdentity>;
getNamespace(name: string, actionFilter?: string): Promise<INamespace>;
getGroupProvider(id: string, projectName: string, group: GraphGroup): Promise<IGroupProvider>;
getIdentityMembership(group: GraphGroup, identity: IGraphIdentity): Promise<GraphMembership>;
addIdentityMembership(group: GraphGroup, identity: IGraphIdentity): Promise<GraphMembership>;
getGroupMemberships(group: GraphGroup): Promise<GraphMembership[]>;
removeGroupMembership(group: GraphGroup, member: GraphMembership): Promise<void>;
addGroupMemberships(group: GraphGroup, members: string[]): Promise<GraphMembership[]>;
removeGroupMemberships(group: GraphGroup, memberships: GraphMembership[]): Promise<void>;
getObsoleteGroupMemberships(group: GraphGroup, validMemberships: GraphMembership[]): Promise<GraphMembership[]>;
updateGroupMembers(members: string[], group: GraphGroup): Promise<void>;
getExplicitIdentities(projectId: string, permissionSetId: string, permissionSetToken: string): Promise<ISecurityIdentity[]>;
addIdentityToPermission(projectId: string, identity: IGraphIdentity): Promise<ISecurityIdentity>;
getIdentityPermission(projectId: string, identity: ISecurityIdentity, permissionSetId: string, permissionSetToken: string): Promise<IIdentityPermission>;
setGroupAccessControl(identity: string, permission: ISubjectPermission, type: PermissionType): Promise<any>;
setIdentityAccessControl(token: string, identity: IIdentityPermission, permission: ISecurityPermission, type: PermissionType): Promise<any>;
updateGroupPermissions(projectName: string, group: GraphGroup, permissions: IPermission[]): Promise<void>;
updateIdentityPermissions(projectId: string, identity: ISecurityIdentity, permissions: IPermission[], permissionSetId: string, permissionSetToken: string): Promise<void>;
getExistingIdentity(name: string, projectId: string, existingIdentities: ISecurityIdentity[]): Promise<ISecurityIdentity>;
private isSecurityPermissionEqual;
private isSubjectPermissionEqual;
private getPermissionType;
}