# Generated by `mix github.gen` from docs/github-api/api.github.com.json.
# Do not edit by hand; re-run the task instead.
defmodule Noizu.Github.Api.Reactions do
@moduledoc """
GitHub `reactions` API.
"""
import Noizu.Github
@doc """
Create reaction for a commit comment
@see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-commit-comment
"""
def create_for_commit_comment(comment_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/comments/#{comment_id}/reactions"
body = body
api_call(:post, url, body, Noizu.Github.Reaction, options)
end
@doc """
Create reaction for an issue
@see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue
"""
def create_for_issue(issue_number, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/issues/#{issue_number}/reactions"
body = body
api_call(:post, url, body, Noizu.Github.Reaction, options)
end
@doc """
Create reaction for an issue comment
@see https://docs.github.com/rest/reactions/reactions#create-reaction-for-an-issue-comment
"""
def create_for_issue_comment(comment_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/issues/comments/#{comment_id}/reactions"
body = body
api_call(:post, url, body, Noizu.Github.Reaction, options)
end
@doc """
Create reaction for a pull request review comment
@see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-pull-request-review-comment
"""
def create_for_pull_request_review_comment(comment_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/pulls/comments/#{comment_id}/reactions"
body = body
api_call(:post, url, body, Noizu.Github.Reaction, options)
end
@doc """
Create reaction for a release
@see https://docs.github.com/rest/reactions/reactions#create-reaction-for-a-release
"""
def create_for_release(release_id, body, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/releases/#{release_id}/reactions"
body = body
api_call(:post, url, body, Noizu.Github.Reaction, options)
end
@doc """
Delete a commit comment reaction
@see https://docs.github.com/rest/reactions/reactions#delete-a-commit-comment-reaction
"""
def delete_for_commit_comment(comment_id, reaction_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/comments/#{comment_id}/reactions/#{reaction_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an issue reaction
@see https://docs.github.com/rest/reactions/reactions#delete-an-issue-reaction
"""
def delete_for_issue(issue_number, reaction_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/issues/#{issue_number}/reactions/#{reaction_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete an issue comment reaction
@see https://docs.github.com/rest/reactions/reactions#delete-an-issue-comment-reaction
"""
def delete_for_issue_comment(comment_id, reaction_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/issues/comments/#{comment_id}/reactions/#{reaction_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a pull request comment reaction
@see https://docs.github.com/rest/reactions/reactions#delete-a-pull-request-comment-reaction
"""
def delete_for_pull_request_comment(comment_id, reaction_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <>
"/repos/#{owner}/#{repo}/pulls/comments/#{comment_id}/reactions/#{reaction_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a release reaction
@see https://docs.github.com/rest/reactions/reactions#delete-a-release-reaction
"""
def delete_for_release(release_id, reaction_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
github_base() <> "/repos/#{owner}/#{repo}/releases/#{release_id}/reactions/#{reaction_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
List reactions for a commit comment
@see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-commit-comment
"""
def list_for_commit_comment(comment_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:content, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/comments/#{comment_id}/reactions" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.Reaction, options)
end
@doc """
List reactions for an issue
@see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue
"""
def list_for_issue(issue_number, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:content, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/issues/#{issue_number}/reactions" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.Reaction, options)
end
@doc """
List reactions for an issue comment
@see https://docs.github.com/rest/reactions/reactions#list-reactions-for-an-issue-comment
"""
def list_for_issue_comment(comment_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:content, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/issues/comments/#{comment_id}/reactions" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.Reaction, options)
end
@doc """
List reactions for a pull request review comment
@see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-pull-request-review-comment
"""
def list_for_pull_request_review_comment(comment_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:content, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/pulls/comments/#{comment_id}/reactions" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.Reaction, options)
end
@doc """
List reactions for a release
@see https://docs.github.com/rest/reactions/reactions#list-reactions-for-a-release
"""
def list_for_release(release_id, options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url =
(
query =
[
get_field(:content, options, nil),
get_field(:per_page, options, nil),
get_field(:page, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/repos/#{owner}/#{repo}/releases/#{release_id}/reactions" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.Reaction, options)
end
end