feat: add backend FastAPI structure and Supabase schema

This commit is contained in:
Alan Alonso
2026-05-23 00:41:13 -06:00
parent 17cdde7dbb
commit e6eb466c14
38 changed files with 1760 additions and 0 deletions

View File

@@ -0,0 +1,43 @@
from fastapi import APIRouter, HTTPException, Depends
from pydantic import BaseModel
from typing import Optional
from app.db.database import get_connection
from app.core.dependencies import get_current_user
router = APIRouter()
class AddressCreate(BaseModel):
lat: float
lng: float
alias: Optional[str] = None
address_text: str
@router.post("/addresses")
async def create_address(
address: AddressCreate,
current_user: dict = Depends(get_current_user)
):
# Determine route based on location (simplified - in production use PostGIS)
route_id = "RUTA-01" # Mock: should calculate based on lat/lng
conn = get_connection()
cursor = conn.execute(
"INSERT INTO addresses (user_id, alias, lat, lng, route_id) VALUES (?, ?, ?, ?, ?) RETURNING id",
(current_user["id"], address.alias, address.lat, address.lng, route_id)
)
address_id = cursor.fetchone()[0]
conn.commit()
conn.close()
return {"id": address_id, "route_id": route_id}
@router.get("/addresses")
async def get_addresses(current_user: dict = Depends(get_current_user)):
conn = get_connection()
addresses = conn.execute(
"SELECT id, alias, lat, lng, route_id FROM addresses WHERE user_id = ?",
(current_user["id"],)
).fetchall()
conn.close()
return [dict(addr) for addr in addresses]