Подписка с авторизацией: пропустить триггер, если условие не выполнено
У меня есть веб-приложение Phoenix, и я использую Absinthe для подписок, которые запускаются всякий раз, когда новый Comment
добавляется в Topic
, Я пытаюсь отправить подписку только в том случае, если пользователь является участником темы, а в противном случае вообще ничего не отправляет.
До сих пор я пытался играть с config
как упомянуто в документации по подписке, но кажется, что она выполняется только при создании подписки, а не при ее запуске. Я надеюсь, что это так просто, как:
resolve fn comment, _, %{context: context} ->
if User.member_of?(context.user, commment.topic) do
{:ok, comment}
else
:noreply
end
end
Сейчас я только возвращаюсь {:ok, nil}
но я надеюсь, что есть лучший способ добиться этого.