controller_methods.rb 1.7 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081
  1. # frozen_string_literal: true
  2. module ControllerMethods
  3. extend ActiveSupport::Concern
  4. private
  5. def raise_user_error(message)
  6. # raise GraphqlDevise::UserError, message
  7. raise message
  8. end
  9. def raise_user_error_list(message, errors:)
  10. # raise GraphqlDevise::DetailedUserError.new(message, errors: errors)
  11. raise message
  12. end
  13. def remove_resource
  14. controller.resource = nil
  15. controller.client_id = nil
  16. controller.token = nil
  17. end
  18. def request
  19. controller.request
  20. end
  21. def response
  22. controller.response
  23. end
  24. def controller
  25. context[:controller]
  26. end
  27. def resource_name
  28. self.class.instance_variable_get(:@resource_name)
  29. end
  30. def resource_class
  31. controller.send(:resource_class, resource_name)
  32. end
  33. def recoverable_enabled?
  34. resource_class.devise_modules.include?(:recoverable)
  35. end
  36. def confirmable_enabled?
  37. resource_class.devise_modules.include?(:confirmable)
  38. end
  39. def blacklisted_redirect_url?(redirect_url)
  40. DeviseTokenAuth.redirect_whitelist && !DeviseTokenAuth::Url.whitelisted?(redirect_url)
  41. end
  42. def current_resource
  43. @current_resource ||= controller.send(:set_user_by_token, resource_name)
  44. end
  45. def client
  46. controller.token.client if controller.token.present?
  47. end
  48. def set_auth_headers(resource)
  49. auth_headers = resource.create_new_auth_token
  50. response.headers.merge!(auth_headers)
  51. end
  52. def client_and_token(token)
  53. {client_id: token.client, token: token.token}
  54. end
  55. def redirect_headers(token_info, redirect_header_options)
  56. controller.send(
  57. :build_redirect_headers,
  58. token_info.fetch(:token),
  59. token_info.fetch(:client_id),
  60. redirect_header_options,
  61. )
  62. end
  63. end