graphql_devise 0.12.3 → 0.13.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (165) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +17 -0
  3. data/Gemfile +2 -0
  4. data/README.md +38 -0
  5. data/Rakefile +2 -0
  6. data/app/controllers/graphql_devise/application_controller.rb +2 -0
  7. data/app/controllers/graphql_devise/concerns/set_user_by_token.rb +6 -0
  8. data/app/controllers/graphql_devise/graphql_controller.rb +2 -0
  9. data/app/helpers/graphql_devise/application_helper.rb +2 -0
  10. data/app/helpers/graphql_devise/mailer_helper.rb +2 -0
  11. data/app/models/graphql_devise/concerns/model.rb +10 -0
  12. data/app/views/graphql_devise/mailer/confirmation_instructions.html.erb +1 -1
  13. data/app/views/graphql_devise/mailer/reset_password_instructions.html.erb +1 -1
  14. data/config/routes.rb +2 -0
  15. data/lib/generators/graphql_devise/install_generator.rb +2 -0
  16. data/lib/graphql_devise.rb +2 -0
  17. data/lib/graphql_devise/concerns/controller_methods.rb +2 -0
  18. data/lib/graphql_devise/default_operations/mutations.rb +2 -0
  19. data/lib/graphql_devise/default_operations/resolvers.rb +2 -0
  20. data/lib/graphql_devise/engine.rb +2 -0
  21. data/lib/graphql_devise/errors/authentication_error.rb +2 -0
  22. data/lib/graphql_devise/errors/detailed_user_error.rb +2 -0
  23. data/lib/graphql_devise/errors/error_codes.rb +2 -0
  24. data/lib/graphql_devise/errors/execution_error.rb +2 -0
  25. data/lib/graphql_devise/errors/user_error.rb +2 -0
  26. data/lib/graphql_devise/model/with_email_updater.rb +74 -0
  27. data/lib/graphql_devise/mount_method/operation_preparer.rb +2 -0
  28. data/lib/graphql_devise/mount_method/operation_preparers/custom_operation_preparer.rb +2 -0
  29. data/lib/graphql_devise/mount_method/operation_preparers/default_operation_preparer.rb +2 -0
  30. data/lib/graphql_devise/mount_method/operation_preparers/gql_name_setter.rb +2 -0
  31. data/lib/graphql_devise/mount_method/operation_preparers/mutation_field_setter.rb +2 -0
  32. data/lib/graphql_devise/mount_method/operation_preparers/resolver_type_setter.rb +2 -0
  33. data/lib/graphql_devise/mount_method/operation_preparers/resource_name_setter.rb +2 -0
  34. data/lib/graphql_devise/mount_method/operation_sanitizer.rb +2 -0
  35. data/lib/graphql_devise/mount_method/option_sanitizer.rb +2 -0
  36. data/lib/graphql_devise/mount_method/option_sanitizers/array_checker.rb +2 -0
  37. data/lib/graphql_devise/mount_method/option_sanitizers/class_checker.rb +2 -0
  38. data/lib/graphql_devise/mount_method/option_sanitizers/hash_checker.rb +2 -0
  39. data/lib/graphql_devise/mount_method/option_sanitizers/string_checker.rb +2 -0
  40. data/lib/graphql_devise/mount_method/option_validators/provided_operations_validator.rb +2 -0
  41. data/lib/graphql_devise/mount_method/option_validators/skip_only_validator.rb +2 -0
  42. data/lib/graphql_devise/mount_method/option_validators/supported_operations_validator.rb +2 -0
  43. data/lib/graphql_devise/mount_method/options_validator.rb +2 -0
  44. data/lib/graphql_devise/mount_method/supported_options.rb +2 -0
  45. data/lib/graphql_devise/mutations/base.rb +2 -0
  46. data/lib/graphql_devise/mutations/login.rb +2 -0
  47. data/lib/graphql_devise/mutations/logout.rb +2 -0
  48. data/lib/graphql_devise/mutations/resend_confirmation.rb +3 -1
  49. data/lib/graphql_devise/mutations/send_password_reset.rb +3 -1
  50. data/lib/graphql_devise/mutations/sign_up.rb +3 -1
  51. data/lib/graphql_devise/mutations/update_password.rb +2 -0
  52. data/lib/graphql_devise/rails/routes.rb +2 -0
  53. data/lib/graphql_devise/resolvers/base.rb +2 -0
  54. data/lib/graphql_devise/resolvers/check_password_token.rb +2 -0
  55. data/lib/graphql_devise/resolvers/confirm_account.rb +4 -2
  56. data/lib/graphql_devise/resolvers/dummy.rb +2 -0
  57. data/lib/graphql_devise/resource_loader.rb +2 -0
  58. data/lib/graphql_devise/schema.rb +2 -0
  59. data/lib/graphql_devise/schema_plugin.rb +8 -0
  60. data/lib/graphql_devise/types/authenticatable_type.rb +2 -0
  61. data/lib/graphql_devise/types/credential_type.rb +2 -0
  62. data/lib/graphql_devise/types/mutation_type.rb +2 -0
  63. data/lib/graphql_devise/types/query_type.rb +2 -0
  64. data/lib/graphql_devise/version.rb +3 -1
  65. data/spec/dummy/Rakefile +2 -0
  66. data/spec/dummy/app/controllers/api/v1/graphql_controller.rb +3 -1
  67. data/spec/dummy/app/controllers/application_controller.rb +2 -0
  68. data/spec/dummy/app/graphql/dummy_schema.rb +4 -1
  69. data/spec/dummy/app/graphql/interpreter_schema.rb +2 -0
  70. data/spec/dummy/app/graphql/mutations/login.rb +2 -0
  71. data/spec/dummy/app/graphql/mutations/register_confirmed_user.rb +2 -0
  72. data/spec/dummy/app/graphql/mutations/sign_up.rb +2 -0
  73. data/spec/dummy/app/graphql/mutations/update_user.rb +22 -0
  74. data/spec/dummy/app/graphql/resolvers/public_user.rb +2 -0
  75. data/spec/dummy/app/graphql/resolvers/user_show.rb +2 -0
  76. data/spec/dummy/app/graphql/types/base_object.rb +2 -0
  77. data/spec/dummy/app/graphql/types/custom_admin_type.rb +2 -0
  78. data/spec/dummy/app/graphql/types/mutation_type.rb +3 -0
  79. data/spec/dummy/app/graphql/types/query_type.rb +2 -0
  80. data/spec/dummy/app/graphql/types/user_type.rb +2 -0
  81. data/spec/dummy/app/jobs/application_job.rb +2 -0
  82. data/spec/dummy/app/mailers/application_mailer.rb +2 -0
  83. data/spec/dummy/app/models/admin.rb +2 -0
  84. data/spec/dummy/app/models/application_record.rb +2 -0
  85. data/spec/dummy/app/models/guest.rb +2 -0
  86. data/spec/dummy/app/models/schema_user.rb +13 -0
  87. data/spec/dummy/app/models/user.rb +2 -0
  88. data/spec/dummy/app/models/users.rb +2 -0
  89. data/spec/dummy/app/models/users/customer.rb +2 -0
  90. data/spec/dummy/config.ru +2 -0
  91. data/spec/dummy/config/application.rb +2 -0
  92. data/spec/dummy/config/environment.rb +2 -0
  93. data/spec/dummy/config/environments/development.rb +2 -0
  94. data/spec/dummy/config/environments/production.rb +2 -0
  95. data/spec/dummy/config/environments/test.rb +2 -0
  96. data/spec/dummy/config/initializers/application_controller_renderer.rb +2 -0
  97. data/spec/dummy/config/initializers/backtrace_silencers.rb +2 -0
  98. data/spec/dummy/config/initializers/cors.rb +2 -0
  99. data/spec/dummy/config/initializers/devise_token_auth.rb +2 -0
  100. data/spec/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  101. data/spec/dummy/config/initializers/i18n.rb +2 -0
  102. data/spec/dummy/config/initializers/inflections.rb +2 -0
  103. data/spec/dummy/config/initializers/mime_types.rb +2 -0
  104. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -0
  105. data/spec/dummy/config/puma.rb +2 -0
  106. data/spec/dummy/config/routes.rb +2 -0
  107. data/spec/dummy/config/spring.rb +2 -0
  108. data/spec/dummy/db/migrate/20190815114303_create_users.rb +2 -0
  109. data/spec/dummy/db/migrate/20190824215150_add_auth_available_to_users.rb +2 -0
  110. data/spec/dummy/db/migrate/20190916012505_create_admins.rb +2 -0
  111. data/spec/dummy/db/migrate/20191013213045_create_guests.rb +2 -0
  112. data/spec/dummy/db/migrate/20200321121807_create_users_customers.rb +2 -0
  113. data/spec/dummy/db/migrate/20200621182414_remove_uncofirmed_email_from_admins.rb +7 -0
  114. data/spec/dummy/db/migrate/20200623003142_create_schema_users.rb +46 -0
  115. data/spec/dummy/db/schema.rb +30 -2
  116. data/spec/dummy/db/seeds.rb +2 -0
  117. data/spec/factories/admins.rb +2 -0
  118. data/spec/factories/guests.rb +2 -0
  119. data/spec/factories/schema_users.rb +13 -0
  120. data/spec/factories/users.rb +2 -0
  121. data/spec/factories/users_customers.rb +2 -0
  122. data/spec/generators/graphql_devise/install_generator_spec.rb +2 -0
  123. data/spec/graphql_devise/model/with_email_updater_spec.rb +131 -0
  124. data/spec/graphql_devise_spec.rb +2 -0
  125. data/spec/models/user_spec.rb +2 -0
  126. data/spec/rails_helper.rb +3 -0
  127. data/spec/requests/graphql_controller_spec.rb +2 -0
  128. data/spec/requests/mutations/additional_mutations_spec.rb +2 -0
  129. data/spec/requests/mutations/additional_queries_spec.rb +2 -0
  130. data/spec/requests/mutations/login_spec.rb +2 -0
  131. data/spec/requests/mutations/logout_spec.rb +2 -0
  132. data/spec/requests/mutations/resend_confirmation_spec.rb +2 -0
  133. data/spec/requests/mutations/send_password_reset_spec.rb +2 -0
  134. data/spec/requests/mutations/sign_up_spec.rb +2 -0
  135. data/spec/requests/mutations/update_password_spec.rb +2 -0
  136. data/spec/requests/queries/check_password_token_spec.rb +2 -0
  137. data/spec/requests/queries/confirm_account_spec.rb +3 -1
  138. data/spec/requests/user_controller_spec.rb +57 -8
  139. data/spec/services/mount_method/operation_preparer_spec.rb +2 -0
  140. data/spec/services/mount_method/operation_preparers/custom_operation_preparer_spec.rb +2 -0
  141. data/spec/services/mount_method/operation_preparers/default_operation_preparer_spec.rb +2 -0
  142. data/spec/services/mount_method/operation_preparers/gql_name_setter_spec.rb +2 -0
  143. data/spec/services/mount_method/operation_preparers/mutation_field_setter_spec.rb +2 -0
  144. data/spec/services/mount_method/operation_preparers/resolver_type_setter_spec.rb +2 -0
  145. data/spec/services/mount_method/operation_preparers/resource_name_setter_spec.rb +2 -0
  146. data/spec/services/mount_method/operation_sanitizer_spec.rb +2 -0
  147. data/spec/services/mount_method/option_sanitizer_spec.rb +2 -0
  148. data/spec/services/mount_method/option_sanitizers/array_checker_spec.rb +2 -0
  149. data/spec/services/mount_method/option_sanitizers/class_checker_spec.rb +2 -0
  150. data/spec/services/mount_method/option_sanitizers/hash_checker_spec.rb +2 -0
  151. data/spec/services/mount_method/option_sanitizers/string_checker_spec.rb +2 -0
  152. data/spec/services/mount_method/option_validators/provided_operations_validator_spec.rb +2 -0
  153. data/spec/services/mount_method/option_validators/skip_only_validator_spec.rb +2 -0
  154. data/spec/services/mount_method/option_validators/supported_operations_validator_spec.rb +2 -0
  155. data/spec/services/mount_method/options_validator_spec.rb +2 -0
  156. data/spec/services/resource_loader_spec.rb +2 -0
  157. data/spec/services/schema_plugin_spec.rb +2 -0
  158. data/spec/spec_helper.rb +2 -0
  159. data/spec/support/contexts/graphql_request.rb +2 -0
  160. data/spec/support/factory_bot.rb +2 -0
  161. data/spec/support/matchers/auth_headers_matcher.rb +2 -0
  162. data/spec/support/matchers/not_change_matcher.rb +2 -0
  163. data/spec/support/requests/auth_helpers.rb +2 -0
  164. data/spec/support/requests/json_helpers.rb +2 -0
  165. metadata +15 -2
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require_relative 'option_sanitizers/array_checker'
2
4
  require_relative 'option_sanitizers/hash_checker'
