Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- // Resolver for login mutation
- async logIn(root, {emailOrUsername, password}) {
- const user = await User.authenticate(emailOrUsername, password)
- if(user)
- return {
- token: buildMacaroon(user).serialize(),
- user
- }
- else if(user == false)
- throw new Error("Incorrect password")
- else
- throw new Error("User not found")
- }
- // Mutation call using vue-apollo
- async submit(e) {
- const success = await this.$validator.validateAll()
- if(!success)
- return
- try {
- const {data} = await this.$apollo.mutate({
- mutation: gql`mutation($emailOrUsername: String!, $password: String!) {
- logIn(
- emailOrUsername: $emailOrUsername,
- password: $password
- ) {
- token
- user {
- username
- }
- }
- }`,
- variables: {
- emailOrUsername: this.emailOrUsername,
- password: this.password
- }
- })
- if(data.logIn) {
- this.setToken(data.logIn.token)
- this.setUsername(data.logIn.user.username)
- this.$apollo.provider.defaultClient.resetStore()
- this.$router.push({name: "index"})
- }
- } catch(e) {
- console.error("got an error", e)
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement