Initialize Aidoit v0.1 monorepo
This commit is contained in:
@@ -0,0 +1,31 @@
|
||||
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()
|
||||
Reference in New Issue
Block a user