3
5
  require_relative 'option_sanitizers/string_checker'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise_token_auth/version'
2
4
 
3
5
  module GraphqlDevise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class Login < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class Logout < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class ResendConfirmation < Base
@@ -20,7 +22,7 @@ module GraphqlDevise
20
22
  resource.send_confirmation_instructions(
21
23
  redirect_url: redirect_url,
22
24
  template_path: ['graphql_devise/mailer'],
23
- **controller.params.permit('controller', 'action').to_h.symbolize_keys
25
+ schema_url: controller.full_url_without_params
24
26
  )
25
27
 
26
28
  { message: I18n.t('graphql_devise.confirmations.send_instructions', email: email) }
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class SendPasswordReset < Base
@@ -17,7 +19,7 @@ module GraphqlDevise
17
19
  provider: 'email',
18
20
  redirect_url: redirect_url,
19
21
  template_path: ['graphql_devise/mailer'],
20
- **controller.params.permit('controller', 'action').to_h.symbolize_keys
22
+ schema_url: controller.full_url_without_params
21
23
  )
22
24
 
23
25
  if resource.errors.empty?
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class SignUp < Base
@@ -28,7 +30,7 @@ module GraphqlDevise
28
30
  resource.send_confirmation_instructions(
29
31
  redirect_url: confirm_success_url,
30
32
  template_path: ['graphql_devise/mailer'],
31
- **controller.params.permit('controller', 'action').to_h.symbolize_keys
33
+ schema_url: controller.full_url_without_params
32
34
  )
