From a46ce6b664951f11ef06f1e92fa41176206e2d76 Mon Sep 17 00:00:00 2001 From: dderbentsov Date: Tue, 8 Aug 2023 01:34:46 +0300 Subject: [PATCH] address update --- src/personal_info/db/schemas/address.py | 7 +++++++ src/personal_info/routers/addresses.py | 16 +++++++++------- 2 files changed, 16 insertions(+), 7 deletions(-) diff --git a/src/personal_info/db/schemas/address.py b/src/personal_info/db/schemas/address.py index a684337..88955e8 100644 --- a/src/personal_info/db/schemas/address.py +++ b/src/personal_info/db/schemas/address.py @@ -18,3 +18,10 @@ class AddressCreateOut(AddressCreateIn): class Config: orm_mode = True +class AddressUpdateIn(BaseModel): + category: str | None + region: str | None + city: str | None + street: str | None + house: str | None + flat: str | None \ No newline at end of file diff --git a/src/personal_info/routers/addresses.py b/src/personal_info/routers/addresses.py index 82e6355..943b079 100644 --- a/src/personal_info/routers/addresses.py +++ b/src/personal_info/routers/addresses.py @@ -4,7 +4,7 @@ from pydantic.types import UUID4 from typing import List, Optional, Dict from personal_info.db import models -from personal_info.db.schemas import (AddressCreateOut, AddressCreateIn) +from personal_info.db.schemas import (AddressCreateOut, AddressCreateIn, AddressUpdateIn) from personal_info.services import AddressService, get_addresses_service router = APIRouter(prefix='/address') @@ -15,9 +15,11 @@ async def create_address( ) -> models.Address: return addresses_service.create(address) -# @router.post('/batch', response_model=List[Person]) -# async def batch_list_persons( -# request: Dict = {}, -# persons_service: PersonService = Depends(get_persons_service) -# ) -> List[models.Person]: -# return persons_service.batch_get(request) +@router.patch('/{id}', response_model=AddressCreateOut) +async def update_address( + id: UUID4, + address: AddressUpdateIn, + addresses_service: AddressService = Depends(get_addresses_service) + ) -> Optional[models.Address]: + return addresses_service.update(id, address) + \ No newline at end of file