# NOTE: This file is auto generated by OpenAPI Generator 7.12.0 (https://openapi-generator.tech).
# Do not edit this file manually.

defmodule Ory.Model.OnboardingPortalOrganization do
  @moduledoc """
  
  """

  @derive Jason.Encoder
  defstruct [
    :base_url,
    :kratos_selfservice_methods_oidc_config_providers,
    :kratos_selfservice_methods_saml_config_providers,
    :organization_id,
    :organization_label,
    :revision_id,
    :scim_clients,
    :scim_enabled,
    :sso_enabled
  ]

  @type t :: %__MODULE__{
    :base_url => String.t,
    :kratos_selfservice_methods_oidc_config_providers => [Ory.Model.NormalizedProjectRevisionThirdPartyProvider.t],
    :kratos_selfservice_methods_saml_config_providers => [Ory.Model.NormalizedProjectRevisionSamlProvider.t],
    :organization_id => String.t | nil,
    :organization_label => String.t | nil,
    :revision_id => String.t,
    :scim_clients => [Ory.Model.NormalizedProjectRevisionScimClient.t],
    :scim_enabled => boolean(),
    :sso_enabled => boolean()
  }

  alias Ory.Deserializer

  def decode(value) do
    value
     |> Deserializer.deserialize(:kratos_selfservice_methods_oidc_config_providers, :list, Ory.Model.NormalizedProjectRevisionThirdPartyProvider)
     |> Deserializer.deserialize(:kratos_selfservice_methods_saml_config_providers, :list, Ory.Model.NormalizedProjectRevisionSamlProvider)
     |> Deserializer.deserialize(:scim_clients, :list, Ory.Model.NormalizedProjectRevisionScimClient)
  end
end

