Skip to content

Commit 8c35bcb

Browse files
authored
Merge pull request #222 from MorpheusAIs/feature/rate-limit-multiplier
feat: per-user rate limit multiplier with admin endpoints
2 parents 419120b + 85d83b2 commit 8c35bcb

10 files changed

Lines changed: 494 additions & 295 deletions

File tree

Lines changed: 31 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,31 @@
1+
"""Add rate_limit_multiplier to users table
2+
3+
Per-user scaling factor for rate limits (RPM/TPM).
4+
Default 1.0 means no change; 2.0 doubles the limits, 0.5 halves them.
5+
Managed exclusively by admin endpoints — never exposed to end users.
6+
7+
Revision ID: add_rate_limit_mult
8+
Revises: drop_email_name_2026
9+
Create Date: 2026-03-10 00:01:00.000000
10+
"""
11+
from typing import Sequence, Union
12+
13+
from alembic import op
14+
import sqlalchemy as sa
15+
16+
17+
revision: str = 'add_rate_limit_mult'
18+
down_revision: Union[str, None] = 'drop_email_name_2026'
19+
branch_labels: Union[str, Sequence[str], None] = None
20+
depends_on: Union[str, Sequence[str], None] = None
21+
22+
23+
def upgrade() -> None:
24+
op.add_column(
25+
'users',
26+
sa.Column('rate_limit_multiplier', sa.Float(), nullable=False, server_default='1.0'),
27+
)
28+
29+
30+
def downgrade() -> None:
31+
op.drop_column('users', 'rate_limit_multiplier')

src/api/v1/__init__.py

Lines changed: 1 addition & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -8,7 +8,7 @@
88
from .embeddings.index import router as embeddings_router
99
from .audio.index import router as audio_router
1010
from .billing.index import router as billing_router
11-
from .billing.index import admin_router as billing_admin_router
11+
from .billing.admin import admin_router as billing_admin_router
1212
from .webhooks.stripe import stripe_webhook_router
1313
from .webhooks.coinbase import coinbase_webhook_router
1414
from .wallet.index import router as wallet_router

0 commit comments

Comments
 (0)