mirror of
https://codeberg.org/JasterV/intisync.ex.git
synced 2026-04-26 18:10:07 +00:00
16 lines
492 B
Elixir
16 lines
492 B
Elixir
defmodule Intisync.SessionPubSub do
|
|
@moduledoc """
|
|
Provides function to publish/subscribe to IntiSync.PubSub topics
|
|
"""
|
|
|
|
def broadcast!(session_id, topic, event, payload) do
|
|
topic = "#{topic}:#{event}:#{session_id}"
|
|
payload = %{payload: payload, topic: topic}
|
|
|
|
Phoenix.PubSub.broadcast!(Intisync.PubSub, topic, payload)
|
|
end
|
|
|
|
def subscribe!(session_id, topic, event) do
|
|
:ok = Phoenix.PubSub.subscribe(Intisync.PubSub, "#{topic}:#{event}:#{session_id}")
|
|
end
|
|
end
|