feat: add sqlstring and supports-color modules

- Introduced sqlstring module for SQL escape and formatting.
- Added supports-color module to detect terminal color support.
- Created dashboard and login views with Bootstrap styling.
- Implemented user schema in SQL with mock data for testing.
This commit is contained in:
2025-06-20 22:57:32 +02:00
parent b6f72d059d
commit 63d120cc4e
479 changed files with 75965 additions and 11 deletions

View File

@@ -0,0 +1,38 @@
'use strict';
// http://dev.mysql.com/doc/internals/en/connection-phase-packets.html#packet-Protocol::AuthSwitchRequest
const Packet = require('../packets/packet');
class AuthSwitchRequest {
constructor(opts) {
this.pluginName = opts.pluginName;
this.pluginData = opts.pluginData;
}
toPacket() {
const length = 6 + this.pluginName.length + this.pluginData.length;
const buffer = Buffer.allocUnsafe(length);
const packet = new Packet(0, buffer, 0, length);
packet.offset = 4;
packet.writeInt8(0xfe);
// TODO: use server encoding
packet.writeNullTerminatedString(this.pluginName, 'cesu8');
packet.writeBuffer(this.pluginData);
return packet;
}
static fromPacket(packet) {
packet.readInt8(); // marker
// assert marker == 0xfe?
// TODO: use server encoding
const name = packet.readNullTerminatedString('cesu8');
const data = packet.readBuffer();
return new AuthSwitchRequest({
pluginName: name,
pluginData: data,
});
}
}
module.exports = AuthSwitchRequest;