mirror of
https://github.com/livebook-dev/livebook.git
synced 2025-09-13 08:24:22 +08:00
* Add initial user config modal * Assign user ids * Update session data to hold user ids * Get users list for specific ids * Render user avatar * User update * Refactor user changes * Subscribe to individual user updates * Show users in side panel * Add sidebar to homepage * Don't generate the same color twice in a row * Add documentation notes * Fix tests * Add tests * Keep users in session data * Rename color to hex_color
20 lines
509 B
Elixir
20 lines
509 B
Elixir
defmodule Livebook.Users do
|
|
@moduledoc false
|
|
|
|
alias Livebook.Users.User
|
|
|
|
@doc """
|
|
Notifies interested processes about user data change.
|
|
|
|
Broadcasts `{:user_change, user}` message under the `"user:{id}"` topic.
|
|
"""
|
|
@spec broadcast_change(User.t()) :: :ok
|
|
def broadcast_change(user) do
|
|
broadcast_user_message(user.id, {:user_change, user})
|
|
:ok
|
|
end
|
|
|
|
defp broadcast_user_message(user_id, message) do
|
|
Phoenix.PubSub.broadcast(Livebook.PubSub, "users:#{user_id}", message)
|
|
end
|
|
end
|