defmodule Auth0.Entity.Logs do @moduledoc """ Documentation for entity of Logs. """ alias Auth0.Common.Util alias Auth0.Entity.Log defstruct length: 0, total: 0, start: 0, limit: 0, logs: [] @type t :: %__MODULE__{ length: integer, total: integer, start: integer, limit: integer, logs: list(Log.t()) } @spec from(list) :: __MODULE__.t() def from(value) when value |> is_list do %{ length: value |> length, total: value |> length, start: 0, limit: value |> length, logs: value |> Enum.map(&Log.from/1) } |> Util.to_struct(__MODULE__) end @spec from(map) :: __MODULE__.t() def from(value) when value |> is_map do logs = value |> Util.to_struct(__MODULE__) if logs.logs |> is_list do %{logs | logs: logs.logs |> Enum.map(&Log.from/1)} else logs end end end