PhoenixGenApi.RelayServer (PhoenixGenApi v2.19.0)

Copy Markdown View Source

Serializes all relay group ETS operations to prevent race conditions.

Owns the ETS table (:phoenix_gen_api_relay_groups) and processes all group mutations sequentially via GenServer.call/3. Because a GenServer handles one message at a time, the read-modify-write patterns in PhoenixGenApi.Relay execute atomically with respect to each other.

Summary

Functions

accept_member(group_id, actor_user_id, target_user_id)

child_spec(init_arg)

Returns a specification to start this module under a supervisor.

See Supervisor.

create_group(group_id, group_type, creator_user_id, channel_pid)

delete_group(group_id)

get_group_info(group_id)

handle_relay(request, fun_config)

join_group(group_id, user_id, channel_pid)

leave_group(group_id, user_id)

mute_member(group_id, actor_user_id, target_user_id)

start_link(opts \\ [])

table()

@spec table() :: atom()

Returns the ETS table name (for backward compatibility).

unmute_member(group_id, actor_user_id, target_user_id)