33
35
  end
34
36
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Mutations
3
5
  class UpdatePassword < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module ActionDispatch::Routing
2
4
  class Mapper
3
5
  def mount_graphql_devise_for(resource, options = {})
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'devise_token_auth/version'
2
4
 
3
5
  module GraphqlDevise
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Resolvers
3
5
  class CheckPasswordToken < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Resolvers
3
5
  class ConfirmAccount < Base
@@ -13,10 +15,10 @@ module GraphqlDevise
13
15
  redirect_header_options = { account_confirmation_success: true }
14
16
 
15
17
  redirect_to_link = if controller.signed_in?(resource_name)
16
- signed_in_resource.build_auth_url(
18
+ resource.build_auth_url(
17
19
  redirect_url,
18
20
  redirect_headers(
19
- client_and_token(controller.signed_in_resource.create_token),
21
+ client_and_token(resource.create_token),
20
22
  redirect_header_options
21
23
  )
22
24
  )
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Resolvers
3
5
  class Dummy < Base
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  class ResourceLoader
3
5
  def initialize(resource, options = {}, routing = false)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  class Schema < GraphQL::Schema
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  class SchemaPlugin
3
5
  DEFAULT_NOT_AUTHENTICATED = ->(field) { raise GraphqlDevise::AuthenticationError, "#{field} field requires authentication" }
@@ -11,6 +13,7 @@ module GraphqlDevise
11
13
 
12
14
  # Must happen on initialize so operations are loaded before the types are added to the schema on GQL < 1.10
13
15
  load_fields
16
+ reconfigure_warden!
14
17
  end
15
18
 
16
19
  def use(schema_definition)
@@ -92,6 +95,11 @@ module GraphqlDevise
92
95
  end
93
96
  end
94
97
 
98
+ def reconfigure_warden!
99
+ Devise.class_variable_set(:@@warden_configured, nil)
100
+ Devise.configure_warden!
101
+ end
102
+
95
103
  def load_fields
96
104
  @resource_loaders.each do |resource_loader|
97
105
  raise Error, 'Invalid resource loader instance' unless resource_loader.instance_of?(GraphqlDevise::ResourceLoader)
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Types
3
5
  class AuthenticatableType < GraphQL::Schema::Object
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Types
3
5
  class CredentialType < GraphQL::Schema::Object
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Types
3
5
  class MutationType < GraphQL::Schema::Object
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Types
3
5
  class QueryType < GraphQL::Schema::Object
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
- VERSION = '0.12.3'.freeze
4
+ VERSION = '0.13.0'.freeze
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Add your own tasks in files placed in lib/tasks ending in .rake,
2
4
  # for example lib/tasks/capistrano.rake, and they will automatically be available to Rake.
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Api
2
4
  module V1
3
5
  class GraphqlController < ApplicationController
@@ -23,7 +25,7 @@ module Api
23
25
  {
24
26
  operation_name: item[:operationName],
25
27
  variables: ensure_hash(item[:variables]),
26
- context: graphql_context(:user)
28
+ context: graphql_context([:user, :schema_user])
27
29
  }
28
30
  end
29
31
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationController < ActionController::Base
2
4
  protect_from_forgery with: :exception
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class DummySchema < GraphQL::Schema
2
4
  use GraphqlDevise::SchemaPlugin.new(
3
5
  query: Types::QueryType,
@@ -13,7 +15,8 @@ class DummySchema < GraphQL::Schema
13
15
  :check_password_token
14
16
  ]
15
17
  ),
