Files
djhackersdev_minime/src/aimedb/index.ts
T
2019-11-06 17:28:29 -05:00

71 lines
1.6 KiB
TypeScript

import { AimeRequest } from "./request";
import { setup } from "./pipeline";
export default async function aimedb(socket) {
console.log("Aimedb: Connection opened");
const { input, output } = setup(socket);
try {
for await (const obj of input) {
const req = obj as AimeRequest;
console.log("Aimedb: Decode", req);
switch (req.type) {
case "hello":
console.log("Aimedb: Hello");
output.write({ type: req.type, status: 1 });
break;
case "campaign":
console.log("Aimedb: Campaign stuff");
output.write({ type: req.type, status: 1 });
break;
case "lookup":
case "lookup2":
console.log("Aimedb: Mifare lookup", req.luid);
output.write({
type: req.type,
status: 1,
aimeId: 0x55667788,
});
break;
case "register":
// We get sent here if lookup does not return an aimeId
console.log("Aimedb: Mifare register", req.luid);
output.write({ type: req.type, status: 1, aimeId: 0x55667788 });
break;
case "log":
console.log("Aimedb: Log message");
output.write({ type: req.type, status: 1 });
break;
case "goodbye":
console.log("Aimedb: Goodbye");
break;
default:
console.log("Aimedb: Handler not implemented!");
break;
}
}
} catch (e) {
console.log("Aimedb: Connection error:\n", e);
}
console.log("Aimedb: Connection closed\n");
socket.end();
}