File tree Expand file tree Collapse file tree
lib/graphql_devise/mutations Expand file tree Collapse file tree Original file line number Diff line number Diff line change @@ -8,6 +8,11 @@ class SignUp < Base
88 argument :password_confirmation , String , required : true
99 argument :confirm_success_url , String , required : false
1010
11+ field :credentials ,
12+ GraphqlDevise ::Types ::CredentialType ,
13+ null : true ,
14+ description : 'Authentication credentials. Null if after signUp resource is not active for authentication (e.g. Email confirmation required).'
15+
1116 def resolve ( confirm_success_url : nil , **attrs )
1217 resource = build_resource ( attrs . merge ( provider : provider ) )
1318 raise_user_error ( I18n . t ( 'graphql_devise.resource_build_failed' ) ) if resource . blank?
@@ -34,9 +39,11 @@ def resolve(confirm_success_url: nil, **attrs)
3439 )
3540 end
3641
37- set_auth_headers ( resource ) if resource . active_for_authentication?
42+ response_payload = { authenticatable : resource }
43+
44+ response_payload [ :credentials ] = set_auth_headers ( resource ) if resource . active_for_authentication?
3845
39- { authenticatable : resource }
46+ response_payload
4047 else
4148 resource . try ( :clean_up_passwords )
4249 raise_user_error_list (
Original file line number Diff line number Diff line change 2121 passwordConfirmation: "#{ password } "
2222 confirmSuccessUrl: "#{ redirect } "
2323 ) {
24+ credentials { accessToken }
2425 user {
2526 email
2627 name
4344 expect ( user . confirmed_at ) . to be_nil
4445 expect ( user ) . to be_valid_password ( password )
4546 expect ( json_response [ :data ] [ :userSignUp ] ) . to include (
46- user : {
47+ credentials : nil ,
48+ user : {
4749 email : email ,
4850 name : name
4951 }
126128 passwordConfirmation: "#{ password } "
127129 confirmSuccessUrl: "#{ redirect } "
128130 ) {
131+ credentials { accessToken client uid }
129132 authenticatable {
130133 email
131134 }
134137 GRAPHQL
135138 end
136139
137- it 'works without the confirmable module ' do
140+ it 'returns credentials as no confirmation is required ' do
138141 expect { post_request } . to change ( Guest , :count ) . from ( 0 ) . to ( 1 )
142+
143+ expect ( json_response [ :data ] [ :guestSignUp ] ) . to include (
144+ authenticatable : { email : email } ,
145+ credentials : hash_including (
146+ uid : email ,
147+ client : Guest . last . tokens . keys . first
148+ )
149+ )
139150 end
140151 end
141152end
You can’t perform that action at this time.
0 commit comments