graphql_devise 0.12.3 → 0.13.4

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 (168) hide show
  1. checksums.yaml +4 -4
  2. data/CHANGELOG.md +54 -0
  3. data/Gemfile +2 -0
  4. data/README.md +116 -65
  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 +16 -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 +3 -1
  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 +16 -6
  49. data/lib/graphql_devise/mutations/send_password_reset.rb +3 -1
  50. data/lib/graphql_devise/mutations/sign_up.rb +12 -3
  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 +7 -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/confirm_admin_account.rb +13 -0
  75. data/spec/dummy/app/graphql/resolvers/public_user.rb +2 -0
  76. data/spec/dummy/app/graphql/resolvers/user_show.rb +2 -0
  77. data/spec/dummy/app/graphql/types/admin_type.rb +8 -0
  78. data/spec/dummy/app/graphql/types/base_object.rb +2 -0
  79. data/spec/dummy/app/graphql/types/custom_admin_type.rb +2 -0
  80. data/spec/dummy/app/graphql/types/mutation_type.rb +3 -0
  81. data/spec/dummy/app/graphql/types/query_type.rb +2 -0
  82. data/spec/dummy/app/graphql/types/user_type.rb +2 -0
  83. data/spec/dummy/app/jobs/application_job.rb +2 -0
  84. data/spec/dummy/app/mailers/application_mailer.rb +2 -0
  85. data/spec/dummy/app/models/admin.rb +2 -0
  86. data/spec/dummy/app/models/application_record.rb +2 -0
  87. data/spec/dummy/app/models/guest.rb +2 -0
  88. data/spec/dummy/app/models/schema_user.rb +13 -0
  89. data/spec/dummy/app/models/user.rb +2 -0
  90. data/spec/dummy/app/models/users.rb +2 -0
  91. data/spec/dummy/app/models/users/customer.rb +2 -0
  92. data/spec/dummy/config.ru +2 -0
  93. data/spec/dummy/config/application.rb +2 -0
  94. data/spec/dummy/config/environment.rb +2 -0
  95. data/spec/dummy/config/environments/development.rb +2 -0
  96. data/spec/dummy/config/environments/production.rb +2 -0
  97. data/spec/dummy/config/environments/test.rb +2 -0
  98. data/spec/dummy/config/initializers/application_controller_renderer.rb +2 -0
  99. data/spec/dummy/config/initializers/backtrace_silencers.rb +2 -0
  100. data/spec/dummy/config/initializers/cors.rb +2 -0
  101. data/spec/dummy/config/initializers/devise.rb +1 -1
  102. data/spec/dummy/config/initializers/devise_token_auth.rb +2 -0
  103. data/spec/dummy/config/initializers/filter_parameter_logging.rb +2 -0
  104. data/spec/dummy/config/initializers/i18n.rb +2 -0
  105. data/spec/dummy/config/initializers/inflections.rb +2 -0
  106. data/spec/dummy/config/initializers/mime_types.rb +2 -0
  107. data/spec/dummy/config/initializers/wrap_parameters.rb +2 -0
  108. data/spec/dummy/config/puma.rb +2 -0
  109. data/spec/dummy/config/routes.rb +5 -0
  110. data/spec/dummy/config/spring.rb +2 -0
  111. data/spec/dummy/db/migrate/20190815114303_create_users.rb +2 -0
  112. data/spec/dummy/db/migrate/20190824215150_add_auth_available_to_users.rb +2 -0
  113. data/spec/dummy/db/migrate/20190916012505_create_admins.rb +2 -0
  114. data/spec/dummy/db/migrate/20191013213045_create_guests.rb +2 -0
  115. data/spec/dummy/db/migrate/20200321121807_create_users_customers.rb +2 -0
  116. data/spec/dummy/db/migrate/20200621182414_remove_uncofirmed_email_from_admins.rb +7 -0
  117. data/spec/dummy/db/migrate/20200623003142_create_schema_users.rb +46 -0
  118. data/spec/dummy/db/schema.rb +28 -2
  119. data/spec/dummy/db/seeds.rb +2 -0
  120. data/spec/factories/admins.rb +2 -0
  121. data/spec/factories/guests.rb +2 -0
  122. data/spec/factories/schema_users.rb +13 -0
  123. data/spec/factories/users.rb +2 -0
  124. data/spec/factories/users_customers.rb +2 -0
  125. data/spec/generators/graphql_devise/install_generator_spec.rb +3 -1
  126. data/spec/graphql_devise/model/with_email_updater_spec.rb +131 -0
  127. data/spec/graphql_devise_spec.rb +2 -0
  128. data/spec/models/user_spec.rb +2 -0
  129. data/spec/rails_helper.rb +3 -0
  130. data/spec/requests/graphql_controller_spec.rb +2 -0
  131. data/spec/requests/mutations/additional_mutations_spec.rb +2 -0
  132. data/spec/requests/mutations/additional_queries_spec.rb +2 -0
  133. data/spec/requests/mutations/login_spec.rb +2 -0
  134. data/spec/requests/mutations/logout_spec.rb +2 -0
  135. data/spec/requests/mutations/resend_confirmation_spec.rb +29 -4
  136. data/spec/requests/mutations/send_password_reset_spec.rb +2 -0
  137. data/spec/requests/mutations/sign_up_spec.rb +15 -2
  138. data/spec/requests/mutations/update_password_spec.rb +2 -0
  139. data/spec/requests/queries/check_password_token_spec.rb +2 -0
  140. data/spec/requests/queries/confirm_account_spec.rb +102 -42
  141. data/spec/requests/user_controller_spec.rb +57 -8
  142. data/spec/services/mount_method/operation_preparer_spec.rb +2 -0
  143. data/spec/services/mount_method/operation_preparers/custom_operation_preparer_spec.rb +2 -0
  144. data/spec/services/mount_method/operation_preparers/default_operation_preparer_spec.rb +2 -0
  145. data/spec/services/mount_method/operation_preparers/gql_name_setter_spec.rb +2 -0
  146. data/spec/services/mount_method/operation_preparers/mutation_field_setter_spec.rb +2 -0
  147. data/spec/services/mount_method/operation_preparers/resolver_type_setter_spec.rb +2 -0
  148. data/spec/services/mount_method/operation_preparers/resource_name_setter_spec.rb +2 -0
  149. data/spec/services/mount_method/operation_sanitizer_spec.rb +2 -0
  150. data/spec/services/mount_method/option_sanitizer_spec.rb +2 -0
  151. data/spec/services/mount_method/option_sanitizers/array_checker_spec.rb +2 -0
  152. data/spec/services/mount_method/option_sanitizers/class_checker_spec.rb +2 -0
  153. data/spec/services/mount_method/option_sanitizers/hash_checker_spec.rb +2 -0
  154. data/spec/services/mount_method/option_sanitizers/string_checker_spec.rb +2 -0
  155. data/spec/services/mount_method/option_validators/provided_operations_validator_spec.rb +2 -0
  156. data/spec/services/mount_method/option_validators/skip_only_validator_spec.rb +2 -0
  157. data/spec/services/mount_method/option_validators/supported_operations_validator_spec.rb +2 -0
  158. data/spec/services/mount_method/options_validator_spec.rb +2 -0
  159. data/spec/services/resource_loader_spec.rb +2 -0
  160. data/spec/services/schema_plugin_spec.rb +2 -0
  161. data/spec/spec_helper.rb +2 -0
  162. data/spec/support/contexts/graphql_request.rb +2 -0
  163. data/spec/support/factory_bot.rb +2 -0
  164. data/spec/support/matchers/auth_headers_matcher.rb +2 -0
  165. data/spec/support/matchers/not_change_matcher.rb +2 -0
  166. data/spec/support/requests/auth_helpers.rb +2 -0
  167. data/spec/support/requests/json_helpers.rb +2 -0
  168. metadata +19 -2
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  module GraphqlDevise
2
4
  module Resolvers
