server_photo_s85js/ws-server/ws-compat.js
2026-08-11 08:45:04 +02:00

51 lines
1.3 KiB
JavaScript

// ws-server/ws-compat.js
function createWsCompat({
broadcastPhotoEvent,
broadcastActivityEvent
}) {
async function broadcastToUser(user, payload) {
try {
if (!user || !payload) {
console.warn("⚠️ broadcastToUser chiamato senza user/payload");
return;
}
const entity = payload.entity || payload.typeEntity;
// Eventi attività
if (entity === "activity" || entity === "activities") {
if (typeof broadcastActivityEvent === "function") {
return await broadcastActivityEvent(user, payload);
}
console.warn("⚠️ broadcastActivityEvent non disponibile");
return;
}
// Default: eventi foto
if (typeof broadcastPhotoEvent === "function") {
return await broadcastPhotoEvent(user, payload);
}
console.warn("⚠️ broadcastPhotoEvent non disponibile");
} catch (err) {
console.warn("⚠️ broadcastToUser fallito:", err.message);
}
}
async function broadcastToAdmins(payload) {
try {
return await broadcastToUser("Admin", payload);
} catch (err) {
console.warn("⚠️ broadcastToAdmins fallito:", err.message);
}
}
return {
broadcastToUser,
broadcastToAdmins
};
}
module.exports = createWsCompat;