Guest User

Untitled

a guest
Mar 6th, 2018
90
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
text 1.33 KB | None | 0 0
  1. import Vue from 'vue';
  2. import router from '../router';
  3. import misc from './misc';
  4.  
  5. const user = {
  6. authenticated: false,
  7. };
  8.  
  9. const applyToken = (token) => {
  10. if (token) {
  11. Vue.axios.defaults.headers.common.Authorization = `Bearer ${token}`;
  12. user.authenticated = true;
  13. }
  14. };
  15.  
  16. const signup = async (credentials, redirect) => {
  17. try {
  18. const response = await Vue.axios.post('/signup', {
  19. username: credentials.username,
  20. password: credentials.password,
  21. });
  22.  
  23. if (response.status === 200 && response.data.token) {
  24. applyToken(response.data.token);
  25. localStorage.setItem('token', response.data.token);
  26. router.push({ name: redirect });
  27. return false;
  28. }
  29. return misc.getFirstError(response);
  30. } catch (err) {
  31. return err.message;
  32. }
  33. };
  34.  
  35. const login = async (credentials, redirect) => {
  36. try {
  37. const response = await Vue.axios.post('/login', {
  38. username: credentials.username,
  39. password: credentials.password,
  40. });
  41.  
  42. if (response.status === 200 && response.data.token) {
  43. applyToken(response.data.token);
  44. localStorage.setItem('token', response.data.token);
  45. router.push({ name: redirect });
  46. return false;
  47. }
  48. return misc.getFirstError(response);
  49. } catch (err) {
  50. return err.message;
  51. }
  52. };
  53.  
  54. export default {
  55. user,
  56. login,
  57. signup,
  58. applyToken,
  59. };
Add Comment
Please, Sign In to add comment