Подписка с авторизацией: пропустить триггер, если условие не выполнено

У меня есть веб-приложение 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} но я надеюсь, что есть лучший способ добиться этого.

0 ответов

Другие вопросы по тегам