asobi_match_record (asobi v0.72.5)

View Source

Summary

Functions

Convert a match server's monotonic-ish millisecond stamp into the utc_datetime the started_at / finished_at columns hold.

Functions

associations()

-spec associations() ->
                      [#kura_assoc{name :: atom(),
                                   type :: belongs_to | has_one | has_many | many_to_many,
                                   schema :: module(),
                                   foreign_key :: atom() | undefined,
                                   ref ::
                                       #kura_ref{fields :: [atom()] | undefined,
                                                 target :: module() | undefined,
                                                 target_key :: [atom()] | undefined} |
                                       undefined,
                                   join_through :: binary() | module() | undefined,
                                   join_keys :: {atom() | [atom()], atom() | [atom()]} | undefined,
                                   through :: [atom()] | undefined,
                                   on_delete :: kura_schema:on_delete() | undefined}].

fields()

-spec fields() ->
                [#kura_field{name :: atom(),
                             type :: kura_types:kura_type(),
                             column :: binary() | undefined,
                             default :: term(),
                             primary_key :: boolean(),
                             nullable :: boolean(),
                             virtual :: boolean()}].

generate_id()

-spec generate_id() -> binary().

indexes()

-spec indexes() -> [{[atom()], map()}].

table()

-spec table() -> binary().

to_timestamp/1

-spec to_timestamp(integer() | undefined) -> calendar:datetime() | undefined.

Convert a match server's monotonic-ish millisecond stamp into the utc_datetime the started_at / finished_at columns hold.

Both servers keep their timers in erlang:system_time(millisecond), and kura_changeset:cast/4 rejects an integer for a utc_datetime field with cannot cast to utc_datetime - which is why every finished match failed to persist until asobi#329.