Coverage for src / lexigram / admin / settings / panel / rate_limit_spec.py: 93%
14 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-13 22:14 +0800
« prev ^ index » next coverage.py v7.13.5, created at 2026-08-13 22:14 +0800
1"""Rate limit configuration specification."""
3from __future__ import annotations
5from lexigram.admin.config import AdminRateLimitConfig
6from lexigram.admin.settings.panel.nodes import PydanticConfigSpec
7from lexigram.admin.settings.panel.registry import ConfigRegistry
9__all__ = ["RateLimitSpec", "register_spec"]
12class RateLimitSpec(PydanticConfigSpec):
13 """Rate limit configuration spec."""
15 namespace = "admin.rate_limit"
16 label = "Rate Limiting"
17 icon = "hand-raised"
18 description = "Authentication rate limits by window and action."
19 model = AdminRateLimitConfig
20 required_permissions = frozenset({"admin.settings.edit"})
23def register_spec(registry: ConfigRegistry) -> None:
24 """Register this spec with the config registry."""
25 registry.register_spec("system", RateLimitSpec)