/// <summary> /// Stars a repository for the authenticated user. /// </summary> /// <param name="owner">The owner of the repository to star</param> /// <param name="name">The name of the repository to star</param> /// <returns>A <c>bool</c> representing the success of starring</returns> public async Task <bool> StarRepo(string owner, string name) { Ensure.ArgumentNotNullOrEmptyString(owner, "owner"); Ensure.ArgumentNotNullOrEmptyString(name, "name"); try { var response = await Connection.PutAsync <object>(ApiUrls.Starred(owner, name), null, null) .ConfigureAwait(false); return(response.StatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }
/// <summary> /// Follow a user /// </summary> /// <param name="login">The login name of the user to follow</param> /// <remarks> /// See the <a href="http://developer.github.com/v3/users/followers/#follow-a-user">API documentation</a> for more information. /// </remarks> /// <returns>A <c>bool</c> representing the success of the operation.</returns> public async Task <bool> Follow(string login) { Ensure.ArgumentNotNullOrEmptyString(login, "login"); try { var requestData = new { }; var response = await Connection.PutAsync <object>(ApiUrls.IsFollowing(login), requestData) .ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.NoContent) { throw new ApiException("Invalid Status Code returned. Expected a 204", response.StatusCode); } return(response.StatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }
/// <summary> /// Make the authenticated user's organization membership public. /// </summary> /// <remarks> /// This method requires authentication. /// See the <a href="http://developer.github.com/v3/orgs/members/#publicize-a-users-membership">API documentation</a> /// for more information. /// </remarks> /// <param name="org">The login for the organization</param> /// <param name="user">The login for the user</param> /// <returns></returns> public async Task <bool> Publicize(string org, string user) { Ensure.ArgumentNotNullOrEmptyString(org, "org"); Ensure.ArgumentNotNullOrEmptyString(user, "user"); try { var requestData = new { }; var response = await Connection.PutAsync <object>(ApiUrls.OrganizationMembership(org, user), requestData) .ConfigureAwait(false); if (response.StatusCode != HttpStatusCode.NoContent) { throw new ApiException("Invalid Status Code returned. Expected a 204", response.StatusCode); } return(response.StatusCode == HttpStatusCode.NoContent); } catch (NotFoundException) { return(false); } }