marek 1 месяц назад
Родитель
Сommit
e23a3c1831
1 измененных файлов с 14 добавлено и 10 удалено
  1. 14 10
      routes/include/websocket.js

+ 14 - 10
routes/include/websocket.js

@@ -14,7 +14,9 @@ export default (langName, lang) => new Elysia({ prefix: "/ws" })
     },
 
     message({ data: { params: { key } } }, message) {
-        if (message === lang.websocket.keepalive()) {
+        const messageString = typeof message === 'string' ? message : new TextDecoder().decode(message);
+
+        if (messageString === lang.websocket.keepalive()) {
             return lang.websocket.keepalive()
         }
 
@@ -24,16 +26,18 @@ export default (langName, lang) => new Elysia({ prefix: "/ws" })
             return lang.websocket.errors.invalidKey({ key })
         }
 
+        const data = JSON.parse(messageString)
+        
         if (
-            !message?.indoorTemp?.length ||
-            !message?.indoorPressure?.length ||
-            !message?.indoorHumidity?.length ||
-            !message?.indoorAltitude?.length ||
-            !message?.outdoorConnected?.length ||
-            !message?.outdoorTemp?.length ||
-            !message?.outdoorPressure?.length ||
-            !message?.outdoorHumidity?.length ||
-            !message?.outdoorAltitude?.length
+            !data?.indoorTemp ||
+            !data?.indoorPressure ||
+            !data?.indoorHumidity ||
+            !data?.indoorAltitude ||
+            !data?.outdoorConnected ||
+            !data?.outdoorTemp ||
+            !data?.outdoorPressure ||
+            !data?.outdoorHumidity ||
+            !data?.outdoorAltitude
         ) {
             return lang.websocket.errors.missingFields()
         }