This commit is contained in:
Андрей Дувакин 2024-10-04 14:52:51 +05:00
parent f3e1ccb7c4
commit 18d37db6da
13 changed files with 96 additions and 26 deletions

View File

@ -1,13 +1,14 @@
from pydantic import BaseModel from pydantic import BaseModel
from typing import Optional
class AccessoryEntity(BaseModel): class AccessoryEntity(BaseModel):
id: int id: int
name: str name: str
width: float volume: Optional[float] = None
height: float weight: Optional[float] = None
length: float period: Optional[int] = None
weight: float city_id: Optional[int] = None
class Config: class Config:
from_attributes = True from_attributes = True

11
app/core/entities/city.py Normal file
View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -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

View File

@ -1,10 +1,11 @@
from typing import Optional
from pydantic import BaseModel from pydantic import BaseModel
from typing import List, Optional
class RoleEntity(BaseModel): class RoleEntity(BaseModel):
id: Optional[int] = None id: int
name: str name: str
users: Optional[List[int]] = None
class Config: class Config:
from_attributes = True from_attributes = True

View File

@ -1,10 +1,12 @@
from typing import Optional
from pydantic import BaseModel from pydantic import BaseModel
from typing import List, Optional
class StatusEntity(BaseModel): class StatusEntity(BaseModel):
id: Optional[int] = None id: int
name: str name: str
orders: Optional[List[int]] = None
steps: Optional[List[int]] = None
class Config: class Config:
from_attributes = True from_attributes = True

View File

@ -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

View File

@ -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

View File

@ -1,15 +1,15 @@
from typing import Optional, List
from pydantic import BaseModel from pydantic import BaseModel
from typing import List, Optional
class UserEntity(BaseModel): class UserEntity(BaseModel):
id: Optional[int] = None id: int
first_name: str first_name: str
last_name: str last_name: str
login: str login: str
password: str password: str
role_id: Optional[int] = None role_id: Optional[int] = None
orders: List[int] = [] total_orders: List[int] = []
class Config: class Config:
from_attributes = True from_attributes = True

View File

@ -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 sqlalchemy.orm import relationship
from app.infrastructure.database.models import Base from app.infrastructure.database.models import Base

View File

@ -17,4 +17,4 @@ class User(Base):
role = relationship('Role', back_populates='users') role = relationship('Role', back_populates='users')
orders = relationship('Order', back_populates='user') total_orders = relationship('TotalOrder', back_populates='user')