github.com/alexey-mercari/reviewdog@v0.10.1-0.20200514053941-928943b10766/doghouse/server/github_checker.go (about) 1 package server 2 3 import ( 4 "context" 5 6 "github.com/google/go-github/v31/github" 7 ) 8 9 type checkerGitHubClientInterface interface { 10 GetPullRequestDiff(ctx context.Context, owner, repo string, number int) ([]byte, error) 11 CreateCheckRun(ctx context.Context, owner, repo string, opt github.CreateCheckRunOptions) (*github.CheckRun, error) 12 UpdateCheckRun(ctx context.Context, owner, repo string, checkID int64, opt github.UpdateCheckRunOptions) (*github.CheckRun, error) 13 } 14 15 type checkerGitHubClient struct { 16 *github.Client 17 } 18 19 func (c *checkerGitHubClient) GetPullRequestDiff(ctx context.Context, owner, repo string, number int) ([]byte, error) { 20 opt := github.RawOptions{Type: github.Diff} 21 d, _, err := c.PullRequests.GetRaw(ctx, owner, repo, number, opt) 22 return []byte(d), err 23 } 24 25 func (c *checkerGitHubClient) CreateCheckRun(ctx context.Context, owner, repo string, opt github.CreateCheckRunOptions) (*github.CheckRun, error) { 26 checkRun, _, err := c.Checks.CreateCheckRun(ctx, owner, repo, opt) 27 return checkRun, err 28 } 29 30 func (c *checkerGitHubClient) UpdateCheckRun(ctx context.Context, owner, repo string, checkID int64, opt github.UpdateCheckRunOptions) (*github.CheckRun, error) { 31 checkRun, _, err := c.Checks.UpdateCheckRun(ctx, owner, repo, checkID, opt) 32 return checkRun, err 33 }