import { defineStore } from "pinia";
const baseUrl = process.env.API_BASE_URL;
console.log(baseUrl);
export const useAuthStore = defineStore({
id: "auth",
state: () => ({
user: null,
token: null,
}),
actions: {
async login(loginForm) {
await useAPI(`/auth/login`, {
method: "POST",
body: loginForm,
credentials: "include",
})
.then((response) => {
console.log(response.data.value, "tutaj");
this.user = response.data.value;
this.token = this.user.jwt;
console.log(this.user, this.token, "after state");
})
.catch((error) => {
throw error;
});
},
async register(registerData) {
await $fetch(`${baseUrl}/register`, {
method: "POST",
body: registerData,
credentials: "include",
})
.then((response) => {
this.user = response;
this.token = this.user.jwt_token;
})
.catch((error) => {
throw error;
});
},
async refreshToken() {
try {
const response = await useAPI(`/api/auth/refresh-token`, {
method: "POST",
body: {},
credentials: "include",
});
console.log(response.data);
this.token = response.data.value.jwt;
this.user = response.data.value.user;
return { status: "ok" };
} catch (e) {
console.log(e);
this.logout();
}
},
logout() {
this.user = null;
this.token = null;
},
setToken(token) {
this.token = token;
},
setUser(user) {
this.user = user;
},
},
persist: true,
});
import { defineStore } from "pinia";
const baseUrl = process.env.API_BASE_URL;
console.log(baseUrl);
export const useAuthStore = defineStore({
id: "auth",
state: () => ({
user: null,
token: null,
}),
actions: {
async login(loginForm) {
await useAPI(`/auth/login`, {
method: "POST",
body: loginForm,
credentials: "include",
})
.then((response) => {
console.log(response.data.value, "tutaj");
this.user = response.data.value;
this.token = this.user.jwt;
console.log(this.user, this.token, "after state");
})
.catch((error) => {
throw error;
});
},
async register(registerData) {
await $fetch(`${baseUrl}/register`, {
method: "POST",
body: registerData,
credentials: "include",
})
.then((response) => {
this.user = response;
this.token = this.user.jwt_token;
})
.catch((error) => {
throw error;
});
},
async refreshToken() {
try {
const response = await useAPI(`/api/auth/refresh-token`, {
method: "POST",
body: {},
credentials: "include",
});
console.log(response.data);
this.token = response.data.value.jwt;
this.user = response.data.value.user;
return { status: "ok" };
} catch (e) {
console.log(e);
this.logout();
}
},
logout() {
this.user = null;
this.token = null;
},
setToken(token) {
this.token = token;
},
setUser(user) {
this.user = user;
},
},
persist: true,
});