# 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