Automated Action aeab17a8ea Implement Task Manager API with FastAPI and SQLite
- Set up project structure
- Created Task model with SQLAlchemy
- Implemented SQLite database connection
- Created Alembic migrations
- Added Task CRUD endpoints
- Added health endpoint
- Updated README with project details

generated with BackendIM... (backend.im)
2025-05-14 07:18:59 +00:00

27 lines
899 B
Python

from sqlalchemy.orm import Session
from typing import List, Optional
from app.crud.base import CRUDBase
from app.models.task import Task, TaskStatus
from app.schemas.task import TaskCreate, TaskUpdate
class CRUDTask(CRUDBase[Task, TaskCreate, TaskUpdate]):
def get_by_status(self, db: Session, *, status: TaskStatus) -> List[Task]:
return db.query(self.model).filter(Task.status == status).all()
def get_completed(self, db: Session) -> List[Task]:
return db.query(self.model).filter(Task.completed == True).all()
def mark_completed(self, db: Session, *, task_id: int) -> Optional[Task]:
task = self.get(db, id=task_id)
if not task:
return None
task_in = TaskUpdate(
status=TaskStatus.DONE,
completed=True
)
return self.update(db, db_obj=task, obj_in=task_in)
task = CRUDTask(Task)