initial commit
This commit is contained in:
@@ -0,0 +1,72 @@
|
||||
import axiosIns from "@/plugins/axios"
|
||||
import { defineStore } from "pinia"
|
||||
|
||||
export const useAuthStore = defineStore("auth", {
|
||||
state: () => {
|
||||
var access_token = localStorage.getItem("access_token")
|
||||
if (!access_token) {
|
||||
access_token = null
|
||||
}
|
||||
|
||||
var role = localStorage.getItem("role")
|
||||
if (!role) {
|
||||
role = null
|
||||
}
|
||||
|
||||
var user = JSON.parse(localStorage.getItem("user"))
|
||||
if (!user) {
|
||||
user = null
|
||||
}
|
||||
|
||||
var profile = JSON.parse(localStorage.getItem("profile"))
|
||||
if (!profile) {
|
||||
profile = null
|
||||
}
|
||||
|
||||
return {
|
||||
access_token,
|
||||
role,
|
||||
user,
|
||||
profile,
|
||||
}
|
||||
},
|
||||
getters: {
|
||||
isAuthenticated() {
|
||||
return this.access_token !== null && this.access_token !== undefined
|
||||
},
|
||||
},
|
||||
actions: {
|
||||
saveData(access_token) {
|
||||
localStorage.setItem("access_token", access_token)
|
||||
this.access_token = access_token
|
||||
},
|
||||
deleteData() {
|
||||
localStorage.removeItem("access_token")
|
||||
localStorage.removeItem("user")
|
||||
localStorage.removeItem("role")
|
||||
this.access_token = null
|
||||
this.user = null
|
||||
this.role = null
|
||||
this.profile = null
|
||||
},
|
||||
async getRoleUser() {
|
||||
// pindahin
|
||||
},
|
||||
async getUser() {
|
||||
if (!this.access_token) return
|
||||
try {
|
||||
const response = await axiosIns
|
||||
.get("/api/v1/account/profile")
|
||||
|
||||
this.user = response.data.data.user
|
||||
localStorage.setItem("user", JSON.stringify(this.user))
|
||||
this.role = response.data.data.user.role
|
||||
localStorage.setItem("role", this.role)
|
||||
this.profile = response.data.data.profile
|
||||
localStorage.setItem("profile", JSON.stringify(this.profile))
|
||||
} catch (error) {
|
||||
console.log(error)
|
||||
}
|
||||
},
|
||||
},
|
||||
})
|
||||
Reference in New Issue
Block a user