summary refs log tree commit diff
diff options
context:
space:
mode:
authorWlodekM <[email protected]>2024-12-03 11:06:05 +0200
committerWlodekM <[email protected]>2024-12-03 11:06:05 +0200
commite902fee6e3c1d97a94f9db0c8035d7837c13da61 (patch)
treefa1fe2fbf81970846d861edd9e78f9f418dcbc0f
parent268f981e89cfa18dbff0b142c36883ce050362c3 (diff)
use listeners in token login
-rw-r--r--lib/sd.js12
-rw-r--r--pages/login/page.js2
2 files changed, 6 insertions, 8 deletions
diff --git a/lib/sd.js b/lib/sd.js
index 8a9bf86..e2d45ce 100644
--- a/lib/sd.js
+++ b/lib/sd.js
@@ -16,12 +16,11 @@ export default class SoktDeer {
     }
 
     connect(wsUri = "wss://sokt.meltland.dev") {
-        console.log('uh 21')
         this.ws = new WebSocket(wsUri);
         this.ws.onmessage = (rdata) => {
             const data = JSON.parse(rdata.data.toString());
             console.info("SD", "INCOMING", data);
-            if (data.listener != null) return this.wsEvents.emit(`listener-${data.listener}`)
+            if (data.listener != null) return this.wsEvents.emit(`listener-${data.listener}`, data)
             if ('command' in data) return this.wsEvents.emit(data.command, data);
             if ('error' in data
                 && Object.keys(data).filter(k => !['error', 'code'].includes(k)).length > 0)
@@ -42,7 +41,6 @@ export default class SoktDeer {
     }
 
     login(username, password) {
-        console.log('cred login')
         return new Promise((resolve, reject) => {
             this.ws.send(JSON.stringify({
                 command: "login_pswd",
@@ -63,16 +61,16 @@ export default class SoktDeer {
 
     //TODO - implement this
     loginToken(token, username) {
-        console.log('token login')
         return new Promise((resolve, reject) => {
             this.ws.send(JSON.stringify({
                 command: "login_token",
                 token,
-                username
+                username,
+                listener: 'auth'
             }))
-            this.wsEvents.once('error', error => {
+            this.wsEvents.once('listener-auth', ({error}) => {
                 if (error.error) reject(error.code)
-                else resolve()
+                else resolve(true)
             })
         })
     }
diff --git a/pages/login/page.js b/pages/login/page.js
index 03b9cfb..c4331ce 100644
--- a/pages/login/page.js
+++ b/pages/login/page.js
@@ -7,7 +7,7 @@ export function onload() {
     if (localStorage.hasOwnProperty('token') && typeof localStorage.getItem('token') == 'string') {
         window.stores.sdlib.wsEvents.once('greet', async () => {
             document.getElementById('topbar').classList.remove('hidden')
-            await window.stores.sdlib.loginToken(localStorage.getItem('token'), localStorage.getItem('username'));
+            await window.stores.sdlib.loginToken(localStorage.getItem('token'), localStorage.getItem('username'))
             pages.goToPage('main')
         })
     }