public Task <string> GetTokenForProject(GitTokenPayload payload) { var config = this.repository.GetById(payload.GitConfigId); if (config is null) { throw new ArgumentException("Git configuration not found"); } var resolver = Git.GitFactory.GetResolver(config.Type); return(resolver.GetFileIdentifier(new GitResolverItem { Branch = payload.Branch, FilePath = payload.GitPathToFile, GitConnection = config, RepoName = payload.GitRepositoryName })); }
public async Task <ActionResult <string> > PostTokenPayload([FromBody] GitTokenPayload payload) { try { return(Ok(await service.GetTokenForProject(payload))); } catch (ArgumentException ex) { return(NotFound(ex.Message)); } catch (GitResolverException ex) { return(BadRequest(ex.Message)); } }