replace python django backend with nodejs backend

This commit is contained in:
wea_ondara
2024-05-27 18:59:58 +02:00
parent ebd0748894
commit 8b60d023e8
123 changed files with 15193 additions and 88 deletions

View File

@@ -0,0 +1,44 @@
import injector
import json
from channels.generic.websocket import WebsocketConsumer
class DashboardConnectionManager:
def __init__(self):
self._clients = []
def register(self, client: WebsocketConsumer):
self._clients.append(client)
pass
def unregister(self, client: WebsocketConsumer):
self._clients.remove(client)
def broadcast(self, message: any):
for client in self._clients:
client.push(message)
class DashboardConsumer(WebsocketConsumer):
@injector.inject
def __init__(self, manager: DashboardConnectionManager, *args, **kwargs):
super().__init__(*args, **kwargs)
self._manager = manager
def connect(self):
self.accept()
self._manager.register(self)
def disconnect(self, close_code):
self._manager.unregister(self)
def receive(self, text_data=None, bytes_data=None):
# text_data_json = json.loads(text_data)
# message = text_data_json['message']
# self.send(text_data=json.dumps({
# 'message': message
# }))
pass # do nothing currently
def push(self, message):
self.send(text_data=json.dumps(message))