mirror of
https://github.com/ash-project/ash_graphql.git
synced 2024-09-20 21:32:59 +12:00
16 lines
548 B
Elixir
16 lines
548 B
Elixir
defmodule AshGraphql.Resource.Subscription.Notifier do
|
|
alias AshGraphql.Resource.Info
|
|
use Ash.Notifier
|
|
|
|
@impl Ash.Notifier
|
|
def notify(notification) do
|
|
pub_sub = Info.subscription_pubsub(notification.resource)
|
|
|
|
for subscription <- AshGraphql.Resource.Info.subscriptions(notification.resource) do
|
|
if is_nil(subscription.actions) or
|
|
notification.action.name in List.wrap(subscription.actions) do
|
|
Absinthe.Subscription.publish(pub_sub, notification.data, [{subscription.name, "*"}])
|
|
end
|
|
end
|
|
end
|
|
end
|