fix: critical bug fixes - routes UUID, image paths, favorites loading, bottom nav debounce

This commit is contained in:
2026-02-25 16:29:13 -05:00
parent c449083171
commit fd95df461b
14 changed files with 379 additions and 116 deletions

View File

@ -6,6 +6,8 @@ from app.models.business import Business
from app.models.user import User, UserRole
from app.api.deps import get_current_user
from app.services.image_handler import save_image, delete_image
router = APIRouter(prefix="/api/businesses", tags=["businesses"])
@router.get("", response_model=List[Business])
@ -41,17 +43,7 @@ async def create_business(
image_url = None
if image:
import os
import shutil
from uuid import uuid4
UPLOAD_DIR = "uploads/businesses"
os.makedirs(UPLOAD_DIR, exist_ok=True)
ext = os.path.splitext(image.filename)[1]
filename = f"{uuid4()}{ext}"
path = os.path.join(UPLOAD_DIR, filename)
with open(path, "wb") as buffer:
shutil.copyfileobj(image.file, buffer)
image_url = f"/uploads/businesses/{filename}"
image_url = save_image(image, "businesses")
db_business = Business(
name=name,
@ -110,17 +102,9 @@ async def update_business(
db_business.longitude = longitude
if image:
import os
import shutil
from uuid import uuid4
UPLOAD_DIR = "uploads/businesses"
os.makedirs(UPLOAD_DIR, exist_ok=True)
ext = os.path.splitext(image.filename)[1]
filename = f"{uuid4()}{ext}"
path = os.path.join(UPLOAD_DIR, filename)
with open(path, "wb") as buffer:
shutil.copyfileobj(image.file, buffer)
db_business.image_url = f"/uploads/businesses/{filename}"
if db_business.image_url:
delete_image(db_business.image_url)
db_business.image_url = save_image(image, "businesses")
session.add(db_business)
session.commit()
@ -153,6 +137,9 @@ async def delete_business(
if not db_business:
raise HTTPException(status_code=404, detail="Business not found")
if db_business.image_url:
delete_image(db_business.image_url)
session.delete(db_business)
session.commit()
return {"status": "success", "message": "Business deleted"}