Packages

SDK for GameServer hooks development. Provides type specs, documentation, and IDE autocomplete for GameServer modules without requiring the full server.

Current section

Files

Jump to
game_server_sdk lib game_server push push_token.ex
Raw

lib/game_server/push/push_token.ex

defmodule GameServer.Push.PushToken do
@moduledoc """
Registered device push token struct from GameServer.
This is a stub module for SDK type definitions. The actual struct
is provided by GameServer at runtime.
## Fields
- `id` - Token row ID (UUID string)
- `user_id` - Owner (UUID string)
- `token` - The FCM registration token or APNs device token
- `platform` - `"android" | "ios" | "web"`
- `provider` - `"fcm" | "apns"` — selects the delivery backend per token
- `device_id` - Optional stable device key (re-registration rotates in place)
- `disabled_at` - Set when the provider reported the token dead (DateTime or nil)
- `last_used_at` - Last successful delivery (DateTime or nil)
- `metadata` - Optional client info (map)
- `inserted_at` - Creation timestamp
- `updated_at` - Last update timestamp
"""
@type t :: %__MODULE__{
id: String.t(),
user_id: String.t(),
token: String.t(),
platform: String.t(),
provider: String.t(),
device_id: String.t() | nil,
disabled_at: DateTime.t() | nil,
last_used_at: DateTime.t() | nil,
metadata: map(),
inserted_at: DateTime.t(),
updated_at: DateTime.t()
}
defstruct [
:id,
:user_id,
:token,
:platform,
:provider,
:device_id,
:disabled_at,
:last_used_at,
:metadata,
:inserted_at,
:updated_at
]
end