logout.rb 539 B

1234567891011121314151617181920212223242526
  1. # frozen_string_literal: true
  2. module Mutations
  3. module User
  4. class Logout < Mutations::BaseMutation
  5. # include ::ControllerMethods
  6. field :user, Types::UserType, null: false
  7. def resolve
  8. if current_user && client && current_user.tokens[client]
  9. current_user.tokens.delete(client)
  10. current_user.save!
  11. remove_user
  12. yield user if block_given?
  13. {user: current_user}
  14. else
  15. raise_user_error('user not found')
  16. end
  17. end
  18. end
  19. end
  20. end