Working on products and carts
This commit is contained in:
@@ -30,23 +30,30 @@ class Order_Cart_Line_Base(BaseModel):
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias = 'order_cart_line_id'
|
||||
alias = 'order_cart_line_id'
|
||||
)
|
||||
#order_cart_line_id_random: Optional[str]
|
||||
order_cart_id_random: Optional[str]
|
||||
order_cart_id: Optional[int]
|
||||
|
||||
product_id_random: str
|
||||
product_id: Optional[int]
|
||||
|
||||
product_type_id: Optional[int]
|
||||
product_type: Optional[str]
|
||||
|
||||
product_name: Optional[str]
|
||||
product_description: Optional[str]
|
||||
product_unit_price: Optional[int] = Field(0, ge=0, lt=1500000)
|
||||
product_max_quantity: Optional[int] = Field(0, ge=0, lt=150)
|
||||
|
||||
quantity: int = Field(0, ge=0, lt=150)
|
||||
amount: int = Field(0, ge=0, lt=1500000)
|
||||
|
||||
recurring: Optional[bool] = False
|
||||
|
||||
message: Optional[str]
|
||||
|
||||
notes: Optional[str]
|
||||
created_on: Optional[datetime.datetime] = None
|
||||
updated_on: Optional[datetime.datetime] = None
|
||||
@@ -92,6 +99,7 @@ class Order_Cart_Line_Base(BaseModel):
|
||||
|
||||
class Config:
|
||||
underscore_attrs_are_private = True
|
||||
allow_population_by_field_name = True
|
||||
fields = base_fields
|
||||
|
||||
|
||||
@@ -105,19 +113,24 @@ class Order_Cart_DB_Base(BaseModel):
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias = 'order_cart_id'
|
||||
alias = 'order_cart_id'
|
||||
)
|
||||
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int] # NOTE: This is not really optional
|
||||
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
|
||||
user_id_random: Optional[str]
|
||||
user_id: Optional[int]
|
||||
|
||||
order_id_random: Optional[str]
|
||||
order_id: Optional[int]
|
||||
|
||||
total_quantity: Optional[int] = Field(0, ge=0, lt=150)
|
||||
total_amount: Optional[int] = Field(0, ge=0, lt=1500000)
|
||||
|
||||
notes: Optional[str]
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
@@ -178,6 +191,7 @@ class Order_Cart_DB_Base(BaseModel):
|
||||
|
||||
class Config:
|
||||
underscore_attrs_are_private = True
|
||||
allow_population_by_field_name = True
|
||||
fields = base_fields
|
||||
|
||||
|
||||
@@ -191,27 +205,31 @@ class Order_Cart_Base(BaseModel):
|
||||
default_factory = lambda:secrets.token_urlsafe(default_num_bytes),
|
||||
)
|
||||
id: Optional[int] = Field(
|
||||
#alias = 'order_cart_id'
|
||||
alias = 'order_cart_id'
|
||||
)
|
||||
#order_cart_id_random: Optional[str]
|
||||
#order_cart_id: Optional[int]
|
||||
|
||||
account_id_random: Optional[str]
|
||||
account_id: Optional[int] # NOTE: This is not really optional
|
||||
|
||||
person_id_random: Optional[str]
|
||||
person_id: Optional[int]
|
||||
|
||||
user_id_random: Optional[str]
|
||||
user_id: Optional[int]
|
||||
|
||||
order_id_random: Optional[str]
|
||||
order_id: Optional[int]
|
||||
|
||||
total_quantity: Optional[int] = Field(0, ge=0, lt=150)
|
||||
total_amount: Optional[int] = Field(0, ge=0, lt=1500000)
|
||||
|
||||
notes: Optional[str]
|
||||
|
||||
created_on: Optional[datetime.datetime] = None
|
||||
updated_on: Optional[datetime.datetime] = None
|
||||
|
||||
# Including other related objects
|
||||
order_cart_line_li: List[Order_Cart_Line_Base] = []
|
||||
order_cart_line_list: Optional[list[Order_Cart_Line_Base]] # Order_Line_Base() # List[Order_Cart_Line_Base] = []
|
||||
cfg: Optional[Order_Cart_Cfg_Base] = Order_Cart_Cfg_Base() # Should this be renamed to order_cart_cfg?
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
@@ -272,4 +290,5 @@ class Order_Cart_Base(BaseModel):
|
||||
|
||||
class Config:
|
||||
underscore_attrs_are_private = True
|
||||
allow_population_by_field_name = True
|
||||
fields = base_fields
|
||||
|
||||
Reference in New Issue
Block a user