Skip to content
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Original file line number Diff line number Diff line change
Expand Up @@ -46,7 +46,7 @@ def graphql_context(resource_name)
Use `gql_devise_context(model)` instead.

EXAMPLE
include GraphqlDevise::Concerns::SetUserByToken
include GraphqlDevise::SetUserByToken

DummySchema.execute(params[:query], context: gql_devise_context(User))
DummySchema.execute(params[:query], context: gql_devise_context(User, Admin))
Expand Down
7 changes: 7 additions & 0 deletions app/controllers/graphql_devise/concerns/set_user_by_token.rb
Original file line number Diff line number Diff line change
Expand Up @@ -8,6 +8,13 @@ module SetUserByToken
included do
include DeviseTokenAuth::Concerns::SetUserByToken
include GraphqlDevise::Concerns::AdditionalControllerMethods

ActiveSupport::Deprecation.warn(<<-DEPRECATION.strip_heredoc, caller)
Including GraphqlDevise::Concerns::SetUserByToken is deprecated and will be removed in a future version of
this gem. Please use GraphqlDevise::SetUserByToken instead.
EXAMPLE
include GraphqlDevise::SetUserByToken
DEPRECATION
end
end
end
Expand Down
2 changes: 1 addition & 1 deletion app/controllers/graphql_devise/graphql_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@

module GraphqlDevise
class GraphqlController < ApplicationController
include GraphqlDevise::Concerns::SetUserByToken
include GraphqlDevise::SetUserByToken

def auth
result = if params[:_json]
Expand Down
7 changes: 7 additions & 0 deletions app/models/graphql_devise/concerns/model.rb
Original file line number Diff line number Diff line change
Expand Up @@ -12,6 +12,13 @@ module Model
include GraphqlDevise::Concerns::AdditionalModelMethods

GraphqlDevise.configure_warden_serializer_for_model(self)

ActiveSupport::Deprecation.warn(<<-DEPRECATION.strip_heredoc, caller)
Including GraphqlDevise::Concerns::Model is deprecated and will be removed in a future version of
this gem. Please use GraphqlDevise::Authenticatable instead.
EXAMPLE
include GraphqlDevise::Authenticatable
DEPRECATION
end
end
end
Expand Down
8 changes: 4 additions & 4 deletions lib/generators/graphql_devise/install_generator.rb
Original file line number Diff line number Diff line change
Expand Up @@ -18,13 +18,13 @@ def execute_dta_installer
if File.exist?(File.expand_path("app/models/#{user_class.underscore}.rb", destination_root))
gsub_file(
"app/models/#{user_class.underscore}.rb",
'GraphqlDevise::Concerns::Model',
'GraphqlDevise::Authenticatable',
'DeviseTokenAuth::Concerns::User'
)
end
gsub_file(
'app/controllers/application_controller.rb',
'GraphqlDevise::Concerns::SetUserByToken',
'GraphqlDevise::SetUserByToken',
'DeviseTokenAuth::Concerns::SetUserByToken'
)

Expand Down Expand Up @@ -54,15 +54,15 @@ def replace_model_concern
gsub_file(
"app/models/#{user_class.underscore}.rb",
/^\s+include DeviseTokenAuth::Concerns::User/,
' include GraphqlDevise::Concerns::Model'
' include GraphqlDevise::Authenticatable'
)
end

def replace_controller_concern
gsub_file(
'app/controllers/application_controller.rb',
/^\s+include DeviseTokenAuth::Concerns::SetUserByToken/,
' include GraphqlDevise::Concerns::SetUserByToken'
' include GraphqlDevise::SetUserByToken'
)
end

Expand Down
4 changes: 4 additions & 0 deletions lib/graphql_devise.rb
Original file line number Diff line number Diff line change
Expand Up @@ -60,6 +60,10 @@ def self.configure_warden_serializer_for_model(model)
require 'graphql_devise/errors/authentication_error'
require 'graphql_devise/errors/detailed_user_error'

# TODO: Remove when merged into master
require 'graphql_devise/concerns/authenticatable'
require 'graphql_devise/concerns/set_user_by_token.rb'

require 'graphql_devise/concerns/controller_methods'
require 'graphql_devise/schema'
require 'graphql_devise/types/authenticatable_type'
Expand Down
14 changes: 14 additions & 0 deletions lib/graphql_devise/concerns/authenticatable.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,14 @@
# frozen_string_literal: true

module GraphqlDevise
module Authenticatable
extend ActiveSupport::Concern

included do
include DeviseTokenAuth::Concerns::User
include GraphqlDevise::Concerns::AdditionalModelMethods