16
- GraphqlDevise::ResourceLoader.new('Guest', only: [:logout])
18
+ GraphqlDevise::ResourceLoader.new('Guest', only: [:logout]),
19
+ GraphqlDevise::ResourceLoader.new('SchemaUser')
17
20
  ]
18
21
  )
19
22
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class InterpreterSchema < GraphQL::Schema
2
4
  use GraphQL::Execution::Interpreter if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('1.9.0')
3
5
  use GraphQL::Analysis::AST if Gem::Version.new(GraphQL::VERSION) >= Gem::Version.new('1.10.0')
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mutations
2
4
  class Login < GraphqlDevise::Mutations::Login
3
5
  field :user, Types::UserType, null: true
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mutations
2
4
  class RegisterConfirmedUser < GraphqlDevise::Mutations::Base
3
5
  argument :email, String, required: true
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Mutations
2
4
  class SignUp < GraphqlDevise::Mutations::SignUp
3
5
  argument :name, String, required: false
@@ -0,0 +1,22 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Mutations
4
+ class UpdateUser < GraphQL::Schema::Mutation
5
+ field :user, Types::UserType, null: false
6
+
7
+ argument :email, String, required: false
8
+ argument :name, String, required: false
9
+
10
+ def resolve(**attrs)
11
+ user = context[:current_resource]
12
+
13
+ schema_url = context[:controller].full_url_without_params
14
+
15
+ user.update_with_email(
16
+ attrs.merge(schema_url: schema_url, confirmation_success_url: 'https://google.com')
17
+ )
18
+
19
+ { user: user }
20
+ end
21
+ end
22
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Resolvers
2
4
  class PublicUser < GraphQL::Schema::Resolver
