import { boot } from 'quasar/wrappers';
import { appApi } from './axios';
import { createPinia } from 'pinia';
import { useUserStore } from 'src/vueLib/login/userStore';
import { useLogin } from 'src/vueLib/login/useLogin';

const pinia = createPinia();

export default boot(async ({ app }) => {
  app.use(pinia);
  const useStore = useUserStore();
  const login = useLogin();

  await appApi
    .get('/login/me')
    .then((resp) => {
      useStore.setUser({ id: resp.data.id, username: resp.data.username, role: resp.data.role });
      login.refresh().catch((err) => console.error(err));
    })
    .catch(() => {
      login.logout().catch((err) => console.error(err));
    });
});
