Prvni naznak verejne casti, sprava profilu

This commit is contained in:
Michal Kváček
2023-08-09 00:26:59 +02:00
parent c4603cf090
commit 25250ae00e
31 changed files with 6505 additions and 786 deletions
+2 -2
View File
@@ -35,9 +35,9 @@ export const useFlightsStore = defineStore('Flights', {
}
return apolloWrapper.query(FLIGHT_DETAIL, {id}).then(result => result.data.flight);
},
fetch() {
fetch(username) {
return apolloWrapper
.query(FLIGHTS_LIST)
.query(FLIGHTS_LIST, {username})
.then(({data}) => {
this.items = data.flights;
+51 -31
View File
@@ -1,45 +1,33 @@
import {defineStore} from 'pinia'
import {api} from "boot/axios";
import {apolloWrapper} from "src/graphql/apollo";
import {EDIT_USER} from "src/graphql/mutations/user";
import {LOGGED_USER_DETAIL, USER_DETAIL} from "src/graphql/queries/user";
export const useUserStore = defineStore('LoggedUser', {
state: () => ({
user: {},
isRefreshing: false,
}),
actions: {
setTokens({access_token, access_token_validity}) {
const now = new Date().getTime() / 1000;
localStorage.setItem("accessToken", access_token);
localStorage.setItem("accessTokenValidity", now + access_token_validity);
},
getAccessToken() {
const tokenValidity = localStorage.getItem("accessTokenValidity");
const now = new Date().getTime() / 1000;
if (tokenValidity < now) {
localStorage.removeItem("accessToken");
localStorage.removeItem("accessTokenValidity");
}
return localStorage.getItem(`accessToken`);
},
setupCredentials() {
return api.get("/me").then(({data}) => {
this.user = data;
return this.user;
}).catch(async ({response}) => {
console.log(response);
return response;
update(id, formData) {
apolloWrapper.mutate(EDIT_USER, {id, input: formData}).then(({data}) => {
this.user = data.editLoggedUser;
return data.editLoggedUser;
});
},
async refreshAccessToken() {
return api.post("/refresh").then(({data}) => {
this.setTokens(data);
return data.access_token;
fetchLoggedUserDetail() {
return apolloWrapper.query(LOGGED_USER_DETAIL).then(({data}) => {
this.user = data.loggedUser;
return data.loggedUser;
})
},
fetchDetail(username) {
return apolloWrapper.query(USER_DETAIL, {username}).then(({data}) => {
return data.user
});
},
@@ -60,6 +48,38 @@ export const useUserStore = defineStore('LoggedUser', {
Object.assign(this.user, {});
localStorage.removeItem("accessToken");
localStorage.removeItem("accessTokenValidity");
}
},
setTokens({access_token, access_token_validity}) {
const now = new Date().getTime() / 1000;
localStorage.setItem("accessToken", access_token);
localStorage.setItem("accessTokenValidity", now + access_token_validity);
},
getAccessToken() {
const tokenValidity = localStorage.getItem("accessTokenValidity");
const now = new Date().getTime() / 1000;
if (tokenValidity < now) {
localStorage.removeItem("accessToken");
localStorage.removeItem("accessTokenValidity");
}
return localStorage.getItem(`accessToken`);
},
async refreshAccessToken() {
if (this.isRefreshing) return;
this.isRefreshing = true;
return api.post("/refresh")
.then(({data}) => {
this.setTokens(data);
return data.access_token;
})
.finally(() => {
this.isRefreshing = false;
});
},
}
})