diff options
author | Minteck <contact@minteck.org> | 2022-08-10 10:38:44 +0200 |
---|---|---|
committer | Minteck <contact@minteck.org> | 2022-08-10 10:38:44 +0200 |
commit | c6dbf0450566c40efc4a26f4f0717452b6ef95cd (patch) | |
tree | b4be2d508223820d0a77d5a3e35e82684da3b6ec /server/hornchat.keyserver.read.js | |
download | hornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.tar.gz hornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.tar.bz2 hornchat-c6dbf0450566c40efc4a26f4f0717452b6ef95cd.zip |
Diffstat (limited to 'server/hornchat.keyserver.read.js')
-rw-r--r-- | server/hornchat.keyserver.read.js | 25 |
1 files changed, 25 insertions, 0 deletions
diff --git a/server/hornchat.keyserver.read.js b/server/hornchat.keyserver.read.js new file mode 100644 index 0000000..206511a --- /dev/null +++ b/server/hornchat.keyserver.read.js @@ -0,0 +1,25 @@ +module.exports = (socket, data) => { + if (!data.username) { + socket.send(JSON.stringify({error:"MISSING_OPERAND", fatal: false})); + console.log("[" + socket.id + "] Missing 'username' value"); + return; + } + + if (!keys[data.username]) { + socket.send(JSON.stringify({error:"INVALID_USER", fatal: false})); + console.log("[" + socket.id + "] Invalid 'username' value"); + return; + } + + let validKeys = {}; + let validDevices = userCredentials.filter((i) => { + return i.id === data.username; + })[0].devices.map((i) => { return i.id; }); + + for (let keyId of Object.keys(keys[data.username])) { + if (validDevices.includes(keyId)) validKeys[keyId] = keys[data.username][keyId]; + } + + socket.send(JSON.stringify({error:null, success:true, fatal: false, keys: validKeys})); + console.log("[" + socket.id + "] Gathered public keys for " + data.username); +}
\ No newline at end of file |