This repository has been archived on 2021-07-29. You can view files and clone it, but cannot push or open issues or pull requests.
find_coach/src/store/modules/auth/actions.js

47 lines
1.1 KiB
JavaScript

import getAuth from '../../../scripts/axios-auth';
export default {
async login(context, payload) {
return context.dispatch('auth', {
...payload,
mode: 'login'
});
},
async signup(context, payload) {
return context.dispatch('auth', {
...payload,
mode: 'signup'
});
},
async auth(context, payload) {
const mode = payload.mode;
let url = 'accounts:signInWithPassword';
if (mode === 'signup') {
url = 'accounts:signUp';
}
try {
const response = await getAuth.post(url, {
email: payload.email,
password: payload.password,
returnSecureToken: true
});
const responseData = response.data;
context.commit('setUser', {
token: responseData.idToken,
userId: responseData.localId,
tokenExpiration: responseData.expiresIn
});
} catch (err) {
const error = new Error(err.message);
throw error;
}
},
logout(context) {
context.commit('setUser', {
token: null,
userId: null,
tokenExpiration: null
});
}
};