# 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.CodeSecurity do
@moduledoc """
GitHub `code-security` API.
"""
import Noizu.Github
@doc """
Attach a configuration to repositories
@see https://docs.github.com/rest/code-security/configurations#attach-a-configuration-to-repositories
"""
def attach_configuration(org, configuration_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/#{configuration_id}/attach"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Attach an enterprise configuration to repositories
@see https://docs.github.com/rest/code-security/configurations#attach-an-enterprise-configuration-to-repositories
"""
def attach_enterprise_configuration(enterprise, configuration_id, body, options \\ nil) do
url =
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}/attach"
body = body
api_call(:post, url, body, Noizu.Github.Raw, options)
end
@doc """
Create a code security configuration
@see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration
"""
def create_configuration(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations"
body = body
api_call(:post, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
@doc """
Create a code security configuration for an enterprise
@see https://docs.github.com/rest/code-security/configurations#create-a-code-security-configuration-for-an-enterprise
"""
def create_configuration_for_enterprise(enterprise, body, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/code-security/configurations"
body = body
api_call(:post, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
@doc """
Delete a code security configuration
@see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration
"""
def delete_configuration(org, configuration_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/#{configuration_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Delete a code security configuration for an enterprise
@see https://docs.github.com/rest/code-security/configurations#delete-a-code-security-configuration-for-an-enterprise
"""
def delete_configuration_for_enterprise(enterprise, configuration_id, options \\ nil) do
url =
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}"
body = %{}
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Detach configurations from repositories
@see https://docs.github.com/rest/code-security/configurations#detach-configurations-from-repositories
"""
def detach_configuration(org, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/detach"
body = body
api_call(:delete, url, body, Noizu.Github.Raw, options)
end
@doc """
Get a code security configuration
@see https://docs.github.com/rest/code-security/configurations#get-a-code-security-configuration
"""
def get_configuration(org, configuration_id, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/#{configuration_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
@doc """
Get the code security configuration associated with a repository
@see https://docs.github.com/rest/code-security/configurations#get-the-code-security-configuration-associated-with-a-repository
"""
def get_configuration_for_repository(options \\ nil) do
owner = repo_owner(options)
repo = repo_name(options)
url = github_base() <> "/repos/#{owner}/#{repo}/code-security-configuration"
body = %{}
api_call(:get, url, body, Noizu.Github.CodeSecurityConfigurationForRepository, options)
end
@doc """
Get code security configurations for an enterprise
@see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-enterprise
"""
def get_configurations_for_enterprise(enterprise, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:before, options, nil),
get_field(:after, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/enterprises/#{enterprise}/code-security/configurations" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.CodeSecurityConfiguration, options)
end
@doc """
Get code security configurations for an organization
@see https://docs.github.com/rest/code-security/configurations#get-code-security-configurations-for-an-organization
"""
def get_configurations_for_org(org, options \\ nil) do
url =
(
query =
[
get_field(:target_type, options, nil),
get_field(:per_page, options, nil),
get_field(:before, options, nil),
get_field(:after, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <> "/orgs/#{org}/code-security/configurations" <> qs
)
body = %{}
api_call(:get, url, body, Noizu.Github.Collection.CodeSecurityConfiguration, options)
end
@doc """
Get default code security configurations
@see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations
"""
def get_default_configurations(org, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/defaults"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get default code security configurations for an enterprise
@see https://docs.github.com/rest/code-security/configurations#get-default-code-security-configurations-for-an-enterprise
"""
def get_default_configurations_for_enterprise(enterprise, options \\ nil) do
url = github_base() <> "/enterprises/#{enterprise}/code-security/configurations/defaults"
body = %{}
api_call(:get, url, body, Noizu.Github.Raw, options)
end
@doc """
Get repositories associated with a code security configuration
@see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-a-code-security-configuration
"""
def get_repositories_for_configuration(org, configuration_id, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:before, options, nil),
get_field(:after, options, nil),
get_field(:status, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/orgs/#{org}/code-security/configurations/#{configuration_id}/repositories" <> qs
)
body = %{}
api_call(
:get,
url,
body,
Noizu.Github.Collection.CodeSecurityConfigurationRepositories,
options
)
end
@doc """
Get repositories associated with an enterprise code security configuration
@see https://docs.github.com/rest/code-security/configurations#get-repositories-associated-with-an-enterprise-code-security-configuration
"""
def get_repositories_for_enterprise_configuration(enterprise, configuration_id, options \\ nil) do
url =
(
query =
[
get_field(:per_page, options, nil),
get_field(:before, options, nil),
get_field(:after, options, nil),
get_field(:status, options, nil)
]
|> Enum.filter(& &1)
qs = if query == [], do: "", else: "?" <> Enum.join(query, "&")
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}/repositories" <>
qs
)
body = %{}
api_call(
:get,
url,
body,
Noizu.Github.Collection.CodeSecurityConfigurationRepositories,
options
)
end
@doc """
Retrieve a code security configuration of an enterprise
@see https://docs.github.com/rest/code-security/configurations#retrieve-a-code-security-configuration-of-an-enterprise
"""
def get_single_configuration_for_enterprise(enterprise, configuration_id, options \\ nil) do
url =
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}"
body = %{}
api_call(:get, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
@doc """
Set a code security configuration as a default for an organization
@see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-organization
"""
def set_configuration_as_default(org, configuration_id, body, options \\ nil) do
url =
github_base() <> "/orgs/#{org}/code-security/configurations/#{configuration_id}/defaults"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Set a code security configuration as a default for an enterprise
@see https://docs.github.com/rest/code-security/configurations#set-a-code-security-configuration-as-a-default-for-an-enterprise
"""
def set_configuration_as_default_for_enterprise(
enterprise,
configuration_id,
body,
options \\ nil
) do
url =
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}/defaults"
body = body
api_call(:put, url, body, Noizu.Github.Raw, options)
end
@doc """
Update a code security configuration
@see https://docs.github.com/rest/code-security/configurations#update-a-code-security-configuration
"""
def update_configuration(org, configuration_id, body, options \\ nil) do
url = github_base() <> "/orgs/#{org}/code-security/configurations/#{configuration_id}"
body = body
api_call(:patch, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
@doc """
Update a custom code security configuration for an enterprise
@see https://docs.github.com/rest/code-security/configurations#update-a-custom-code-security-configuration-for-an-enterprise
"""
def update_enterprise_configuration(enterprise, configuration_id, body, options \\ nil) do
url =
github_base() <>
"/enterprises/#{enterprise}/code-security/configurations/#{configuration_id}"
body = body
api_call(:patch, url, body, Noizu.Github.CodeSecurityConfiguration, options)
end
end