26 lines
939 B
Python
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 |