UNPKG

p3x-redis-ui-server

Version:

🏍️ P3X Redis UI server — Socket.IO backend for the dual Angular + React frontend with AI queries, 54 languages, and auto data decompression

2 lines (1 loc) 936 B
export default async r=>{const{socket:s,payload:e}=r;try{if(!s.p3xrs.ioredisSubscriber)return void s.emit(r.responseEvent,{status:"error",error:"Not connected to Redis"});await s.p3xrs.ioredisSubscriber.punsubscribe(),s.p3xrs.ioredisSubscriber.removeAllListeners("pmessage"),s.p3xrs.ioredisSubscriber.removeAllListeners("pmessageBuffer"),s.p3xrs.subscription=e.subscription,"string"==typeof e.subscriberPattern&&0!==e.subscriberPattern.trim().length||(e.subscriberPattern="*"),!0===s.p3xrs.subscription&&(await s.p3xrs.ioredisSubscriber.psubscribe(e.subscriberPattern),s.p3xrs.ioredisSubscriber.on("pmessageBuffer",(r,e,t)=>{const i=e.toString("utf-8");console.log("socket.p3xrs.ioredisSubscriber.on(pmessageBuffer)",r.toString("utf-8"),i),s.emit("pubsub-message",{channel:i,message:t})})),s.emit(r.responseEvent,{status:"ok"})}catch(e){console.error("Subscription error:",e),s.emit(r.responseEvent,{status:"error",error:e.message})}};