Packages

YipyipExAuth has been retired and replaced by Charon. Check it out at https://github.com/weareyipyip/charon or https://hexdocs.pm/charon

Retired package: Deprecated - This package has been succeeded by charon

Current section

Files

Jump to
yipyip_ex_auth lib models session.ex
Raw

lib/models/session.ex

defmodule YipyipExAuth.Models.Session do
@moduledoc """
A session.
"""
defstruct id: nil,
user_id: nil,
refresh_token_id: nil,
created_at: nil,
refreshed_at: nil,
last_known_ip: nil,
token_signature_transport: nil,
expires_at: nil,
extra_payload: %{}
@type t :: %__MODULE__{
id: String.t(),
user_id: pos_integer,
refresh_token_id: String.t(),
created_at: integer,
refreshed_at: integer,
last_known_ip: String.t(),
token_signature_transport: atom,
expires_at: integer | nil,
extra_payload: map()
}
@doc """
Create a new session struct from an old session struct.
"""
@spec upgrade_old_session(struct()) :: t()
def upgrade_old_session(session = %{extra_payload: _}), do: session
def upgrade_old_session(session), do: Map.put(session, :extra_payload, %{})
end