|
9 | 9 | Event, EventCreate, EventRead, EventUpdate, |
10 | 10 | EventRepeatDay, EventRepeatDayCreate, EventRepeatDayRead, EventRepeatDayUpdate, EventPupilUpdate |
11 | 11 | ) |
12 | | -from models.event_pupil import EventPupil, EventPupilCreate, EventPupilRead |
| 12 | +from models.event_pupil import EventPupil, EventPupilCreate, EventPupilRead, EventPupilWithDetails |
13 | 13 | from models.utils.enums import RepeatPatternEnum, EventTypeEnum |
14 | 14 | from .utils.helpers import generate_repeat_instances |
15 | 15 | event = APIRouter(prefix="/events", tags=["events"]) |
@@ -382,17 +382,17 @@ def delete_event_repeat_days( |
382 | 382 | session.delete(repeat_day) |
383 | 383 | session.commit() |
384 | 384 |
|
385 | | -@event.get("/{event_id}/pupils", response_model=List[EventPupilRead]) |
| 385 | +@event.get("/{event_id}/pupils", response_model=List[EventPupilWithDetails]) |
386 | 386 | def get_event_pupils( |
387 | 387 | event_id: int, |
388 | 388 | session: Session = Depends(get_session) |
389 | 389 | ): |
390 | | - """Get all pupils assigned to an event""" |
| 390 | + """Get all pupils assigned to an event with full pupil details""" |
391 | 391 | event = session.get(Event, event_id) |
392 | 392 | if not event: |
393 | 393 | raise HTTPException(status_code=404, detail="Event not found") |
394 | 394 |
|
395 | | - statement = select(EventPupil).where(EventPupil.event_id == event_id) |
| 395 | + statement = select(EventPupil).where(EventPupil.event_id == event_id).options(selectinload(EventPupil.pupil)) |
396 | 396 | event_pupils = session.exec(statement).all() |
397 | 397 | return event_pupils |
398 | 398 |
|
|
0 commit comments