Exemplo n.º 1
0
        public async Task <ActionResult> AddCredentials([FromBody] GitCredentialsDTO gitCredentialsDTO)
        {
            var userId = this.GetUserIdFromToken();

            var credentialsId = await _gitService.AddGitCredentialsToProject(gitCredentialsDTO, userId);

            return(Created("git/credentials", credentialsId));
        }
Exemplo n.º 2
0
        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);
        }