fix session expiring on hotreload, wait for pocketbase client to fully initialize on auth
This commit is contained in:
@@ -10,6 +10,7 @@ export const fetchMe = createServerFn().handler(async () => {
|
|||||||
if (!data || !data.userAuthId) return { user: undefined, roles: [], metadata: {} };
|
if (!data || !data.userAuthId) return { user: undefined, roles: [], metadata: {} };
|
||||||
|
|
||||||
try {
|
try {
|
||||||
|
await pbAdmin.authPromise;
|
||||||
const result = await pbAdmin.getPlayerByAuthId(data.userAuthId);
|
const result = await pbAdmin.getPlayerByAuthId(data.userAuthId);
|
||||||
logger.info('Fetched player', result);
|
logger.info('Fetched player', result);
|
||||||
return {
|
return {
|
||||||
|
|||||||
@@ -5,7 +5,7 @@ import { createTeamsService } from './services/teams';
|
|||||||
|
|
||||||
class PocketBaseAdminClient {
|
class PocketBaseAdminClient {
|
||||||
private pb: PocketBase;
|
private pb: PocketBase;
|
||||||
private authPromise: Promise<void>;
|
public authPromise: Promise<void>;
|
||||||
|
|
||||||
constructor() {
|
constructor() {
|
||||||
this.pb = new PocketBase(import.meta.env.VITE_POCKETBASE_URL);
|
this.pb = new PocketBase(import.meta.env.VITE_POCKETBASE_URL);
|
||||||
@@ -44,6 +44,8 @@ interface AdminClient extends
|
|||||||
PocketBaseAdminClient,
|
PocketBaseAdminClient,
|
||||||
ReturnType<typeof createPlayersService>,
|
ReturnType<typeof createPlayersService>,
|
||||||
ReturnType<typeof createTeamsService>,
|
ReturnType<typeof createTeamsService>,
|
||||||
ReturnType<typeof createTournamentsService> {}
|
ReturnType<typeof createTournamentsService> {
|
||||||
|
authPromise: Promise<void>;
|
||||||
|
}
|
||||||
|
|
||||||
export const pbAdmin = new PocketBaseAdminClient() as AdminClient;
|
export const pbAdmin = new PocketBaseAdminClient() as AdminClient;
|
||||||
|
|||||||
Reference in New Issue
Block a user