Documentation
¶
Index ¶
- type Client
- func (c *Client) FetchCommits(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.Commit, error)
- func (c *Client) FetchIssues(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.Issue, error)
- func (c *Client) FetchPullRequests(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.PullRequest, error)
- func (c *Client) FetchReviews(ctx context.Context, owner, repo string, prNumber int) ([]models.Review, error)
- func (c *Client) FetchUserProfiles(ctx context.Context, logins []string) (map[string]UserProfile, error)
- func (c *Client) ListOrgRepos(ctx context.Context, org, pattern string) ([]string, error)
- func (c *Client) SetProgressCallback(cb ProgressCallback)
- func (c *Client) SetRetryConfig(rc RetryConfig)
- type ProgressCallback
- type RetryConfig
- type UserProfile
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Client ¶
type Client struct {
// contains filtered or unexported fields
}
Client wraps the GitHub API client with rate limiting and caching
func (*Client) FetchCommits ¶
func (c *Client) FetchCommits(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.Commit, error)
FetchCommits fetches commits from a repository within a date range
func (*Client) FetchIssues ¶
func (c *Client) FetchIssues(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.Issue, error)
FetchIssues fetches issues from a repository Uses early termination when sorted by date - stops when items are outside date range
func (*Client) FetchPullRequests ¶
func (c *Client) FetchPullRequests(ctx context.Context, owner, repo string, since, until *time.Time) ([]models.PullRequest, error)
FetchPullRequests fetches pull requests from a repository Fetches PRs targeting main branches, filters by merge date
func (*Client) FetchReviews ¶
func (c *Client) FetchReviews(ctx context.Context, owner, repo string, prNumber int) ([]models.Review, error)
FetchReviews fetches reviews for a specific pull request
func (*Client) FetchUserProfiles ¶
func (c *Client) FetchUserProfiles(ctx context.Context, logins []string) (map[string]UserProfile, error)
FetchUserProfiles fetches GitHub profiles for a list of logins This is useful for deduplication by getting user IDs, names, and public emails
func (*Client) ListOrgRepos ¶
ListOrgRepos lists repositories in an organization matching a pattern
func (*Client) SetProgressCallback ¶
func (c *Client) SetProgressCallback(cb ProgressCallback)
SetProgressCallback sets the callback function for progress reporting
func (*Client) SetRetryConfig ¶
func (c *Client) SetRetryConfig(rc RetryConfig)
SetRetryConfig sets the retry configuration
type ProgressCallback ¶
type ProgressCallback func(message string)
ProgressCallback is called to report progress during API operations
type RetryConfig ¶
RetryConfig holds retry settings
func DefaultRetryConfig ¶
func DefaultRetryConfig() RetryConfig
DefaultRetryConfig returns the default retry configuration