diff --git a/node-api/src/services/db.js b/node-api/src/services/db.js index e0aedcd..09dbaf1 100644 --- a/node-api/src/services/db.js +++ b/node-api/src/services/db.js @@ -8,6 +8,27 @@ export async function ensureSchema() { const client = await pool.connect(); try { await client.query('BEGIN'); + // Minimal FreeRADIUS tables used by the app + await client.query(` + CREATE TABLE IF NOT EXISTS radcheck ( + id SERIAL PRIMARY KEY, + username VARCHAR(64) NOT NULL DEFAULT '', + attribute VARCHAR(64) NOT NULL DEFAULT '', + op CHAR(2) NOT NULL DEFAULT ':=', + value VARCHAR(253) NOT NULL DEFAULT '' + ); + `); + await client.query(` + CREATE TABLE IF NOT EXISTS radreply ( + id SERIAL PRIMARY KEY, + username VARCHAR(64) NOT NULL DEFAULT '', + attribute VARCHAR(64) NOT NULL DEFAULT '', + op CHAR(2) NOT NULL DEFAULT ':=', + value VARCHAR(253) NOT NULL DEFAULT '' + ); + `); + await client.query(`CREATE INDEX IF NOT EXISTS radcheck_user ON radcheck (username);`); + await client.query(`CREATE INDEX IF NOT EXISTS radreply_user ON radreply (username);`); await client.query(` CREATE TABLE IF NOT EXISTS vlans ( id INTEGER PRIMARY KEY,