protected async Task EnsureRepositoryPermissionsAsync( Kdoctl.CliServices.AzDoServices.Dtos.Project project, RepositoryManifest repo, Microsoft.TeamFoundation.SourceControl.WebApi.GitRepository repository) { if (repository != null && repo.Permissions != null && repo.Permissions.Any()) { var secService = GetSecurityNamespaceService(); var gitNamespace = await secService.GetNamespaceAsync(SecurityNamespaceConstants.Git_Repositories); var gitSecurityNamespaceId = gitNamespace.NamespaceId; var aclDictioanry = new Dictionary <string, VstsAcesDictionaryEntry>(); await CreateAclsAsync(typeof(GitRepositories), repo.Permissions, aclDictioanry); if (aclDictioanry.Count > 0) { var repositorySecurityToken = $"repoV2/{project.Id}/{repository.Id}"; var aclService = GetAclListService(); await aclService.SetAclsAsync(gitSecurityNamespaceId, repositorySecurityToken, aclDictioanry, false); } } }
public static Repository ToSync(this Microsoft.TeamFoundation.SourceControl.WebApi.GitRepository repo) { return(new Repository(repo.Id)); }