lib/web/session/store.ex
# Copyright(c) 2015-2023 ACCESS CO., LTD. All rights reserved.
use Croma
defmodule Antikythera.Session.Store do
@moduledoc """
Behaviour of session store.
"""
@type session_id :: nil | String.t()
@type session_kv :: %{String.t() => any}
@callback load(session_id) :: {session_id, session_kv}
@callback save(session_id, session_kv) :: String.t()
@callback delete(session_id) :: :ok
end