Add event-specific guest gift reservations endpoint
Introduced a function `get_event_guest_gift_reservations` in the CRUD layer to fetch gift reservations filtered by event ID. Updated the API endpoint to optionally accept an `event_id` query parameter for retrieving reservations specific to an event.
This commit is contained in:
@@ -1,7 +1,7 @@
|
||||
from typing import List, Optional, Dict, Any
|
||||
from uuid import UUID
|
||||
|
||||
from fastapi import APIRouter, Depends, HTTPException, Path
|
||||
from fastapi import APIRouter, Depends, HTTPException, Path, Query
|
||||
from sqlalchemy.orm import Session
|
||||
|
||||
from app.api.dependencies.auth import get_current_active_user, get_current_user, get_optional_current_user
|
||||
@@ -1050,19 +1050,25 @@ def read_gift_purchases_by_guest(
|
||||
return gift_purchase_crud.get_gift_reservations_by_guest(db, guest_id=guest_id)
|
||||
|
||||
@router.get(
|
||||
"/purchases/guest/all",
|
||||
"/reservations/guests",
|
||||
response_model=List[GiftPurchase],
|
||||
operation_id="read_guests_gift_purchases"
|
||||
operation_id="read_guests_gift_reservations",
|
||||
)
|
||||
def read_all_guest_gift_reservations(
|
||||
*,
|
||||
db: Session = Depends(get_db),
|
||||
event_id: Optional[str] = Query(None, description="Optional event ID to filter reservations by event"),
|
||||
) -> Any:
|
||||
"""
|
||||
Retrieve all guest gift reservations.
|
||||
Retrieve all guest gift reservations, optionally filtered by event ID.
|
||||
"""
|
||||
reservations = gift_purchase_crud.get_all_guest_gift_reservations(db=db)
|
||||
if event_id:
|
||||
event_id = UUID(event_id)
|
||||
reservations = gift_purchase_crud.get_event_guest_gift_reservations(db=db, event_id=event_id)
|
||||
else:
|
||||
reservations = gift_purchase_crud.get_all_guest_gift_reservations(db=db)
|
||||
|
||||
if not reservations:
|
||||
reservations = []
|
||||
|
||||
return reservations
|
||||
|
||||
Reference in New Issue
Block a user