From 1888f850affc53ad3d2cf2585c44bbb32d20083d Mon Sep 17 00:00:00 2001 From: Jason Staack Date: Sun, 22 Mar 2026 07:59:35 -0500 Subject: [PATCH] fix(migration): grant app_user permissions on SNMP tables MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: 8bit The app_user role had no INSERT/UPDATE/DELETE on credential_profiles, snmp_profiles, or snmp_metrics — causing 'permission denied' when creating credential profiles or SNMP profiles from the UI. Co-Authored-By: Claude Opus 4.6 (1M context) --- backend/alembic/versions/037_credential_profiles_table.py | 3 +++ backend/alembic/versions/038_snmp_profiles_table.py | 3 +++ backend/alembic/versions/040_snmp_metrics_hypertable.py | 4 ++++ 3 files changed, 10 insertions(+) diff --git a/backend/alembic/versions/037_credential_profiles_table.py b/backend/alembic/versions/037_credential_profiles_table.py index 49d65cb..097edaf 100644 --- a/backend/alembic/versions/037_credential_profiles_table.py +++ b/backend/alembic/versions/037_credential_profiles_table.py @@ -66,6 +66,9 @@ def upgrade() -> None: conn.execute( sa.text("GRANT SELECT ON credential_profiles TO poller_user") ) + conn.execute( + sa.text("GRANT SELECT, INSERT, UPDATE, DELETE ON credential_profiles TO app_user") + ) def downgrade() -> None: diff --git a/backend/alembic/versions/038_snmp_profiles_table.py b/backend/alembic/versions/038_snmp_profiles_table.py index c7de9be..25c74cb 100644 --- a/backend/alembic/versions/038_snmp_profiles_table.py +++ b/backend/alembic/versions/038_snmp_profiles_table.py @@ -652,6 +652,9 @@ def upgrade() -> None: conn.execute( sa.text("GRANT SELECT ON snmp_profiles TO poller_user") ) + conn.execute( + sa.text("GRANT SELECT, INSERT, UPDATE, DELETE ON snmp_profiles TO app_user") + ) # -- Seed 6 system profiles -------------------------------------------- for profile in SEED_PROFILES: diff --git a/backend/alembic/versions/040_snmp_metrics_hypertable.py b/backend/alembic/versions/040_snmp_metrics_hypertable.py index 9bdeee6..09bbebf 100644 --- a/backend/alembic/versions/040_snmp_metrics_hypertable.py +++ b/backend/alembic/versions/040_snmp_metrics_hypertable.py @@ -75,6 +75,10 @@ def upgrade() -> None: """) ) + conn.execute( + sa.text("GRANT SELECT, INSERT ON snmp_metrics TO app_user") + ) + def downgrade() -> None: op.drop_table("snmp_metrics")