Coverage for src/lexigram/admin/controllers/auth/__init__.py: 100%

10 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-21 15:03 +0800

1"""Built-in authentication controller for Lexigram Admin (package facade). 

2 

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""" 

7 

8from __future__ import annotations 

9 

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 

20 

21 

22@inject 

23class AuthController( 

24 AuthLoginMixin, 

25 AuthMfaMixin, 

26 AuthPasswordResetMixin, 

27 AuthRegistrationMixin, 

28 AuthCoreMixin, 

29): 

30 """Built-in authentication controller for Lexigram Admin.""" 

31 

32 prefix = ""