Automatic login after sign-up

This commit is contained in:
cond0r
2021-02-05 11:06:03 +02:00
parent dde09c5105
commit 41b14e55c3
4 changed files with 61 additions and 38 deletions

View File

@@ -3,9 +3,14 @@ import type { HookFetcher } from '@commerce/utils/types'
import { CommerceError } from '@commerce/utils/errors'
import useCommerceSignup from '@commerce/use-signup'
import useCustomer from '../customer/use-customer'
import customerCreateMutation from '@framework/utils/mutations/customer-create'
import { CustomerCreateInput } from '@framework/schema'
import {
customerCreateMutation,
customerAccessTokenCreateMutation,
} from '@framework/utils/mutations'
import handleLogin from '@framework/utils/handle-login'
const defaultOpts = {
query: customerCreateMutation,
}
@@ -21,12 +26,23 @@ export const fetcher: HookFetcher<null, CustomerCreateInput> = (
'A first name, last name, email and password are required to signup',
})
}
return fetch({
...defaultOpts,
...options,
variables: { input },
}).then((data) => {
}).then(async (data) => {
try {
const loginData = await fetch({
query: customerAccessTokenCreateMutation,
variables: {
input: {
email: input.email,
password: input.password,
},
},
})
handleLogin(loginData)
} catch (error) {}
return data
})
}