-- Set up a read-only Postgres user that can SELECT only what the sidecar needs.
-- Run as a superuser against the Gitea database.
--
--   psql -U postgres -d gitea -f setup.sql
--
-- Replace 'CHANGE_ME' with a real password and update DATABASE_URL accordingly.

CREATE USER heatmap_ro WITH PASSWORD 'CHANGE_ME';

GRANT CONNECT ON DATABASE gitea TO heatmap_ro;
GRANT USAGE ON SCHEMA public TO heatmap_ro;

-- Only two tables. If Gitea ever renames them, the service breaks loudly,
-- which is what we want.
GRANT SELECT ON "action" TO heatmap_ro;
GRANT SELECT ON "user"   TO heatmap_ro;

-- Sanity check: confirm the user can read what we expect.
-- \c gitea heatmap_ro
-- SELECT count(*) FROM "action";
