Persist privacy-safe submission rate limits

This commit is contained in:
ik
2026-09-03 08:16:12 +07:00
parent 0b3e6d4b2f
commit b73580c720
8 changed files with 81 additions and 12 deletions
@@ -0,0 +1,25 @@
"""Persistent privacy-preserving submission rate limit."""
from alembic import op
import sqlalchemy as sa
revision = "0007"
down_revision = "0006"
branch_labels = None
depends_on = None
def upgrade() -> None:
op.create_table(
"submission_attempt",
sa.Column("id", sa.Uuid(), primary_key=True),
sa.Column("client_hash", sa.String(64), nullable=False),
sa.Column("created_at", sa.DateTime(timezone=True), nullable=False),
)
op.create_index("ix_submission_attempt_client_hash", "submission_attempt", ["client_hash"])
op.create_index("ix_submission_attempt_created_at", "submission_attempt", ["created_at"])
def downgrade() -> None:
op.drop_index("ix_submission_attempt_created_at", table_name="submission_attempt")
op.drop_index("ix_submission_attempt_client_hash", table_name="submission_attempt")
op.drop_table("submission_attempt")