UNPKG

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