Current section
Files
Jump to
Current section
Files
lib/live_updates.ex
defmodule Kandis.LiveUpdates do
@topic inspect(__MODULE__)
@pubsub Application.get_env(:kandis, :pubsub)
@doc "subscribe for all users"
def subscribe_live_view do
Phoenix.PubSub.subscribe(@pubsub, topic(), link: true)
end
@doc "subscribe for specific user"
def subscribe_live_view(user_id) do
Phoenix.PubSub.subscribe(@pubsub, topic(user_id), link: true)
end
@doc "notify for all users"
def notify_live_view(message) do
Phoenix.PubSub.broadcast(@pubsub, topic(), message)
end
@doc "notify for specific user"
def notify_live_view(user_id, message) do
"" |> Kandis.KdHelpers.log("notify_live_view user:#{user_id}", :debug)
Phoenix.PubSub.broadcast(@pubsub, topic(user_id), message)
end
defp topic, do: @topic
defp topic(user_id), do: topic() <> to_string(user_id)
end