/// <summary> /// Gets all verified public keys for a user. /// </summary> /// <remarks> /// https://developer.github.com/v3/users/keys/#list-public-keys-for-a-user /// </remarks> /// <param name="userName">The @ handle of the user.</param> /// <param name="options">Options to change API's behavior.</param> /// <returns>Lists the verified public keys for a user.</returns> public IObservable<PublicKey> GetAll(string userName, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(userName, "userName"); Ensure.ArgumentNotNull(options, "options"); return _client.GetAll(userName, options).ToObservable().SelectMany(k => k); }
/// <summary> /// Gets all comments for the gist with the specified id. /// </summary> /// <remarks>http://developer.github.com/v3/gists/comments/#list-comments-on-a-gist</remarks> /// <param name="gistId">The id of the gist</param> /// <param name="options">Options for changing the API response</param> /// <returns>IObservable{GistComment}.</returns> public IObservable<GistComment> GetAllForGist(string gistId, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(gistId, "gistId"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<GistComment>(ApiUrls.GistComments(gistId), options); }
public async Task ReturnsDistinctEventsBasedOnStartPage() { var startOptions = new ApiOptions { PageSize = 5, PageCount = 1 }; var firstEventsPage = await _eventsClient.GetAll(startOptions).ToList(); var skipStartOptions = new ApiOptions { PageSize = 5, PageCount = 1, StartPage = 2 }; var secondEventsPage = await _eventsClient.GetAll(skipStartOptions).ToList(); Assert.NotEqual(firstEventsPage[0].Id, secondEventsPage[0].Id); Assert.NotEqual(firstEventsPage[1].Id, secondEventsPage[1].Id); Assert.NotEqual(firstEventsPage[2].Id, secondEventsPage[2].Id); Assert.NotEqual(firstEventsPage[3].Id, secondEventsPage[3].Id); Assert.NotEqual(firstEventsPage[4].Id, secondEventsPage[4].Id); }
public async Task ReturnsDistinctResultsBasedOnStartPage() { var github = Helper.GetAuthenticatedClient(); var client = new ObservableRepositoryHooksClient(github); var startOptions = new ApiOptions { PageSize = 2, PageCount = 1 }; var firstPage = await client.GetAll(_fixture.RepositoryOwner, _fixture.RepositoryName, startOptions).ToList(); var skipStartOptions = new ApiOptions { PageSize = 2, PageCount = 1, StartPage = 2 }; var secondPage = await client.GetAll(_fixture.RepositoryOwner, _fixture.RepositoryName, skipStartOptions).ToList(); Assert.NotEqual(firstPage[0].Id, secondPage[0].Id); Assert.NotEqual(firstPage[1].Id, secondPage[1].Id); }
/// <summary> /// Returns all <see cref="Team" />s for the current org. /// </summary> /// <param name="org">Organization to list all teams of.</param> /// <param name="options">Options to change API behaviour.</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> /// <returns>A list of the orgs's teams <see cref="Team"/>s.</returns> public IObservable<Team> GetAll(string org, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(org, "org"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<Team>(ApiUrls.OrganizationTeams(org), options); }
/// <summary> /// Retrieves commit statuses for the specified reference. A reference can be a commit SHA, a branch name, or /// a tag name. /// </summary> /// <remarks>Only users with pull access can see this.</remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="reference">The reference (SHA, branch name, or tag name) to list commits for</param> /// <param name="options">Options for changing the API response</param> public IObservable<CommitStatus> GetAll(int repositoryId, string reference, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<CommitStatus>(ApiUrls.CommitStatuses(repositoryId, reference), options); }
/// <summary> /// Gets a paginated list of APObjects matching the given search criteria. /// </summary> /// <param name="type">The object type.</param> /// <param name="query">The search query for objects to be found.</param> /// <param name="fields">The object fields to be returned for the matching list of objects.</param> /// <param name="pageNumber">The page number.</param> /// <param name="pageSize">The page size.</param> /// <param name="orderBy">The object field on which the results should be sorted.</param> /// <param name="sortOrder">The sort order.</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> /// <returns>Paginated list of APObject objects matching the given search criteria.</returns> public async static Task<PagedList<APObject>> FindAllAsync(string type, IQuery query = null, IEnumerable<string> fields = null, int pageNumber = 1, int pageSize = 20, string orderBy = null, SortOrder sortOrder = SortOrder.Descending, ApiOptions options = null) { query = query ?? Query.None; var request = new FindAllObjectsRequest() { Type = type, Query = query.AsString().Escape(), PageNumber = pageNumber, PageSize = pageSize, OrderBy = orderBy, SortOrder = sortOrder }; if( fields != null ) request.Fields.AddRange(fields); ApiOptions.Apply(request, options); var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); var objects = new PagedList<APObject>() { PageNumber = response.PagingInfo.PageNumber, PageSize = response.PagingInfo.PageSize, TotalRecords = response.PagingInfo.TotalRecords, GetNextPage = async skip => await FindAllAsync(type, query, fields, pageNumber + skip + 1, pageSize, orderBy, sortOrder, options) }; objects.AddRange(response.Objects); return objects; }
public async Task ReturnsDistinctForksBasedOnStartPage() { var github = Helper.GetAuthenticatedClient(); var startOptions = new ApiOptions { PageCount = 1, PageSize = 3, StartPage = 1 }; var firstPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", startOptions); var skipStartOptions = new ApiOptions { PageCount = 1, PageSize = 3, StartPage = 2 }; var secondPage = await github.Repository.Forks.GetAll("octokit", "octokit.net", skipStartOptions); Assert.Equal(3, firstPage.Count); Assert.Equal(3, secondPage.Count); Assert.NotEqual(firstPage[0].Id, secondPage[0].Id); Assert.NotEqual(firstPage[1].Id, secondPage[1].Id); Assert.NotEqual(firstPage[2].Id, secondPage[2].Id); }
/// <summary> /// Creates a new instance of FileUpload for uploading a file to appacitive. /// </summary> /// <param name="mimeType">The mime type for the file to be uploaded.</param> /// <param name="filename">Name of the file to be downloaded. This name should match the name of the file on Appacitive.</param> /// <param name="expiryInMinutes">The duration in minutes for which the upload session would be valid. After this duration, this object cannot be used to upload a file.</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> public FileUpload(string mimeType, string filename = null, int expiryInMinutes = 5, ApiOptions options = null) { this.MimeType = mimeType; this.FileName = filename; this.FileHandler = ObjectFactory.Build<IHttpFileHandler>(); this.CacheControlMaxAge = TimeSpan.MinValue; }
/// <summary> /// List a user’s followers /// </summary> /// <param name="login">The login name for the user</param> /// <param name="options">Options for changing the API response</param> /// <remarks> /// See the <a href="http://developer.github.com/v3/users/followers/#list-followers-of-a-user">API documentation</a> for more information. /// </remarks> /// <returns>A <see cref="IObservable{User}"/> of <see cref="User"/>s that follow the passed user.</returns> public IObservable<User> GetAll(string login, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(login, "login"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<User>(ApiUrls.Followers(login), options); }
public async Task ReturnsDistinctResultsBasedOnStartPage() { var startOptions = new ApiOptions { PageSize = 5, PageCount = 1 }; var firstPage = await _releaseClient.GetAll(owner, name, startOptions).ToList(); var skipStartOptions = new ApiOptions { PageSize = 5, PageCount = 1, StartPage = 2 }; var secondPage = await _releaseClient.GetAll(owner, name, skipStartOptions).ToList(); Assert.NotEqual(firstPage[0].Id, secondPage[0].Id); Assert.NotEqual(firstPage[1].Id, secondPage[1].Id); Assert.NotEqual(firstPage[2].Id, secondPage[2].Id); Assert.NotEqual(firstPage[3].Id, secondPage[3].Id); Assert.NotEqual(firstPage[4].Id, secondPage[4].Id); }
/// <summary> /// <para> /// List all users who are members of an organization. A member is a user that /// belongs to at least 1 team in the organization. /// </para> /// <para> /// If the authenticated user is also an owner of this organization then both /// concealed and public member will be returned. /// </para> /// <para> /// If the requester is not an owner of the organization the query will be redirected /// to the public members list. /// </para> /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/orgs/members/#members-list">API documentation</a> /// for more information. /// </remarks> /// <param name="org">The login for the organization</param> /// <param name="options">Options for changing the API response</param> /// <returns></returns> public IObservable<User> GetAll(string org, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(org, "org"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<User>(ApiUrls.Members(org), options); }
public async Task RequestsCorrectUrlWithApiOptions() { var result = new List<EventInfo> { new EventInfo() }; var connection = Substitute.For<IConnection>(); var gitHubClient = new GitHubClient(connection); var client = new ObservableIssuesEventsClient(gitHubClient); var options = new ApiOptions { StartPage = 1, PageCount = 1, PageSize = 1 }; IApiResponse<List<EventInfo>> response = new ApiResponse<List<EventInfo>>( new Response { ApiInfo = new ApiInfo(new Dictionary<string, Uri>(), new List<string>(), new List<string>(), "etag", new RateLimit()), }, result); gitHubClient.Connection.Get<List<EventInfo>>(Args.Uri, Arg.Is<Dictionary<string, string>>(d => d.Count == 2), null) .Returns(Task.FromResult(response)); var eventInfos = await client.GetAllForIssue("fake", "repo", 42, options).ToList(); connection.Received().Get<List<EventInfo>>(Arg.Is<Uri>(u => u.ToString() == "repos/fake/repo/issues/42/events"), Arg.Is<Dictionary<string, string>>(d => d.Count == 2), null); Assert.Equal(1, eventInfos.Count); }
public async Task ReturnsDistinctResultsBasedOnStartPage() { var startOptions = new ApiOptions { PageSize = 5, PageCount = 1 }; var firstPageIssueComments = await _issueCommentsClient.GetAllForRepository(owner, name, startOptions).ToList(); var skipStartOptions = new ApiOptions { PageSize = 5, PageCount = 1, StartPage = 2 }; var secondPageIssueComments = await _issueCommentsClient.GetAllForRepository(owner, name, skipStartOptions).ToList(); Assert.NotEqual(firstPageIssueComments[0].Id, secondPageIssueComments[0].Id); Assert.NotEqual(firstPageIssueComments[1].Id, secondPageIssueComments[1].Id); Assert.NotEqual(firstPageIssueComments[2].Id, secondPageIssueComments[2].Id); Assert.NotEqual(firstPageIssueComments[3].Id, secondPageIssueComments[3].Id); Assert.NotEqual(firstPageIssueComments[4].Id, secondPageIssueComments[4].Id); }
/// <summary> /// Gets all build metadata for a given repository /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="repositoryName">The name of the repository</param> /// <param name="options">Options to change the API response</param> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/pages/#list-pages-builds">API documentation</a> for more information. /// </remarks> /// <returns></returns> public IObservable<PagesBuild> GetAll(string owner, string repositoryName, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(repositoryName, "repositoryName"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<PagesBuild>(ApiUrls.RepositoryPageBuilds(owner, repositoryName), options); }
/// <summary> /// Gets all commits for a given repository /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> /// <returns></returns> public IObservable<GitHubCommit> GetAll(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return GetAll(owner, name, new CommitRequest(), options); }
/// <summary> /// Gets Issue Comments for a repository. /// </summary> /// <remarks>http://developer.github.com/v3/issues/comments/#list-comments-in-a-repository</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable<IssueComment> GetAllForRepository(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return GetAllForRepository(owner, name, new IssueCommentRequest(), options); }
/// <summary> /// Delets the device with the given id. /// </summary> /// <param name="id">Device id</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> public async static Task DeleteAsync(string id, ApiOptions options = null) { var request = new DeleteDeviceRequest() { Id = id }; ApiOptions.Apply(request, options); var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); }
/// <summary> /// Gets all open milestones for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/milestones/#list-milestones-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> /// <returns></returns> public IObservable<Milestone> GetAllForRepository(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<Milestone>(ApiUrls.Milestones(owner, name), options); }
/// <summary> /// Gets review comments for a specified pull request. /// </summary> /// <remarks>http://developer.github.com/v3/pulls/comments/#list-comments-on-a-pull-request</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The pull request number</param> /// <param name="options">Options for changing the API response</param> public IObservable<PullRequestReviewComment> GetAll(string owner, string name, int number, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<PullRequestReviewComment>(ApiUrls.PullRequestReviewComments(owner, name, number), null, AcceptHeaders.ReactionsPreview, options); }
/// <summary> /// Gets Issue Comments for a repository. /// </summary> /// <remarks>http://developer.github.com/v3/issues/comments/#list-comments-in-a-repository</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable<IssueComment> GetAllForRepository(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<IssueComment>(ApiUrls.IssueComments(owner, name), null, AcceptHeaders.ReactionsPreview, options); }
/// <summary> /// Gets all labels for the issue. /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/issues/labels/#list-labels-on-an-issue">API documentation</a> for more information. /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The number of the issue</param> /// <param name="options">Options for changing the API response</param> public IObservable<Label> GetAllForIssue(string owner, string name, int number, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<Label>(ApiUrls.IssueLabels(owner, name, number), options); }
/// <summary> /// Retrieves all of the stargazers for the passed repository with star creation timestamps. /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> /// <exception cref="AuthorizationException">Thrown if the client is not authenticated.</exception> /// <returns>A <see cref="IObservable{UserStar}"/> of <see cref="User"/>s starring the passed repository with star creation timestamps.</returns> public IObservable<UserStar> GetAllStargazersWithTimestamps(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<UserStar>(ApiUrls.Stargazers(owner, name), null, AcceptHeaders.StarCreationTimestamps, options); }
/// <summary> /// Gets all the available collaborators on this repo. /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="repo">The name of the repository</param> /// <param name="options">Options for changing the API response</param> /// <returns>The list of <see cref="User"/>s for the specified repository.</returns> public IObservable<User> GetAll(string owner, string repo, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(repo, "repo"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<User>(ApiUrls.RepoCollaborators(owner, repo), options); }
/// <summary> /// Gets all the various events that have occurred around an issue or pull request. /// </summary> /// <remarks> /// https://developer.github.com/v3/issues/timeline/#list-events-for-an-issue /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="repo">The name of the repository</param> /// <param name="number">The issue number</param> /// <param name="options">Options for changing the API response</param> public IObservable<TimelineEventInfo> GetAllForIssue(string owner, string repo, int number, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(repo, "repo"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<TimelineEventInfo>(ApiUrls.IssueTimeline(owner, repo, number), null, AcceptHeaders.IssueTimelineApiPreview, options); }
/// <summary> /// Gets all <see cref="Release"/>s for the specified repository. /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/repos/releases/#list-releases-for-a-repository">API documentation</a> for more information. /// </remarks> /// <param name="owner">The repository's owner</param> /// <param name="name">The repository's name</param> /// <param name="options">Options for changing the API response</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public IObservable<Release> GetAll(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<Release>(ApiUrls.Releases(owner, name), options); }
public void RequestsCorrectUrl() { var githubClient = Substitute.For<IGitHubClient>(); var client = new ObservableRepositoryPagesClient(githubClient); var options = new ApiOptions(); client.GetAll("fake", "repo", options); githubClient.Received().Repository.Page.GetAll("fake", "repo", options); }
/// <summary> /// Gets all the statuses for the given deployment. Any user with pull access to a repository can /// view deployments. /// </summary> /// <remarks> /// http://developer.github.com/v3/repos/deployments/#list-deployment-statuses /// </remarks> /// <param name="owner">The owner of the repository.</param> /// <param name="name">The name of the repository.</param> /// <param name="deploymentId">The id of the deployment.</param> /// <param name="options">Options for changing the API response</param> public IObservable<DeploymentStatus> GetAll(string owner, string name, int deploymentId, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<DeploymentStatus>( ApiUrls.DeploymentStatuses(owner, name, deploymentId), options); }
/// <summary> /// Gets an existing APConnection by type and id. /// </summary> /// <param name="type">The type (relation name) of the connection.</param> /// <param name="id">The id of the connection.</param> /// <param name="options">Request specific api options. These will override the global settings for the app for this request.</param> /// <returns>The matching APConnection object.</returns> public async static Task<APConnection> GetAsync(string relation, string id, ApiOptions options = null) { var request = new GetConnectionRequest { Relation = relation, Id = id }; ApiOptions.Apply(request, options); var response = await request.ExecuteAsync(); if (response.Status.IsSuccessful == false) throw response.Status.ToFault(); else return response.Connection; }
/// <summary> /// Retrieves commit statuses for the specified reference. A reference can be a commit SHA, a branch name, or /// a tag name. /// </summary> /// <remarks>Only users with pull access can see this.</remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="reference">The reference (SHA, branch name, or tag name) to list commits for</param> /// <param name="options">Options for changing the API response</param> public IObservable<CommitStatus> GetAll(string owner, string name, string reference, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNullOrEmptyString(reference, "reference"); Ensure.ArgumentNotNull(options, "options"); return _connection.GetAndFlattenAllPages<CommitStatus>(ApiUrls.CommitStatuses(owner, name, reference), options); }
/// <summary> /// Gets all the events that are associated with an organization. /// </summary> /// <remarks> /// http://developer.github.com/v3/activity/events/#list-events-for-an-organization /// </remarks> /// <param name="user">The login of the user</param> /// <param name="organization">The name of the organization</param> /// <param name="options">Options for changing the API response</param> public IObservable <Activity> GetAllForAnOrganization(string user, string organization, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(user, "user"); Ensure.ArgumentNotNullOrEmptyString(organization, "organization"); Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Activity>(ApiUrls.OrganizationEvents(user, organization), options)); }
public Service(ApiOptions options) : base(options) { }
/// <summary> /// Gets all events for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/events/#list-events-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <IssueEvent> GetAllForRepository(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <IssueEvent>(ApiUrls.IssuesEvents(owner, name), options)); }
/// <summary> /// Gets all events for the issue. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/events/#list-events-for-an-issue /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="number">The issue number</param> /// <param name="options">Options for changing the API response</param> public IObservable <EventInfo> GetAllForIssue(string owner, string name, int number, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <EventInfo>(ApiUrls.IssuesEvents(owner, name, number), options)); }
/// <summary> /// Gets all <see cref="ReleaseAsset"/> for the specified release of the specified repository. /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/repos/releases/#list-assets-for-a-release">API documentation</a> for more information. /// </remarks> /// <param name="owner">The repository's owner</param> /// <param name="name">The repository's name</param> /// <param name="id">The id of the <see cref="Release"/>.</param> /// <param name="options">Options for changing the API response</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public IObservable <ReleaseAsset> GetAllAssets(string owner, string name, int id, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <ReleaseAsset>(ApiUrls.ReleaseAssets(owner, name, id), options)); }
/// <summary> /// Gets all issues across owned and member repositories for the authenticated user. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/#list-issues /// </remarks> /// <param name="request">Used to filter and sort the list of issues returned</param> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForOwnedAndMemberRepositories(IssueRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <Issue>(ApiUrls.IssuesForOwnedAndMember(), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options)); }
/// <summary> /// Gets all issues for a given organization for the authenticated user. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/#list-issues /// </remarks> /// <param name="organization">The name of the organization</param> /// <param name="request">Used to filter and sort the list of issues returned</param> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForOrganization(string organization, IssueRequest request, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(organization, nameof(organization)); Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <Issue>(ApiUrls.Issues(organization), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options)); }
public RawFileService(IOptions <ApiOptions> options, IRawFileRepository rawFileRepository) { _options = options.Value; _rawFileRepository = rawFileRepository; }
/// <summary> /// Gets all the events for a given repository network /// </summary> /// <remarks> /// http://developer.github.com/v3/activity/events/#list-public-events-for-a-network-of-repositories /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <Activity> GetAllForRepositoryNetwork(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Activity>(ApiUrls.NetworkEvents(owner, name), options)); }
/// <summary> /// Gets all open issues assigned to the authenticated user for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForRepository(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(GetAllForRepository(repositoryId, new RepositoryIssueRequest(), options)); }
/// <summary> /// Retrieves all of the watchers for the passed repository /// </summary> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options for changing the API's response.</param> /// <exception cref="AuthorizationException">Thrown if the client is not authenticated</exception> public IObservable <User> GetAllWatchers(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <User>(ApiUrls.Watchers(repositoryId), options)); }
/// <summary> /// Gets issues for a repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="request">Used to filter and sort the list of issues returned</param> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForRepository(long repositoryId, RepositoryIssueRequest request, ApiOptions options) { Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <Issue>(ApiUrls.Issues(repositoryId), request.ToParametersDictionary(), options)); }
/// <summary> /// Gets all open issues assigned to the authenticated user across owned and member repositories for the /// authenticated user. /// </summary> /// <remarks> /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// </remarks> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForOwnedAndMemberRepositories(ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(GetAllForOwnedAndMemberRepositories(new IssueRequest(), options)); }
/// <summary> /// Gets all open issues assigned to the authenticated user across all the authenticated user’s visible /// repositories including owned repositories, member repositories, and organization repositories. /// </summary> /// <param name="options">Options for changing the API response</param> /// <remarks> /// Issues are sorted by the create date descending. /// http://developer.github.com/v3/issues/#list-issues /// </remarks> public IObservable <Issue> GetAllForCurrent(ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(GetAllForCurrent(new IssueRequest(), options)); }
public ProcessCommandClient(IOptions <ApiOptions> options, ILogger <ProcessCommandClient> logger) { _logger = logger; _commonSetting = options.Value; }
/// <summary> /// Gets all the branches for the specified repository. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/branches/#list-branches">API documentation</a> for more details /// </remarks> /// <param name="repositoryId">The ID of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <Branch> GetAll(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Branch>(ApiUrls.RepoBranches(repositoryId), options)); }
/// <summary> /// Gets all events for the issue. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/events/#list-events-for-an-issue /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="number">The issue number</param> /// <param name="options">Options for changing the API response</param> public IObservable <EventInfo> GetAllForIssue(long repositoryId, int number, ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <EventInfo>(ApiUrls.IssuesEvents(repositoryId, number), options)); }
/// <summary> /// Gets Commit Comments for a repository. /// </summary> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options to change the API response</param> /// <remarks>http://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository</remarks> public IObservable <CommitComment> GetAllForRepository(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <CommitComment>(ApiUrls.CommitComments(repositoryId), null, AcceptHeaders.ReactionsPreview, options)); }
/// <summary> /// Gets all events for the repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/events/#list-events-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <IssueEvent> GetAllForRepository(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <IssueEvent>(ApiUrls.IssuesEvents(repositoryId), options)); }
/// <summary> /// Gets Commit Comments for a repository. /// </summary> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="options">Options to change the API response</param> /// <remarks>http://developer.github.com/v3/repos/comments/#list-commit-comments-for-a-repository</remarks> public IObservable <CommitComment> GetAllForRepository(string owner, string name, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <CommitComment>(ApiUrls.CommitComments(owner, name), null, AcceptHeaders.ReactionsPreview, options)); }
/// <summary> /// Gets all public keys for the authenticated user. /// </summary> /// <remarks> /// https://developer.github.com/v3/users/keys/#list-your-public-keys /// </remarks> /// <param name="options">Options to change API's behavior.</param> /// <returns>Lists the current user's keys.</returns> public IObservable <PublicKey> GetAllForCurrent(ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_client.GetAllForCurrent(options).ToObservable().SelectMany(k => k)); }
/// <summary> /// List all pending invitations for the organization. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/orgs/members/#list-pending-organization-invitations">API Documentation</a> /// for more information. /// </remarks> /// <param name="org">The login for the organization</param> /// <param name="options">Options to change API behaviour</param> /// <returns></returns> public IObservable <OrganizationMembershipInvitation> GetAllPendingInvitations(string org, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(org, nameof(org)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <OrganizationMembershipInvitation>(ApiUrls.OrganizationPendingInvititations(org), null, AcceptHeaders.OrganizationMembershipPreview, options)); }
public OpenRouteServiceClient(HttpClient httpClient, IOptions <ApiOptions> optionsAccessor) { options = optionsAccessor.Value; _httpClient = httpClient; }
/// <summary> /// <para> /// List all users who are members of an organization. A member is a user that /// belongs to at least 1 team in the organization. /// </para> /// <para> /// If the authenticated user is also an owner of this organization then both /// concealed and public member will be returned. /// </para> /// <para> /// If the requester is not an owner of the organization the query will be redirected /// to the public members list. /// </para> /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/orgs/members/#members-list">API documentation</a> /// for more information. /// </remarks> /// <param name="org">The login for the organization</param> /// <param name="filter">The members filter, <see cref="OrganizationMembersFilter"/> </param> /// <param name="role">The role filter to use when getting the users, <see cref="OrganizationMembersRole"/></param> /// <param name="options">Options for changing the API response</param> /// <returns></returns> public IObservable <User> GetAll(string org, OrganizationMembersFilter filter, OrganizationMembersRole role, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(org, nameof(org)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <User>(ApiUrls.Members(org, filter, role), options)); }
/// <summary> /// Gets all the public events /// </summary> /// <remarks> /// http://developer.github.com/v3/activity/events/#list-public-events /// </remarks> /// <param name="options">Options for changing the API response</param> public IObservable <Activity> GetAll(ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Activity>(ApiUrls.Events(), options)); }
/// <summary> /// Gets all <see cref="Release"/>s for the specified repository. /// </summary> /// <remarks> /// See the <a href="http://developer.github.com/v3/repos/releases/#list-releases-for-a-repository">API documentation</a> for more information. /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options for changing the API response</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public IObservable <Release> GetAll(int repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Release>(ApiUrls.Releases(repositoryId), options)); }
public DataService(ApiOptions options, IHttpClientWrapper httpClient) { _options = options; _httpClient = httpClient; }
/// <summary> /// Gets issues for a repository. /// </summary> /// <remarks> /// http://developer.github.com/v3/issues/#list-issues-for-a-repository /// </remarks> /// <param name="owner">The owner of the repository</param> /// <param name="name">The name of the repository</param> /// <param name="request">Used to filter and sort the list of issues returned</param> /// <param name="options">Options for changing the API response</param> public IObservable <Issue> GetAllForRepository(string owner, string name, RepositoryIssueRequest request, ApiOptions options) { Ensure.ArgumentNotNullOrEmptyString(owner, nameof(owner)); Ensure.ArgumentNotNullOrEmptyString(name, nameof(name)); Ensure.ArgumentNotNull(request, nameof(request)); Ensure.ArgumentNotNull(options, nameof(options)); return(_connection.GetAndFlattenAllPages <Issue>(ApiUrls.Issues(owner, name), request.ToParametersDictionary(), AcceptHeaders.ReactionsPreview, options)); }
/// <summary> /// Retrieves all of the watched <see cref="Repository"/>(ies) for the current user /// </summary> /// <param name="options">Options for changing the API's response.</param> /// <exception cref="AuthorizationException">Thrown if the client is not authenticated</exception> public IObservable <Repository> GetAllForCurrent(ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Repository>(ApiUrls.Watched(), options)); }
/// <summary> /// Gets all the issue events for a given repository /// </summary> /// <remarks> /// http://developer.github.com/v3/activity/events/#list-issue-events-for-a-repository /// </remarks> /// <param name="repositoryId">The Id of the repository</param> /// <param name="options">Options for changing the API response</param> public IObservable <Activity> GetAllIssuesForRepository(int repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(_connection.GetAndFlattenAllPages <Activity>(ApiUrls.IssuesEvents(repositoryId), options)); }