Lib: Add pocketbase realtime subscribe/unsubscribe helpers

This commit is contained in:
2025-02-17 23:33:23 +01:00
parent 8c2754cebc
commit aaf919af0a

View File

@ -1,6 +1,7 @@
import Pocketbase, { type AuthRecord } from "pocketbase";
import Pocketbase, { type AuthRecord, type RecordModel, type RecordSubscription } from "pocketbase";
import type { Graphic, User } from "$lib/schema";
import { env } from "$env/dynamic/public";
import { invalidate } from "$app/navigation";
export let pb = new Pocketbase(env.PUBLIC_PBURL || "http://192.168.86.50:8090");
export let pbUser: User | undefined = undefined;
@ -41,3 +42,17 @@ pb.authStore.onChange(async () => {
console.log("Updating pbUser...");
console.dir(pbUser, { depth: null });
}, true);
export const subscribe = (collections: string[]) => {
collections.forEach((collection: string) => {
pb.collection(collection).subscribe("*", (event: RecordSubscription<RecordModel>) => {
invalidate(`data:${collection}`);
});
});
};
export const unsubscribe = (collections: string[]) => {
collections.forEach((collection: string) => {
pb.collection(collection).unsubscribe("*");
});
};