defmodule GitHub.Organization do @moduledoc """ Provides struct and types for a Organization """ use GitHub.Encoder @type full :: %__MODULE__{ __info__: map, advanced_security_enabled_for_new_repositories: boolean | nil, archived_at: DateTime.t() | nil, avatar_url: String.t(), billing_email: String.t() | nil, blog: String.t() | nil, collaborators: integer | nil, company: String.t() | nil, created_at: DateTime.t(), default_repository_permission: String.t() | nil, dependabot_alerts_enabled_for_new_repositories: boolean | nil, dependabot_security_updates_enabled_for_new_repositories: boolean | nil, dependency_graph_enabled_for_new_repositories: boolean | nil, description: String.t() | nil, disk_usage: integer | nil, email: String.t() | nil, events_url: String.t(), followers: integer, following: integer, has_organization_projects: boolean, has_repository_projects: boolean, hooks_url: String.t(), html_url: String.t(), id: integer, is_verified: boolean | nil, issues_url: String.t(), location: String.t() | nil, login: String.t(), members_allowed_repository_creation_type: String.t() | nil, members_can_create_internal_repositories: boolean | nil, members_can_create_pages: boolean | nil, members_can_create_private_pages: boolean | nil, members_can_create_private_repositories: boolean | nil, members_can_create_public_pages: boolean | nil, members_can_create_public_repositories: boolean | nil, members_can_create_repositories: boolean | nil, members_can_fork_private_repositories: boolean | nil, members_url: String.t(), name: String.t() | nil, node_id: String.t(), owned_private_repos: integer | nil, plan: GitHub.Organization.Plan.full() | nil, private_gists: integer | nil, public_gists: integer, public_members_url: String.t(), public_repos: integer, repos_url: String.t(), secret_scanning_enabled_for_new_repositories: boolean | nil, secret_scanning_push_protection_custom_link: String.t() | nil, secret_scanning_push_protection_custom_link_enabled: boolean | nil, secret_scanning_push_protection_enabled_for_new_repositories: boolean | nil, total_private_repos: integer | nil, twitter_username: String.t() | nil, two_factor_requirement_enabled: boolean | nil, type: String.t(), updated_at: DateTime.t(), url: String.t(), web_commit_signoff_required: boolean | nil } @type simple :: %__MODULE__{ __info__: map, avatar_url: String.t(), description: String.t() | nil, events_url: String.t(), hooks_url: String.t(), id: integer, issues_url: String.t(), login: String.t(), members_url: String.t(), node_id: String.t(), public_members_url: String.t(), repos_url: String.t(), url: String.t() } @type t :: %__MODULE__{ __info__: map, avatar_url: String.t(), blog: String.t() | nil, company: String.t() | nil, created_at: DateTime.t(), description: String.t() | nil, email: String.t() | nil, events_url: String.t(), followers: integer, following: integer, has_organization_projects: boolean, has_repository_projects: boolean, hooks_url: String.t(), html_url: String.t(), id: integer, is_verified: boolean | nil, issues_url: String.t(), location: String.t() | nil, login: String.t(), members_url: String.t(), name: String.t() | nil, node_id: String.t(), plan: GitHub.Organization.Plan.t() | nil, public_gists: integer, public_members_url: String.t(), public_repos: integer, repos_url: String.t(), type: String.t(), updated_at: DateTime.t(), url: String.t() } defstruct [ :__info__, :advanced_security_enabled_for_new_repositories, :archived_at, :avatar_url, :billing_email, :blog, :collaborators, :company, :created_at, :default_repository_permission, :dependabot_alerts_enabled_for_new_repositories, :dependabot_security_updates_enabled_for_new_repositories, :dependency_graph_enabled_for_new_repositories, :description, :disk_usage, :email, :events_url, :followers, :following, :has_organization_projects, :has_repository_projects, :hooks_url, :html_url, :id, :is_verified, :issues_url, :location, :login, :members_allowed_repository_creation_type, :members_can_create_internal_repositories, :members_can_create_pages, :members_can_create_private_pages, :members_can_create_private_repositories, :members_can_create_public_pages, :members_can_create_public_repositories, :members_can_create_repositories, :members_can_fork_private_repositories, :members_url, :name, :node_id, :owned_private_repos, :plan, :private_gists, :public_gists, :public_members_url, :public_repos, :repos_url, :secret_scanning_enabled_for_new_repositories, :secret_scanning_push_protection_custom_link, :secret_scanning_push_protection_custom_link_enabled, :secret_scanning_push_protection_enabled_for_new_repositories, :total_private_repos, :twitter_username, :two_factor_requirement_enabled, :type, :updated_at, :url, :web_commit_signoff_required ] @doc false @spec __fields__(atom) :: keyword def __fields__(type \\ :t) def __fields__(:full) do [ advanced_security_enabled_for_new_repositories: :boolean, archived_at: {:union, [{:string, :date_time}, :null]}, avatar_url: {:string, :generic}, billing_email: {:union, [{:string, :email}, :null]}, blog: {:string, :uri}, collaborators: {:union, [:integer, :null]}, company: {:string, :generic}, created_at: {:string, :date_time}, default_repository_permission: {:union, [{:string, :generic}, :null]}, dependabot_alerts_enabled_for_new_repositories: :boolean, dependabot_security_updates_enabled_for_new_repositories: :boolean, dependency_graph_enabled_for_new_repositories: :boolean, description: {:union, [{:string, :generic}, :null]}, disk_usage: {:union, [:integer, :null]}, email: {:string, :email}, events_url: {:string, :uri}, followers: :integer, following: :integer, has_organization_projects: :boolean, has_repository_projects: :boolean, hooks_url: {:string, :generic}, html_url: {:string, :uri}, id: :integer, is_verified: :boolean, issues_url: {:string, :generic}, location: {:string, :generic}, login: {:string, :generic}, members_allowed_repository_creation_type: {:string, :generic}, members_can_create_internal_repositories: :boolean, members_can_create_pages: :boolean, members_can_create_private_pages: :boolean, members_can_create_private_repositories: :boolean, members_can_create_public_pages: :boolean, members_can_create_public_repositories: :boolean, members_can_create_repositories: {:union, [:boolean, :null]}, members_can_fork_private_repositories: {:union, [:boolean, :null]}, members_url: {:string, :generic}, name: {:string, :generic}, node_id: {:string, :generic}, owned_private_repos: :integer, plan: {GitHub.Organization.Plan, :full}, private_gists: {:union, [:integer, :null]}, public_gists: :integer, public_members_url: {:string, :generic}, public_repos: :integer, repos_url: {:string, :uri}, secret_scanning_enabled_for_new_repositories: :boolean, secret_scanning_push_protection_custom_link: {:union, [{:string, :generic}, :null]}, secret_scanning_push_protection_custom_link_enabled: :boolean, secret_scanning_push_protection_enabled_for_new_repositories: :boolean, total_private_repos: :integer, twitter_username: {:union, [{:string, :generic}, :null]}, two_factor_requirement_enabled: {:union, [:boolean, :null]}, type: {:string, :generic}, updated_at: {:string, :date_time}, url: {:string, :uri}, web_commit_signoff_required: :boolean ] end def __fields__(:simple) do [ avatar_url: {:string, :generic}, description: {:union, [{:string, :generic}, :null]}, events_url: {:string, :uri}, hooks_url: {:string, :generic}, id: :integer, issues_url: {:string, :generic}, login: {:string, :generic}, members_url: {:string, :generic}, node_id: {:string, :generic}, public_members_url: {:string, :generic}, repos_url: {:string, :uri}, url: {:string, :uri} ] end def __fields__(:t) do [ avatar_url: {:string, :generic}, blog: {:string, :uri}, company: {:string, :generic}, created_at: {:string, :date_time}, description: {:union, [{:string, :generic}, :null]}, email: {:string, :email}, events_url: {:string, :uri}, followers: :integer, following: :integer, has_organization_projects: :boolean, has_repository_projects: :boolean, hooks_url: {:string, :generic}, html_url: {:string, :uri}, id: :integer, is_verified: :boolean, issues_url: {:string, :generic}, location: {:string, :generic}, login: {:string, :generic}, members_url: {:string, :generic}, name: {:string, :generic}, node_id: {:string, :generic}, plan: {GitHub.Organization.Plan, :t}, public_gists: :integer, public_members_url: {:string, :generic}, public_repos: :integer, repos_url: {:string, :uri}, type: {:string, :generic}, updated_at: {:string, :date_time}, url: {:string, :uri} ] end end