/// <summary> /// Deletes a repository invitation. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/invitations/#delete-a-repository-invitation">API documentation</a> for more information. /// </remarks> /// <param name="repositoryId">The id of the repository</param> /// <param name="invitationId">The id of the invitation</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public async Task <bool> Delete(int repositoryId, int invitationId) { var endpoint = ApiUrls.RepositoryInvitations(repositoryId, invitationId); try { var httpStatusCode = await Connection.Delete(endpoint, new object(), AcceptHeaders.InvitationsApiPreview).ConfigureAwait(false); return(httpStatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }
public async Task <bool> Delete(long repositoryId, int invitationId) { var endpoint = ApiUrls.RepositoryInvitations(repositoryId, invitationId); try { var httpStatusCode = await Connection.Delete(endpoint).ConfigureAwait(false); return(httpStatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }
public Task <RepositoryInvitation> Edit(long repositoryId, int invitationId, InvitationUpdate permissions) { Ensure.ArgumentNotNull(permissions, nameof(permissions)); return(ApiConnection.Patch <RepositoryInvitation>(ApiUrls.RepositoryInvitations(repositoryId, invitationId), permissions)); }
public Task <IReadOnlyList <RepositoryInvitation> > GetAllForRepository(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, nameof(options)); return(ApiConnection.GetAll <RepositoryInvitation>(ApiUrls.RepositoryInvitations(repositoryId), options)); }
/// <summary> /// Updates a repository invitation. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/invitations/#update-a-repository-invitation">API documentation</a> for more information. /// </remarks> /// <param name="repositoryId">The id of the repository</param> /// <param name="invitationId">The id of the invitation</param> /// <param name="permissions">The permission for the collsborator</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public Task <RepositoryInvitation> Edit(int repositoryId, int invitationId, InvitationUpdate permissions) { Ensure.ArgumentNotNull(permissions, "permissions"); return(ApiConnection.Patch <RepositoryInvitation>(ApiUrls.RepositoryInvitations(repositoryId, invitationId), permissions, AcceptHeaders.InvitationsApiPreview)); }
/// <summary> /// Gets all the invitations on a repository. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/invitations/#list-invitations-for-a-repository">API documentation</a> for more information. /// </remarks> /// <param name="repositoryId">The id of the repository</param> /// <exception cref="ApiException">Thrown when a general API error occurs.</exception> public Task <IReadOnlyList <RepositoryInvitation> > GetAllForRepository(int repositoryId) { return(ApiConnection.GetAll <RepositoryInvitation>(ApiUrls.RepositoryInvitations(repositoryId), AcceptHeaders.InvitationsApiPreview)); }
/// <summary> /// Gets all the invitations on a repository. /// </summary> /// <remarks> /// See the <a href="https://developer.github.com/v3/repos/invitations/#list-invitations-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 Task <IReadOnlyList <RepositoryInvitation> > GetAllForRepository(long repositoryId, ApiOptions options) { Ensure.ArgumentNotNull(options, "options"); return(ApiConnection.GetAll <RepositoryInvitation>(ApiUrls.RepositoryInvitations(repositoryId), null, AcceptHeaders.InvitationsApiPreview, options)); }