mirror of
https://github.com/turnstonelabs/turnstone.git
synced 2026-08-12 23:12:23 -06:00
fix: add admin.prompt_policies to valid permissions and builtin-admin role (#303)
Migration 031 created the prompt_policies table but never registered admin.prompt_policies in _VALID_PERMISSIONS or granted it to the builtin-admin role, causing 403 on all prompt-policy admin endpoints.
This commit is contained in:
@@ -57,6 +57,7 @@ class _InjectAuthMiddleware(BaseHTTPMiddleware):
|
|||||||
"admin.users",
|
"admin.users",
|
||||||
"admin.orgs",
|
"admin.orgs",
|
||||||
"admin.policies",
|
"admin.policies",
|
||||||
|
"admin.prompt_policies",
|
||||||
"admin.skills",
|
"admin.skills",
|
||||||
"admin.usage",
|
"admin.usage",
|
||||||
"admin.audit",
|
"admin.audit",
|
||||||
|
|||||||
@@ -64,6 +64,7 @@ class _InjectAuthMiddleware(BaseHTTPMiddleware):
|
|||||||
"admin.roles",
|
"admin.roles",
|
||||||
"admin.orgs",
|
"admin.orgs",
|
||||||
"admin.policies",
|
"admin.policies",
|
||||||
|
"admin.prompt_policies",
|
||||||
}
|
}
|
||||||
),
|
),
|
||||||
)
|
)
|
||||||
|
|||||||
@@ -2125,6 +2125,7 @@ _VALID_PERMISSIONS = frozenset(
|
|||||||
"admin.roles",
|
"admin.roles",
|
||||||
"admin.orgs",
|
"admin.orgs",
|
||||||
"admin.policies",
|
"admin.policies",
|
||||||
|
"admin.prompt_policies",
|
||||||
"admin.skills",
|
"admin.skills",
|
||||||
"admin.audit",
|
"admin.audit",
|
||||||
"admin.usage",
|
"admin.usage",
|
||||||
|
|||||||
@@ -0,0 +1,39 @@
|
|||||||
|
"""Grant admin.prompt_policies permission to builtin-admin role.
|
||||||
|
|
||||||
|
Migration 031 created the prompt_policies table but did not add the
|
||||||
|
corresponding permission to the builtin-admin role, causing 403 on
|
||||||
|
/v1/api/admin/prompt-policies for all users.
|
||||||
|
|
||||||
|
Revision ID: 032
|
||||||
|
Revises: 031
|
||||||
|
Create Date: 2026-04-05
|
||||||
|
"""
|
||||||
|
|
||||||
|
import sqlalchemy as sa
|
||||||
|
from alembic import op
|
||||||
|
|
||||||
|
revision = "032"
|
||||||
|
down_revision = "031"
|
||||||
|
branch_labels = None
|
||||||
|
depends_on = None
|
||||||
|
|
||||||
|
|
||||||
|
def upgrade() -> None:
|
||||||
|
conn = op.get_bind()
|
||||||
|
conn.execute(
|
||||||
|
sa.text(
|
||||||
|
"UPDATE roles SET permissions = permissions || ',admin.prompt_policies' "
|
||||||
|
"WHERE role_id = 'builtin-admin' "
|
||||||
|
"AND permissions NOT LIKE '%admin.prompt_policies%'"
|
||||||
|
)
|
||||||
|
)
|
||||||
|
|
||||||
|
|
||||||
|
def downgrade() -> None:
|
||||||
|
conn = op.get_bind()
|
||||||
|
conn.execute(
|
||||||
|
sa.text(
|
||||||
|
"UPDATE roles SET permissions = REPLACE(permissions, ',admin.prompt_policies', '') "
|
||||||
|
"WHERE role_id = 'builtin-admin'"
|
||||||
|
)
|
||||||
|
)
|
||||||
Reference in New Issue
Block a user