20260817_521_seal_legacy_lifecycle_gateway.py 608 B

1234567891011121314151617181920212223
  1. """Ensure approval-required lifecycle transitions cannot bypass their wrapper."""
  2. from alembic import op
  3. revision = "20260817_521"
  4. down_revision = "20260817_520"
  5. branch_labels = None
  6. depends_on = None
  7. def upgrade() -> None:
  8. op.execute(
  9. "REVOKE ALL ON FUNCTION public.tenant_control_lifecycle_mutate(uuid,uuid,jsonb) "
  10. "FROM PUBLIC,dataops_app_runtime,dataops_tenant_control,dataops_tenant_approver"
  11. )
  12. def downgrade() -> None:
  13. op.execute(
  14. "GRANT EXECUTE ON FUNCTION public.tenant_control_lifecycle_mutate(uuid,uuid,jsonb) "
  15. "TO dataops_tenant_control"
  16. )