const ws = new WebSocket("wss://api.cocobase.buzz/realtime");
ws.onopen = () => {
// Authenticate
ws.send(JSON.stringify({
type: "auth",
token: "YOUR_API_KEY",
}));
// Subscribe to collection
ws.send(JSON.stringify({
type: "subscribe",
collection: "posts",
filters: {
status: "published",
},
}));
};
ws.onmessage = (event) => {
const data = JSON.parse(event.data);
if (data.type === "event") {
console.log(`${data.event}: ${data.document.id}`);
switch (data.event) {
case "created":
console.log("New document:", data.document);
break;
case "updated":
console.log("Updated document:", data.document);
break;
case "deleted":
console.log("Deleted document:", data.document.id);
break;
}
}
};
ws.onerror = (error) => {
console.error("WebSocket error:", error);
};
ws.onclose = () => {
console.log("Connection closed");
};