source: ReserveNGo-frontend/src/PiniaStores/UserStore.js@ 17c7d5e

Last change on this file since 17c7d5e was 17c7d5e, checked in by Aleksandarj03 <138524804+Aleksandarj03@…>, 8 days ago

Major design overhauls pre prototype presentation 2

  • Property mode set to 100644
File size: 1.5 KB
Line 
1import { defineStore } from 'pinia'
2
3export const userStore = defineStore('userStore', {
4
5 state() {
6 return {
7 data: {
8 id: 0,
9 firstName: "",
10 lastName: "",
11 email: "",
12 phoneNumber: "",
13 role: "UN_AUTHENTICATED",
14 token: ""
15 }
16
17 }
18 },
19 actions: {
20
21 setLocalStorage(jsonObject) {
22
23 this.data = jsonObject
24
25 localStorage.setItem('userData', JSON.stringify(jsonObject));
26
27 },
28 setNewEditedDataToLocalStorage(jsonObject) {
29 const {firstName, lastName, phoneNumber} = jsonObject;
30 this.data.firstName = firstName;
31 this.data.lastName = lastName;
32 this.data.phoneNumber = phoneNumber;
33
34 localStorage.setItem('userData', JSON.stringify(this.data));
35 },
36 setNewEmailToLocalStorage(jsonObject) {
37 const {email, jwt} = jsonObject;
38 this.data.email = email;
39 this.data.token = jwt;
40
41 localStorage.setItem('userData', JSON.stringify(this.data));
42 },
43 getLocalStorage() {
44 let nonparsed = localStorage.getItem('userData');
45 if (nonparsed !== null) {
46 this.data = JSON.parse(nonparsed);
47 }
48 },
49 clearLocalStorage() {
50
51 this.data = {
52 id: 0,
53 firstName: "",
54 lastName: "",
55 email: "",
56 phoneNumber: "",
57 role: "UN_AUTHENTICATED",
58 token: ""
59 }
60 localStorage.setItem('userData', JSON.stringify(this.data));
61
62 }
63 },
64 getters: {
65 getToken(){
66 return 'Bearer ' + this.data.token;
67 }
68 }
69})
Note: See TracBrowser for help on using the repository browser.