aaredb/backend/app/routers/address.py
2024-11-01 14:13:38 +01:00

26 lines
939 B
Python

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