Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

🚀 OctokitGitHubClient Implementation #183

Closed
5 tasks
Strypper opened this issue Mar 16, 2024 · 1 comment
Closed
5 tasks

🚀 OctokitGitHubClient Implementation #183

Strypper opened this issue Mar 16, 2024 · 1 comment
Assignees
Labels
effort/medium Medium amount of work, 4h to 16h action level/normal 🙂 In comfort zone, little research and may require using built-in features, but no RnD new feature 🚀 New feature addition

Comments

@Strypper
Copy link
Owner

Strypper commented Mar 16, 2024

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);
@Strypper Strypper added new feature 🚀 New feature addition level/normal 🙂 In comfort zone, little research and may require using built-in features, but no RnD effort/medium Medium amount of work, 4h to 16h action labels Mar 16, 2024
@Aspodel Aspodel linked a pull request Mar 17, 2024 that will close this issue
5 tasks
@Strypper Strypper added this to the Hello Internet milestone Mar 17, 2024
@Strypper Strypper pinned this issue Mar 17, 2024
@Strypper
Copy link
Owner Author

Strypper commented Jun 4, 2024

Implemented

@Strypper Strypper closed this as completed Jun 4, 2024
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
effort/medium Medium amount of work, 4h to 16h action level/normal 🙂 In comfort zone, little research and may require using built-in features, but no RnD new feature 🚀 New feature addition
Projects
Status: Done
Development

Successfully merging a pull request may close this issue.

2 participants