::GraphqlDevise.configure_warden_serializer_for_model(self)
end
end
end
12 changes: 12 additions & 0 deletions lib/graphql_devise/concerns/set_user_by_token.rb
Original file line number Diff line number Diff line change
@@ -0,0 +1,12 @@
# frozen_string_literal: true

module GraphqlDevise
module SetUserByToken
extend ActiveSupport::Concern

included do
include DeviseTokenAuth::Concerns::SetUserByToken
include GraphqlDevise::Concerns::AdditionalControllerMethods
end
end
end
2 changes: 1 addition & 1 deletion lib/graphql_devise/schema_plugin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -37,7 +37,7 @@ def trace(event, trace_data)
Please use `gql_devise_context` in you controller instead.

EXAMPLE
include GraphqlDevise::Concerns::SetUserByToken
include GraphqlDevise::SetUserByToken

DummySchema.execute(params[:query], context: gql_devise_context(User))
DummySchema.execute(params[:query], context: gql_devise_context(User, Admin))
Expand Down
2 changes: 1 addition & 1 deletion spec/dummy/app/controllers/api/v1/graphql_controller.rb
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@
module Api
module V1
class GraphqlController < ApplicationController
include GraphqlDevise::Concerns::SetUserByToken
include GraphqlDevise::SetUserByToken

def graphql
result = DummySchema.execute(params[:query], **execute_params(params))
Expand Down
2 changes: 1 addition & 1 deletion spec/dummy/app/models/admin.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,5 +7,5 @@ class Admin < ApplicationRecord
:validatable,
:confirmable

include GraphqlDevise::Concerns::Model
include GraphqlDevise::Authenticatable
end
2 changes: 1 addition & 1 deletion spec/dummy/app/models/guest.rb
Original file line number Diff line number Diff line change
Expand Up @@ -6,5 +6,5 @@ class Guest < ApplicationRecord
:recoverable,
:validatable

include GraphqlDevise::Concerns::Model
include GraphqlDevise::Authenticatable
end
2 changes: 1 addition & 1 deletion spec/dummy/app/models/schema_user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ class SchemaUser < ApplicationRecord
:validatable,
:confirmable

include GraphqlDevise::Concerns::Model
include GraphqlDevise::Authenticatable

validates :name, presence: true
end
2 changes: 1 addition & 1 deletion spec/dummy/app/models/user.rb
Original file line number Diff line number Diff line change
Expand Up @@ -10,7 +10,7 @@ class User < ApplicationRecord
:validatable,
:confirmable

include GraphqlDevise::Concerns::Model
include GraphqlDevise::Authenticatable

validates :name, presence: true

Expand Down
2 changes: 1 addition & 1 deletion spec/dummy/app/models/users/customer.rb
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@ module Users
class Customer < ApplicationRecord
devise :database_authenticatable, :validatable

include GraphqlDevise::Concerns::Model
include GraphqlDevise::Authenticatable

validates :name, presence: true
end
Expand Down
12 changes: 6 additions & 6 deletions spec/generators/graphql_devise/install_generator_spec.rb
Original file line number Diff line number Diff line change
Expand Up @@ -29,9 +29,9 @@

assert_migration 'db/migrate/devise_token_auth_create_admins.rb'

assert_file 'app/models/admin.rb', /^\s{2}devise :.+include GraphqlDevise::Concerns::Model/m
assert_file 'app/models/admin.rb', /^\s{2}devise :.+include GraphqlDevise::Authenticatable/m

assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::Concerns::SetUserByToken/
assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::SetUserByToken/

assert_file 'app/graphql/gqld_dummy_schema.rb', /\s+#{Regexp.escape("GraphqlDevise::ResourceLoader.new(Admin)")}/
end
Expand All @@ -50,9 +50,9 @@

assert_migration 'db/migrate/devise_token_auth_create_users.rb'

assert_file 'app/models/user.rb', /^\s{2}devise :.+include GraphqlDevise::Concerns::Model/m
assert_file 'app/models/user.rb', /^\s{2}devise :.+include GraphqlDevise::Authenticatable/m

assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::Concerns::SetUserByToken/
assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::SetUserByToken/
end
end

Expand All @@ -69,9 +69,9 @@

assert_migration 'db/migrate/devise_token_auth_create_admins.rb'

assert_file 'app/models/admin.rb', /^\s{2}devise :.+include GraphqlDevise::Concerns::Model/m
assert_file 'app/models/admin.rb', /^\s{2}devise :.+include GraphqlDevise::Authenticatable/m

assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::Concerns::SetUserByToken/
assert_file 'app/controllers/application_controller.rb', /^\s{2}include GraphqlDevise::SetUserByToken/
end
end

Expand Down