fix(db): grant app user permissions on players and games tables #5

Merged
jschoubben merged 1 commits from fix/db-permissions into main 2026-07-09 17:48:54 +00:00
Showing only changes of commit 1e7772ad29 - Show all commits
@@ -0,0 +1,29 @@
import pg from "pg";
const client = new pg.Client({
host: process.env.PROVISION_HOST,
port: parseInt(process.env.PROVISION_PORT ?? "5432"),
user: process.env.PROVISION_USER,
password: process.env.PROVISION_PASSWORD,
database: process.env.PROVISION_DATABASE,
});
await client.connect();
try {
// The HAL postgres provisioner names the app user identically to the database.
// PROVISION_DATABASE = "txt_game_scores" = the app user that server.mjs connects as.
const appUser = process.env.PROVISION_DATABASE as string;
await client.query(
`GRANT SELECT, INSERT, UPDATE ON TABLE players, games TO "${appUser}"`
);
await client.query(
`GRANT USAGE, SELECT ON SEQUENCE games_id_seq TO "${appUser}"`
);
console.log(`[txt-game migration-001] permissions granted to ${appUser}`);
} finally {
await client.end();
}