init backend, added admin page in front

Signed-off-by: Nicolas Froger <nicolas@kektus.xyz>
This commit is contained in:
Nicolas Froger 2024-07-25 03:00:51 +02:00
commit ddc6c64f0f
No known key found for this signature in database
89 changed files with 5083 additions and 9 deletions

View file

@ -0,0 +1,36 @@
import { defineStore } from 'pinia'
import { ref } from 'vue'
export const useAuthStore = defineStore("auth", () => {
const adminToken = ref("");
const isAuth = ref(false);
const error = ref(false);
function login(token) {
adminToken.value = "";
isAuth.value = false;
error.value = false;
return fetch("http://localhost:8080/admin/auth/check", {
headers: {
"X-admin-token": token
}
}).then(resp => {
if (resp.ok) {
adminToken.value = token;
isAuth.value = true;
localStorage.setItem("kektus-summer-admin-token", token)
} else {
error.value = true;
}
})
}
const storedToken = localStorage.getItem("kektus-summer-admin-token")
if (storedToken) {
login(storedToken)
}
return { adminToken, login, isAuth, error }
})