π OctokitGitHubClient Implementation
Strypper opened this issue Β· comments
Description
Implement logic that follows this interface
namespace MAUIsland.GitHubProvider;
public interface IGitHubService
{
Task<GitHubRepositoryModel> GetRepository(string owner, string repository);
Task<GitHubAuthorModel> GetAuthor(string owner);
Task<IEnumerable<GitHubIssueModel>> GetGitHubIssues(string owner, string repository);
Task<IEnumerable<GitHubIssueModel>> GetGitHubIssuesByLabels(string owner, string repository, IEnumerable<string> labels);
Task<GitHubIssueModel> GetGitHubIssueById(string owner, string repository, string issueNumber);
}
Testing Your Implementation
To test your implementation:
- Open GitHubServiceIntegrationTest.cs where all test cases are provided to interact with your logic.
- Choose the test you want to execute.
- Select "Debug Test".
- Set breakpoints within your implementation methods to inspect the code flow and ensure correct behavior.
Public API Changes
Task<GitHubRepositoryModel> GetRepository(string owner, string repository);
Task<GitHubAuthorModel> GetAuthor(string owner);
Task<IEnumerable<GitHubIssueModel>> GetGitHubIssues(string owner, string repository);
Task<IEnumerable<GitHubIssueModel>> GetGitHubIssuesByLabels(string owner, string repository, IEnumerable<string> labels);
Task<GitHubIssueModel> GetGitHubIssueById(string owner, string repository, string issueNumber);
Intended Use-Case
Get information:
- GitHub repository
- GitHub repository issues
- GitHub Author
Tasks
- Task GetRepository(string owner, string repository);
- Task GetAuthor(string owner);
- Task<IEnumerable> GetGitHubIssues(string owner, string repository);
- Task<IEnumerable> GetGitHubIssuesByLabels(string owner, string repository, IEnumerable labels);
- Task GetGitHubIssueById(string owner, string repository, string issueNumber);
Implemented