Skip to content

Commit 292a1cc

Browse files
authored
Merge pull request #22 from amfoss/develop
fix: map deadline_days from DB to deadline in API response
2 parents 68d88b1 + 51ee179 commit 292a1cc

File tree

2 files changed

+23
-4
lines changed

2 files changed

+23
-4
lines changed

app/routes/tracks.py

Lines changed: 2 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -17,4 +17,5 @@ def list_tasks_for_track(track_id: int, db: Session = Depends(get_db)):
1717
if not track:
1818
raise HTTPException(status_code=404, detail="Track not found")
1919

20-
return db.query(models.Task).filter_by(track_id=track_id).order_by(models.Task.task_no).all()
20+
tasks = db.query(models.Task).filter_by(track_id=track_id).order_by(models.Task.task_no).all()
21+
return [TaskOut.from_orm(task) for task in tasks]

app/schemas/task.py

Lines changed: 21 additions & 3 deletions
Original file line numberDiff line numberDiff line change
@@ -8,13 +8,31 @@ class TaskBase(BaseModel):
88
title: str
99
description: Optional[str] = None
1010
points: int = 10
11-
deadline: Optional[datetime] = None
11+
deadline_days: Optional[datetime] = None
1212

1313
class TaskCreate(TaskBase):
1414
pass
1515

16-
class TaskOut(TaskBase):
16+
class TaskOut(BaseModel):
1717
id: int
18+
track_id: int
19+
task_no: int
20+
title: str
21+
description: Optional[str]
22+
points: int
23+
deadline: Optional[int]
1824

1925
class Config:
20-
orm_mode = True
26+
orm_mode = True
27+
28+
@classmethod
29+
def from_orm(cls, obj):
30+
return cls(
31+
id=obj.id,
32+
track_id=obj.track_id,
33+
task_no=obj.task_no,
34+
title=obj.title,
35+
description=obj.description,
36+
points=obj.points,
37+
deadline=obj.deadline_days
38+
)

0 commit comments

Comments
 (0)