from fastapi import HTTPException from src.models.tasks import TasksORM from src.schemas.tasks import Task, TaskADDRequest from src.services.base import BaseService class TaskService(BaseService): model = TasksORM async def create_task(self, user_id: int, task_data: TaskADDRequest) -> Task: user = await self.session.user.get_one_or_none(id=user_id) if user is None: raise HTTPException(status_code=404, detail="User not found.") data_to_insert = task_data.model_dump(exclude_none=True) data_to_insert["user_id"] = user.id created_task_orm = await self.session.task.create_one(data_to_insert) await self.session.commit() return Task.model_validate(created_task_orm)