# frozen_string_literal: true module Mutations module User class Logout < Mutations::BaseMutation # include ::ControllerMethods field :user, Types::UserType, null: false def resolve if current_user && client && current_user.tokens[client] current_user.tokens.delete(client) current_user.save! remove_user yield user if block_given? {user: current_user} else raise_user_error('user not found') end end end end end