|
|
@@ -1,60 +1,58 @@
|
|
|
# frozen_string_literal: true
|
|
|
|
|
|
module Mutations
|
|
|
- module User
|
|
|
- class SignUp < Mutations::BaseMutation
|
|
|
- # include ::ControllerMethods
|
|
|
+ class User::SignUp < Mutations::BaseMutation
|
|
|
+ include ControllerMethods
|
|
|
|
|
|
- argument :username, String, required: true
|
|
|
- argument :email, String, required: true
|
|
|
- argument :password, String, required: true
|
|
|
- argument :password_confirmation, String, required: true
|
|
|
- argument :confirm_success_url, String, required: false
|
|
|
+ argument :username, String, required: true
|
|
|
+ argument :email, String, required: true
|
|
|
+ argument :password, String, required: true
|
|
|
+ argument :password_confirmation, String, required: true
|
|
|
+ argument :confirm_success_url, String, required: false
|
|
|
|
|
|
- field :user, Types::UserType, null: false
|
|
|
+ field :user, Types::UserType, null: false
|
|
|
|
|
|
- def resolve(confirm_success_url: nil, **attrs)
|
|
|
- user = ::User.new(provider: :email, **attrs)
|
|
|
- raise_user_error('failed to create user') if user.blank?
|
|
|
+ def resolve(confirm_success_url: nil, **attrs)
|
|
|
+ user = ::User.new(provider: :email, **attrs)
|
|
|
+ raise_user_error('failed to create user') if user.blank?
|
|
|
|
|
|
- redirect_url = confirm_success_url \
|
|
|
- || DeviseTokenAuth.default_confirm_success_url
|
|
|
+ redirect_url = confirm_success_url \
|
|
|
+ || DeviseTokenAuth.default_confirm_success_url
|
|
|
|
|
|
- if blacklisted_redirect_url?(redirect_url)
|
|
|
- raise_user_error('redirect url is not allowed')
|
|
|
- end
|
|
|
+ if blacklisted_redirect_url?(redirect_url)
|
|
|
+ raise_user_error('redirect url is not allowed')
|
|
|
+ end
|
|
|
+
|
|
|
+ # user.skip_confirmation_notification!
|
|
|
|
|
|
- # user.skip_confirmation_notification!
|
|
|
-
|
|
|
- if user.save
|
|
|
- unless user.confirmed?
|
|
|
- # user.send_confirmation_instructions(
|
|
|
- # redirect_url: confirm_success_url,
|
|
|
- # template_path: ['mailer/user'],
|
|
|
- # )
|
|
|
- end
|
|
|
-
|
|
|
- set_auth_headers(user) if user.active_for_authentication?
|
|
|
-
|
|
|
- {user: user}
|
|
|
- else
|
|
|
- # clean_up_passwords(user)
|
|
|
- raise_user_error_list(
|
|
|
- 'registration failed',
|
|
|
- errors: user.errors.full_messages,
|
|
|
- )
|
|
|
+ if user.save
|
|
|
+ unless user.confirmed?
|
|
|
+ # user.send_confirmation_instructions(
|
|
|
+ # redirect_url: confirm_success_url,
|
|
|
+ # template_path: ['mailer/user'],
|
|
|
+ # )
|
|
|
end
|
|
|
- end
|
|
|
|
|
|
- private
|
|
|
+ set_auth_headers(user) if user.active_for_authentication?
|
|
|
|
|
|
- def provider
|
|
|
- :email
|
|
|
+ {user: user}
|
|
|
+ else
|
|
|
+ # clean_up_passwords(user)
|
|
|
+ raise_user_error_list(
|
|
|
+ 'registration failed',
|
|
|
+ errors: user.errors.full_messages,
|
|
|
+ )
|
|
|
end
|
|
|
+ end
|
|
|
|
|
|
- def clean_up_passwords(user)
|
|
|
- # controller.send(:clean_up_passwords, user)
|
|
|
- end
|
|
|
+ private
|
|
|
+
|
|
|
+ def provider
|
|
|
+ :email
|
|
|
+ end
|
|
|
+
|
|
|
+ def clean_up_passwords(user)
|
|
|
+ # controller.send(:clean_up_passwords, user)
|
|
|
end
|
|
|
end
|
|
|
end
|