Files
aidoit.top/apps/api/app/modules/projects/service.py
T
Pavel Kerndl c0b013f067
CI / frontend (push) Canceled after 0s
CI / api (push) Canceled after 0s
Initialize Aidoit v0.1 monorepo
2026-07-27 18:27:37 +02:00

32 lines
844 B
Python

from datetime import UTC, datetime
from itertools import count
from app.modules.projects.schemas import ProjectCreate, ProjectRead
class ProjectService:
def __init__(self) -> None:
self._ids = count(1)
self._projects: list[ProjectRead] = []
def list(self) -> list[ProjectRead]:
return self._projects.copy()
def create(self, payload: ProjectCreate) -> ProjectRead:
project = ProjectRead(
id=next(self._ids),
created_at=datetime.now(UTC),
**payload.model_dump(),
)
self._projects.append(project)
return project
def get(self, project_id: int) -> ProjectRead | None:
return next(
(project for project in self._projects if project.id == project_id),
None,
)
project_service = ProjectService()