/* eslint-disable */ import { defineStore } from "pinia"; import { User } from "src/modules/users/types/user-interface"; import { AuthState } from "./types/auth-interface"; import { AuthService } from "./services/services-auth"; import { computed, ref } from "vue"; export const useAuthStore = defineStore('auth', () => { const user = ref ({ firstName: 'Unknown', lastName: 'Unknown', email: 'guest@guest.com', role: 'guest' } as User); const error = ref(""); const isAuthorizedUser = computed( () => user.value.role !== 'guest'); const login = () => { //TODO: manage customer login process }; const oidcLogin = () => { const oidcPopup = AuthService.oidcLogin(); if (!oidcPopup) { error.value = "You have popups blocked on this website!"; } }; const logout = () => { return "logout"; }; const setUser = (currentUser: User, isBypass: boolean = false, bypassRole?: string) => { if (isBypass) { user.value = { firstName: "Testing", lastName: "Tester", email: "testingT@targointernet.com", role: bypassRole || "guest"} as User; } else { user.value = currentUser; } }; return { login, oidcLogin, logout, setUser }; });