Coverage for arclith / application / use_cases / find_all.py: 100%
14 statements
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 15:02 +0100
« prev ^ index » next coverage.py v7.13.5, created at 2026-03-25 15:02 +0100
1from typing import Generic, TypeVar
3from arclith.domain.models.entity import Entity
4from arclith.domain.ports.logger import Logger
5from arclith.domain.ports.repository import Repository
7T = TypeVar("T", bound=Entity)
10class FindAllUseCase(Generic[T]):
11 def __init__(self, repository: Repository[T], logger: Logger) -> None:
12 self._repository = repository
13 self._logger = logger
15 async def execute(self) -> list[T]:
16 self._logger.info("📋 Finding all entities")
17 result = [e for e in await self._repository.find_all() if not e.is_deleted]
18 self._logger.info("✅ Entities found", count=len(result))
19 return result