3
5
  class ConfirmAccount < Base
@@ -13,13 +15,16 @@ 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
+ url = 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
  )
25
+ resource.save!
26
+
27
+ url
23
28
  else
24
29
  DeviseTokenAuth::Url.generate(redirect_url, redirect_header_options)
25
30
  end
@@ -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.4'.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
@@ -0,0 +1,13 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Resolvers
4
+ class ConfirmAdminAccount < GraphqlDevise::Resolvers::ConfirmAccount
5
+ type Types::AdminType, null: false
6
+
7
+ def resolve(confirmation_token:, redirect_url:)
8
+ super do |admin|
9
+ controller.sign_in(admin)
10
+ end
11
+ end
12
+ end
13
+ 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
@@ -0,0 +1,8 @@
1
+ # frozen_string_literal: true
2
+
3
+ module Types
4
+ class AdminType < GraphQL::Schema::Object
5
+ field :id, Int, null: false
6
+ field :email, String, null: false
7
+ end
8
+ end
@@ -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
 
@@ -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
 
@@ -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
 
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # ActiveSupport::Reloader.to_prepare do
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # You can add backtrace silencers for libraries that you're using but don't wish to see in your backtraces.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # Avoid CORS issues when API is called from the frontend app.
@@ -142,7 +142,7 @@ Devise.setup do |config|
142
142
  # initial account confirmation) to be applied. Requires additional unconfirmed_email
143
143
  # db field (see migrations). Until confirmed, new email is stored in
144
144
  # unconfirmed_email column, and copied to email column on successful confirmation.
145
- config.reconfirmable = true
145
+ config.reconfirmable = false
146
146
 
147
147
  # Defines which key will be used when confirming an account
148
148
  # config.confirmation_keys = [:email]
@@ -37,6 +37,8 @@ DeviseTokenAuth.setup do |config|
37
37
  # password is updated.
38
38
  config.check_current_password_before_update = :password
39
39
 
40
+ config.default_confirm_success_url = 'https://google.com'
41
+
40
42
  # By default we will use callbacks for single omniauth.
41
43
  # It depends on fields like email, provider and uid.
42
44
  # config.default_callbacks = true
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  # Be sure to restart your server when you modify this file.
2
4
 
3
5
  # Configure sensitive parameters which will be filtered from the log file.
@@ -1,3 +1,5 @@
1
+ # frozen_string_literal: true
2
+
1
3
  I18n.exception_handler = lambda do |exception, locale, key, options|
2
4
  raise exception
3
5
  end