mirror of
https://github.com/hanzoai/bot-railway-template.git
synced 2026-10-30 18:46:40 +00:00
Adds gateway.remote.token setup to prevent Control UI token mismatch and exposes devices list/approve in the debug console. Validates requestId and adds a small unit test.
26 lines
1.0 KiB
JavaScript
26 lines
1.0 KiB
JavaScript
import test from "node:test";
|
|
import assert from "node:assert/strict";
|
|
|
|
function validateRequestId(raw) {
|
|
const requestId = String(raw || "").trim();
|
|
if (!requestId) return { ok: false, error: "Missing device request ID" };
|
|
if (!/^[A-Za-z0-9_-]+$/.test(requestId)) return { ok: false, error: "Invalid device request ID" };
|
|
return { ok: true };
|
|
}
|
|
|
|
test("devices approve requestId validation: missing", () => {
|
|
assert.deepEqual(validateRequestId(""), { ok: false, error: "Missing device request ID" });
|
|
assert.deepEqual(validateRequestId(" "), { ok: false, error: "Missing device request ID" });
|
|
});
|
|
|
|
test("devices approve requestId validation: rejects weird chars", () => {
|
|
assert.equal(validateRequestId("../../etc/passwd").ok, false);
|
|
assert.equal(validateRequestId("abc def").ok, false);
|
|
assert.equal(validateRequestId("abc$def").ok, false);
|
|
});
|
|
|
|
test("devices approve requestId validation: allows typical ids", () => {
|
|
assert.equal(validateRequestId("abc123").ok, true);
|
|
assert.equal(validateRequestId("req_123-ABC").ok, true);
|
|
});
|