Coverage for src/lexigram/admin/models/provider_models.py: 0%

22 statements  

« prev     ^ index     » next       coverage.py v7.15.4, created at 2026-08-24 23:18 +0800

1from __future__ import annotations 

2 

3from dataclasses import dataclass, field 

4from typing import TYPE_CHECKING, Any 

5 

6if TYPE_CHECKING: 

7 from starlette.routing import Route 

8 

9 

10@dataclass 

11class Command: 

12 """A command palette command.""" 

13 

14 label: str 

15 href: str 

16 icon: str = "" 

17 shortcut: str = "" 

18 

19 

20@dataclass 

21class AdminProviderState: 

22 """Internal state for AdminProvider.""" 

23 

24 mounted: bool = False 

25 started: bool = False 

26 modules_initialized: bool = False 

27 resources: dict[str, Any] = field(default_factory=dict) 

28 deferred_resources: dict[str, type] = field(default_factory=dict) 

29 discovered_resource_packages: list[str] = field(default_factory=list) 

30 discovered_controller_packages: list[str] = field(default_factory=list) 

31 routes: list[Route] = field(default_factory=list) 

32 middleware: list[Any] = field(default_factory=list) 

33 commands: list[Command] = field(default_factory=list) 

34 controllers: list[Any] = field(default_factory=list)