Coverage for src/lexigram/admin/controllers/auth/__init__.py: 100%
10 statements
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:39 +0800
« prev ^ index » next coverage.py v7.15.4, created at 2026-08-24 23:39 +0800
1"""Built-in authentication controller for Lexigram Admin (package facade).
3Implements login/logout, MFA challenge/setup, password reset, and
4registration/email-verification endpoints with standalone UI (no admin
5shell). Method implementations live in sibling mixin modules.
6"""
8from __future__ import annotations
10from lexigram.admin.controllers.auth.core import (
11 AuthCoreMixin,
12 _humanize_error,
13 logger,
14)
15from lexigram.admin.controllers.auth.login import AuthLoginMixin
16from lexigram.admin.controllers.auth.mfa import AuthMfaMixin
17from lexigram.admin.controllers.auth.password_reset import AuthPasswordResetMixin
18from lexigram.admin.controllers.auth.registration import AuthRegistrationMixin
19from lexigram.di.decorators import inject
22@inject
23class AuthController(
24 AuthLoginMixin,
25 AuthMfaMixin,
26 AuthPasswordResetMixin,
27 AuthRegistrationMixin,
28 AuthCoreMixin,
29):
30 """Built-in authentication controller for Lexigram Admin."""
32 prefix = ""