Public PPR submission

This commit is contained in:
James Pattinson
2025-10-25 12:59:07 +00:00
parent b6e32eccad
commit 91e820b9a8
4 changed files with 672 additions and 1 deletions

View File

@@ -33,6 +33,30 @@ async def lookup_aircraft_by_registration(
return aircraft_list
@router.get("/public/lookup/{registration}", response_model=List[AircraftSchema])
async def public_lookup_aircraft_by_registration(
registration: str,
db: Session = Depends(get_db)
):
"""
Public lookup aircraft by registration (clean match).
Removes non-alphanumeric characters from input for matching.
No authentication required.
"""
# Clean the input registration (remove non-alphanumeric characters)
clean_input = ''.join(c for c in registration if c.isalnum()).upper()
if len(clean_input) < 4:
return []
# Query aircraft table using clean_reg column
aircraft_list = db.query(Aircraft).filter(
Aircraft.clean_reg.like(f"{clean_input}%")
).limit(10).all()
return aircraft_list
@router.get("/search", response_model=List[AircraftSchema])
async def search_aircraft(
q: Optional[str] = Query(None, description="Search query for registration, type, or manufacturer"),