Strypper / mauisland

MAUIsland 🏝️ is the number 1 controls gallery for .NET MAUI

Geek Repo:Geek Repo

Github PK Tool:Github PK Tool

πŸš€ 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:

  1. Open GitHubServiceIntegrationTest.cs where all test cases are provided to interact with your logic.
  2. Choose the test you want to execute.
  3. Select "Debug Test".
  4. 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:

  1. GitHub repository
  2. GitHub repository issues
  3. 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