from fastapi import APIRouter, HTTPException, status from typing import List, Optional from app.data.data import return_addresses from app.models import Address # Import the Address model router = APIRouter() @router.get("/", response_model=List[Address]) async def get_return_addresses(): return return_addresses @router.post("/", response_model=Address, status_code=status.HTTP_201_CREATED) async def create_return_address(address: Address): if any(a.city == address.city for a in return_addresses): raise HTTPException( status_code=status.HTTP_400_BAD_REQUEST, detail="Address in this city already exists." ) if return_addresses: max_id = max(a.id for a in return_addresses) address.id = max_id + 1 if address.id is None else address.id else: address.id = 1 if address.id is None else address.id return_addresses.append(address) return address