GameServer.Leaderboards.Record (game_server_core v1.0.931)

Copy Markdown

Ecto schema for the leaderboard_records table.

A record represents a single score entry in a leaderboard. Records can be either user-based (one per user per leaderboard) or label-based (one per label per leaderboard, no user required).

  • User-based: user_id is set, label is nil. Uniqueness on (leaderboard_id, user_id).
  • Label-based: label is set, user_id is nil. Uniqueness on (leaderboard_id, label).

Summary

Functions

Changeset for creating a new record. Either user_id or label must be provided (but not both).

Changeset for updating an existing record's score.

Types

t()

@type t() :: %GameServer.Leaderboards.Record{
  __meta__: term(),
  id: term(),
  inserted_at: term(),
  label: term(),
  leaderboard: term(),
  leaderboard_id: term(),
  metadata: term(),
  rank: term(),
  score: term(),
  updated_at: term(),
  user: term(),
  user_id: term()
}

Functions

changeset(record, attrs)

Changeset for creating a new record. Either user_id or label must be provided (but not both).

update_changeset(record, attrs)

Changeset for updating an existing record's score.