Gamend.ClientLogs.SessionLobby (gamend_core v1.0.1192)

Copy Markdown View Source

A lobby a client session was in.

Written once per (session, lobby) pair with on_conflict: :nothing, so repeated batches from the same run cost an ignored insert rather than a read-modify-write that two nodes could race.

Keyed by client_session_id (the client-generated string) rather than by the session row's id, so a batch can record its lobbies without first resolving the row. See the migration for why this is a table and not an array column.

Summary

Types

t()

@type t() :: %Gamend.ClientLogs.SessionLobby{
  __meta__: term(),
  client_session_id: term(),
  id: term(),
  inserted_at: term(),
  lobby_id: term()
}

Functions

changeset(session_lobby, attrs)

@spec changeset(t(), map()) :: Ecto.Changeset.t()