fix(tradein/quota): per-user quota override + no burn on empty result #2517
2 changed files with 2 additions and 2 deletions
|
|
@ -5,7 +5,7 @@
|
||||||
месяц (UTC, период 'YYYY-MM'); конфигурируется через env ESTIMATE_QUOTA_LIMIT,
|
месяц (UTC, период 'YYYY-MM'); конфигурируется через env ESTIMATE_QUOTA_LIMIT,
|
||||||
default 15.
|
default 15.
|
||||||
- Персональный override: таблица account_quota_overrides (username → monthly_limit),
|
- Персональный override: таблица account_quota_overrides (username → monthly_limit),
|
||||||
см. миграцию 184_account_quota_overrides.sql. Заменяет прежний хак бонусных попыток
|
см. миграцию 185_account_quota_overrides.sql. Заменяет прежний хак бонусных попыток
|
||||||
через negative `used` (ломал /quota — «Осталось 50 из 15»).
|
через negative `used` (ломал /quota — «Осталось 50 из 15»).
|
||||||
- Без лимита (unlimited): роль admin ИЛИ username == 'kopylov'.
|
- Без лимита (unlimited): роль admin ИЛИ username == 'kopylov'.
|
||||||
- Учитываются ТОЛЬКО успешные оценки (инкремент ПОСЛЕ estimate_quality).
|
- Учитываются ТОЛЬКО успешные оценки (инкремент ПОСЛЕ estimate_quality).
|
||||||
|
|
@ -61,7 +61,7 @@ def user_limit(db: Session, username: str) -> int:
|
||||||
"""Персональный месячный лимит для username, иначе глобальный MONTHLY_LIMIT.
|
"""Персональный месячный лимит для username, иначе глобальный MONTHLY_LIMIT.
|
||||||
|
|
||||||
Источник override — таблица account_quota_overrides (см. миграцию
|
Источник override — таблица account_quota_overrides (см. миграцию
|
||||||
184_account_quota_overrides.sql). Заменяет прежний хак бонусных попыток через
|
185_account_quota_overrides.sql). Заменяет прежний хак бонусных попыток через
|
||||||
negative `used`, который ломал /quota (limit=15, used=-35 → remaining=50 —
|
negative `used`, который ломал /quota (limit=15, used=-35 → remaining=50 —
|
||||||
«Осталось 50 из 15»).
|
«Осталось 50 из 15»).
|
||||||
"""
|
"""
|
||||||
|
|
|
||||||
Loading…
Add table
Reference in a new issue