Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import Vue from 'vue';
- import router from '../router';
- import misc from './misc';
- const user = {
- authenticated: false,
- };
- const applyToken = (token) => {
- if (token) {
- Vue.axios.defaults.headers.common.Authorization = `Bearer ${token}`;
- user.authenticated = true;
- }
- };
- const signup = async (credentials, redirect) => {
- try {
- const response = await Vue.axios.post('/signup', {
- username: credentials.username,
- password: credentials.password,
- });
- if (response.status === 200 && response.data.token) {
- applyToken(response.data.token);
- localStorage.setItem('token', response.data.token);
- router.push({ name: redirect });
- return false;
- }
- return misc.getFirstError(response);
- } catch (err) {
- return err.message;
- }
- };
- const login = async (credentials, redirect) => {
- try {
- const response = await Vue.axios.post('/login', {
- username: credentials.username,
- password: credentials.password,
- });
- if (response.status === 200 && response.data.token) {
- applyToken(response.data.token);
- localStorage.setItem('token', response.data.token);
- router.push({ name: redirect });
- return false;
- }
- return misc.getFirstError(response);
- } catch (err) {
- return err.message;
- }
- };
- export default {
- user,
- login,
- signup,
- applyToken,
- };
Add Comment
Please, Sign In to add comment