public async Task SetRepositoryManifest(string repo, RepositoryManifest manifest) { var rawJson = JsonSerializer.Serialize(manifest, new() { WriteIndented = false }); var encoded = Encoding.UTF8.GetBytes(rawJson); await driver.WriteRepositoryManifest(repo, encoded); }
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); } } }