public async Task <ActionResult> AddCredentials([FromBody] GitCredentialsDTO gitCredentialsDTO) { var userId = this.GetUserIdFromToken(); var credentialsId = await _gitService.AddGitCredentialsToProject(gitCredentialsDTO, userId); return(Created("git/credentials", credentialsId)); }
public async Task <int> AddGitCredentialsToProject(GitCredentialsDTO gitCredentialsDTO, int authorId) { var project = await _context.Projects .SingleOrDefaultAsync(p => p.Id == Convert.ToInt32(gitCredentialsDTO.ProjectId)); var gitCredentials = new GitCredential { Login = gitCredentialsDTO.Login, Url = gitCredentialsDTO.Url, Provider = gitCredentialsDTO.Provider, PasswordHash = gitCredentialsDTO.Password }; project.GitCredential = gitCredentials; project.ProjectLink = gitCredentials.Url.Substring(0, gitCredentials.Url.LastIndexOf('.')); await _context.GitCredentials.AddAsync(gitCredentials); await _context.SaveChangesAsync(); await Clone(gitCredentialsDTO.ProjectId, project.ProjectLink, authorId); return(gitCredentials.Id); }