derm-ai / app /routers /location.py
muhammadnoman76's picture
update
75e2b6c
# app/routers/location.py
from fastapi import APIRouter, Depends, HTTPException
from pydantic import BaseModel
from app.database.database_query import DatabaseQuery
from app.middleware.auth import get_current_user
router = APIRouter()
query = DatabaseQuery()
class LocationData(BaseModel):
location: str
@router.post('/location', status_code=201)
async def add_location(location_data: LocationData, username: str = Depends(get_current_user)):
try:
location = location_data.location
if not location:
raise HTTPException(status_code=400, detail="Location is required")
query.add_or_update_location(username, location)
return {'message': 'Location added/updated successfully'}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))
@router.get('/location')
async def get_location(username: str = Depends(get_current_user)):
try:
location_data = query.get_location(username)
if not location_data:
raise HTTPException(status_code=404, detail="No location found for this user")
return {'location': location_data['location']}
except Exception as e:
raise HTTPException(status_code=500, detail=str(e))