defmodule Kameleoon.ClientConfig do
@moduledoc """
Configuration payload used when creating a client through `Kameleoon.ClientFactory`.
"""
@default_refresh_interval_minutes 60
@default_session_duration_minutes 30
@default_timeout_millis 10_000
@default_tracking_interval_millis 1_000
defstruct client_id: nil,
client_secret: nil,
refresh_interval_minutes: @default_refresh_interval_minutes,
session_duration_minutes: @default_session_duration_minutes,
default_timeout_millis: @default_timeout_millis,
tracking_interval_millis: @default_tracking_interval_millis,
proxy_host: nil,
environment: nil,
top_level_domain: nil,
network_domain: nil
@type t :: %__MODULE__{
client_id: String.t() | nil,
client_secret: String.t() | nil,
refresh_interval_minutes: non_neg_integer(),
session_duration_minutes: non_neg_integer(),
default_timeout_millis: non_neg_integer(),
tracking_interval_millis: non_neg_integer(),
proxy_host: String.t() | nil,
environment: String.t() | nil,
top_level_domain: String.t() | nil,
network_domain: String.t() | nil
}
end