3
5
  type Types::UserType, null: false
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Resolvers
2
4
  class UserShow < GraphQL::Schema::Resolver
3
5
  type Types::UserType, null: false
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class BaseObject < GraphQL::Schema::Object
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class CustomAdminType < GraphQL::Schema::Object
3
5
  field :email, String, null: false
@@ -1,6 +1,9 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class MutationType < Types::BaseObject
3
5
  field :dummy_mutation, String, null: false, authenticate: true
6
+ field :update_user, mutation: Mutations::UpdateUser
4
7
 
5
8
  def dummy_mutation
6
9
  'Necessary so GraphQL gem does not complain about empty mutation type'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class QueryType < Types::BaseObject
3
5
  field :user, resolver: Resolvers::UserShow
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Types
2
4
  class UserType < GraphQL::Schema::Object
3
5
  field :id, Int, null: false
@@ -1,2 +1,4 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationJob < ActiveJob::Base
2
4
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationMailer < ActionMailer::Base
2
4
  default from: 'from@example.com'
3
5
  layout 'mailer'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Admin < ApplicationRecord
2
4
  devise :database_authenticatable,
3
5
  :registerable,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class ApplicationRecord < ActiveRecord::Base
2
4
  self.abstract_class = true
3
5
  end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class Guest < ApplicationRecord
2
4
  devise :database_authenticatable,
3
5
  :registerable,
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ class SchemaUser < ApplicationRecord
4
+ devise :database_authenticatable,
5
+ :recoverable,
6
+ :trackable,
7
+ :validatable,
8
+ :confirmable
9
+
10
+ include GraphqlDevise::Concerns::Model
11
+
12
+ validates :name, presence: true
13
+ end
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  class User < ApplicationRecord
2
4
  devise :database_authenticatable,
3
5
  :registerable,
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Users
2
4
  def self.table_name_prefix
3
5
  'users_'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module Users
2
4
  class Customer < ApplicationRecord
3
5
  devise :database_authenticatable, :validatable
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # This file is used by Rack-based servers to start the application.
2
4
 
3
5
  require_relative 'config/environment'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  require 'rails'
2
4
  require 'active_model/railtie'
3
5
  require 'active_job/railtie'
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Load the Rails application.
2
4
  require_relative 'application'
3
5
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  Rails.application.configure do
2
4
  # Settings specified here will take precedence over those in config/application.rb.
3
5