Moving things to use the common_route_params. Rewriting most of things order and order_cart related! Updating address and contact related. General code clean up.

This commit is contained in:
Scott Idem
2022-01-18 18:49:23 -05:00
parent 49d8a7f0dc
commit 24807db81c
10 changed files with 216 additions and 502 deletions

View File

@@ -4,8 +4,8 @@ import datetime
from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_delete, sql_insert_or_update, sql_select
from app.lib_general import log, logging
from app.db_sql import redis_lookup_id_random, sql_delete, sql_enable_part, sql_insert_or_update, sql_limit_offset_part, sql_select
from app.lib_general import log, logging, logger_reset
from app.methods.order_cfg_methods import load_order_cfg_obj
from app.methods.order_line_methods import get_order_line_rec_list, load_order_line_obj
@@ -19,6 +19,7 @@ from app.models.order_line_models import Order_Line_Base, Order_Line_DB_Base # T
# ### BEGIN ### API Order Methods ### save_order_obj() ###
# @logger_reset
def save_order_obj(order_obj_new:Order_Base, repl_order_line_li:bool=False):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
@@ -174,6 +175,7 @@ def save_order_obj(order_obj_new:Order_Base, repl_order_line_li:bool=False):
# ### BEGIN ### API Order Methods ### load_order_obj() ###
# Updated 2021-11-19
# @logger_reset
def load_order_obj(
order_id: int|str,
inc_address: bool = False,
@@ -188,24 +190,23 @@ def load_order_obj(
by_alias: bool = True,
exclude_unset: bool = True,
model_as_dict: bool = False,
):
) -> None|bool|dict|list:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass
else: return False
else: return False # None, false bool
if order_rec := sql_select(table_name='v_order', record_id=order_id): pass
else: return False
#log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: return order_rec # None, empty dict, empty list, false bool
log.debug(order_rec)
try:
order_obj = Order_Base(**order_rec)
log.debug(order_obj)
except ValidationError as e:
log.error(e.json())
return False
log.debug(order_obj)
# Updated 2022-01-18
if inc_order_cfg:
@@ -233,7 +234,6 @@ def load_order_obj(
order_line_result_list.append(
load_order_line_obj(
order_line_id = order_line_rec.get('order_line_id'),
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
@@ -287,6 +287,7 @@ def load_order_obj(
# ### BEGIN ### API Order Methods ### get_order_rec_list() ###
# Updated 2021-12-13
# @logger_reset
def get_order_rec_list(
for_obj_type: str,
for_obj_id: str,
@@ -294,6 +295,7 @@ def get_order_rec_list(
to_datetime: datetime.datetime = None,
# balance_gt: int = 0, # $0 to $99999
status: str = 'closed', # started, in progress, complete, all
# checkout_status: str = 'none', # none, canceled, waiting, success, failed, unknown
enabled: str = 'enabled', # enabled, disabled, all
limit: int = 500,
offset: int = 0,
@@ -307,10 +309,10 @@ def get_order_rec_list(
data = {}
if for_obj_type == 'account' and for_obj_id:
data['account_id'] = redis_lookup_id_random(record_id_random=for_obj_id, table_name='account')
sql_account_person_user = f"""`order`.account_id = :account_id"""
sql_obj_type_id = f'`order`.account_id = :account_id'
elif for_obj_type == 'person' and for_obj_id:
data['person_id'] = redis_lookup_id_random(record_id_random=for_obj_id, table_name='person')
sql_account_person_user = f"""`order`.person_id = :person_id"""
sql_obj_type_id = f'`order`.person_id = :person_id'
else:
return False
@@ -347,7 +349,7 @@ def get_order_rec_list(
else:
sql_from_to_datetime = ''
sql_enabled, data['enable'] = sql_enable_part(table_name='contact', enabled=enabled) # Reasonably safe return str and bool
sql_enabled, data['enable'] = sql_enable_part(table_name='order', enabled=enabled) # Reasonably safe return str and bool
sql_limit = sql_limit_offset_part(limit=limit, offset=offset) # Reasonably safe return str
log.debug(data)