From 18d37db6dad464ab99dc690c9125429630fcca22 Mon Sep 17 00:00:00 2001 From: andrei Date: Fri, 4 Oct 2024 14:52:51 +0500 Subject: [PATCH] ._. --- app/core/entities/accessory.py | 9 +++++---- app/core/entities/city.py | 11 +++++++++++ app/core/entities/delivery_order.py | 15 +++++++++++++++ app/core/entities/dilevery_accessiory.py | 13 +++++++++++++ app/core/entities/federal_district.py | 11 +++++++++++ app/core/entities/order.py | 13 ------------- app/core/entities/role.py | 5 +++-- app/core/entities/status.py | 6 ++++-- app/core/entities/total_order.py | 16 ++++++++++++++++ app/core/entities/truck.py | 13 +++++++++++++ app/core/entities/user.py | 6 +++--- .../database/models/dilevery_accessiories.py | 2 +- app/infrastructure/database/models/users.py | 2 +- 13 files changed, 96 insertions(+), 26 deletions(-) create mode 100644 app/core/entities/city.py create mode 100644 app/core/entities/delivery_order.py create mode 100644 app/core/entities/dilevery_accessiory.py create mode 100644 app/core/entities/federal_district.py delete mode 100644 app/core/entities/order.py create mode 100644 app/core/entities/total_order.py create mode 100644 app/core/entities/truck.py diff --git a/app/core/entities/accessory.py b/app/core/entities/accessory.py index 8ab57d3..a5b9c8d 100644 --- a/app/core/entities/accessory.py +++ b/app/core/entities/accessory.py @@ -1,13 +1,14 @@ from pydantic import BaseModel +from typing import Optional class AccessoryEntity(BaseModel): id: int name: str - width: float - height: float - length: float - weight: float + volume: Optional[float] = None + weight: Optional[float] = None + period: Optional[int] = None + city_id: Optional[int] = None class Config: from_attributes = True diff --git a/app/core/entities/city.py b/app/core/entities/city.py new file mode 100644 index 0000000..98b8943 --- /dev/null +++ b/app/core/entities/city.py @@ -0,0 +1,11 @@ +from pydantic import BaseModel +from typing import Optional + + +class CityEntity(BaseModel): + id: int + name: str + federal_district_id: Optional[int] = None + + class Config: + from_attributes = True diff --git a/app/core/entities/delivery_order.py b/app/core/entities/delivery_order.py new file mode 100644 index 0000000..0fca2d8 --- /dev/null +++ b/app/core/entities/delivery_order.py @@ -0,0 +1,15 @@ +from pydantic import BaseModel +from typing import Optional +from datetime import datetime + + +class DeliveryOrderEntity(BaseModel): + id: int + order_datetime: datetime + count_robots: int + deadline: datetime + truck_id: Optional[int] = None + total_order_id: Optional[int] = None + + class Config: + from_attributes = True diff --git a/app/core/entities/dilevery_accessiory.py b/app/core/entities/dilevery_accessiory.py new file mode 100644 index 0000000..b98e5e6 --- /dev/null +++ b/app/core/entities/dilevery_accessiory.py @@ -0,0 +1,13 @@ +from pydantic import BaseModel +from typing import Optional + + +class DeliveryAccessoryEntity(BaseModel): + id: int + queue: int + count: int + accessory_id: Optional[int] = None + delivery_order_id: Optional[int] = None + + class Config: + from_attributes = True diff --git a/app/core/entities/federal_district.py b/app/core/entities/federal_district.py new file mode 100644 index 0000000..59111d3 --- /dev/null +++ b/app/core/entities/federal_district.py @@ -0,0 +1,11 @@ +from pydantic import BaseModel +from typing import List, Optional + + +class FederalDistrictEntity(BaseModel): + id: int + name: str + cities: Optional[List[int]] = None + + class Config: + from_attributes = True diff --git a/app/core/entities/order.py b/app/core/entities/order.py deleted file mode 100644 index 107a687..0000000 --- a/app/core/entities/order.py +++ /dev/null @@ -1,13 +0,0 @@ -from typing import Optional -from datetime import datetime -from pydantic import BaseModel - - -class OrderEntity(BaseModel): - id: Optional[int] = None - order_datetime: datetime - user_id: int - status_id: int - - class Config: - from_attributes = True diff --git a/app/core/entities/role.py b/app/core/entities/role.py index a6b4acc..7602283 100644 --- a/app/core/entities/role.py +++ b/app/core/entities/role.py @@ -1,10 +1,11 @@ -from typing import Optional from pydantic import BaseModel +from typing import List, Optional class RoleEntity(BaseModel): - id: Optional[int] = None + id: int name: str + users: Optional[List[int]] = None class Config: from_attributes = True diff --git a/app/core/entities/status.py b/app/core/entities/status.py index 71ecad9..c250c0d 100644 --- a/app/core/entities/status.py +++ b/app/core/entities/status.py @@ -1,10 +1,12 @@ -from typing import Optional from pydantic import BaseModel +from typing import List, Optional class StatusEntity(BaseModel): - id: Optional[int] = None + id: int name: str + orders: Optional[List[int]] = None + steps: Optional[List[int]] = None class Config: from_attributes = True diff --git a/app/core/entities/total_order.py b/app/core/entities/total_order.py new file mode 100644 index 0000000..4725453 --- /dev/null +++ b/app/core/entities/total_order.py @@ -0,0 +1,16 @@ +from pydantic import BaseModel +from datetime import datetime +from typing import List, Optional + + +class TotalOrderEntity(BaseModel): + id: int + order_datetime: datetime + count_robots: int + deadline: Optional[datetime] = None + user_id: int + status_id: int + delivery_orders: Optional[List[int]] = None # + + class Config: + from_attributes = True diff --git a/app/core/entities/truck.py b/app/core/entities/truck.py new file mode 100644 index 0000000..acc8db1 --- /dev/null +++ b/app/core/entities/truck.py @@ -0,0 +1,13 @@ +from pydantic import BaseModel +from typing import List + + +class TruckEntity(BaseModel): + id: int + name: str + capacity: float + volume: float + delivery_orders: List[int] = [] + + class Config: + from_attributes = True diff --git a/app/core/entities/user.py b/app/core/entities/user.py index c66e872..4cd3822 100644 --- a/app/core/entities/user.py +++ b/app/core/entities/user.py @@ -1,15 +1,15 @@ -from typing import Optional, List from pydantic import BaseModel +from typing import List, Optional class UserEntity(BaseModel): - id: Optional[int] = None + id: int first_name: str last_name: str login: str password: str role_id: Optional[int] = None - orders: List[int] = [] + total_orders: List[int] = [] class Config: from_attributes = True diff --git a/app/infrastructure/database/models/dilevery_accessiories.py b/app/infrastructure/database/models/dilevery_accessiories.py index 2c2de33..8c0b074 100644 --- a/app/infrastructure/database/models/dilevery_accessiories.py +++ b/app/infrastructure/database/models/dilevery_accessiories.py @@ -1,4 +1,4 @@ -from sqlalchemy import Column, Integer, VARCHAR, Float, DateTime, ForeignKey +from sqlalchemy import Column, Integer, ForeignKey from sqlalchemy.orm import relationship from app.infrastructure.database.models import Base diff --git a/app/infrastructure/database/models/users.py b/app/infrastructure/database/models/users.py index 8b029d5..82433ca 100644 --- a/app/infrastructure/database/models/users.py +++ b/app/infrastructure/database/models/users.py @@ -17,4 +17,4 @@ class User(Base): role = relationship('Role', back_populates='users') - orders = relationship('Order', back_populates='user') + total_orders = relationship('TotalOrder', back_populates='user')