Work membership and general clean up
This commit is contained in:
0
app/models/__init__.py
Normal file
0
app/models/__init__.py
Normal file
@@ -5,8 +5,7 @@ from typing import Dict, List, Optional, Set, Union
|
||||
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
|
||||
|
||||
from ..lib_general import *
|
||||
from ..log import *
|
||||
from .db_sql import sql_select
|
||||
from ..db_sql import sql_select
|
||||
|
||||
#from .address_model import Address_Base
|
||||
#from .contact_model import Contact_Base
|
||||
@@ -160,17 +159,16 @@ def save_membership_obj(order_obj_new:Membership_Base=None):
|
||||
else: return False
|
||||
log.debug(order_line_obj_resp)
|
||||
return order_id
|
||||
# ### END ### API Membership Model ### save_membership_obj() ###
|
||||
# ### END ### API Membership Model ### save_membership_obj() ###
|
||||
|
||||
|
||||
# ### BEGIN ### API Membership Model ### get_membership_obj() ###
|
||||
def get_membership_obj(membership_id=None, inc_membership_profile=None, inc_membership_cfg=None, inc_cust_profile=None):
|
||||
# ### BEGIN ### API Membership Model ### load_membership_obj() ###
|
||||
def load_membership_obj(membership_id:int|str, inc_membership_profile:bool=False, inc_membership_cfg:bool=False, inc_extended_profile:bool=False) -> Membership_Base:
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if membership_id := redis_lookup_id_random(record_id_random=membership_id, table_name='membership'): pass
|
||||
else:
|
||||
return False
|
||||
else: return False
|
||||
|
||||
if membership_rec := sql_select(table_name='v_membership', record_id=membership_id):
|
||||
#log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
@@ -190,14 +188,14 @@ def get_membership_obj(membership_id=None, inc_membership_profile=None, inc_memb
|
||||
|
||||
membership_rec['cfg'] = membership_cfg_rec
|
||||
|
||||
if inc_cust_profile:
|
||||
if inc_extended_profile:
|
||||
account_code = membership_rec.get('account_code', None)
|
||||
table_name = f'c_{account_code}_membership_profile'
|
||||
if cust_profile_rec := sql_select(table_name=table_name, field_name='membership_id', field_value=membership_id):
|
||||
if extended_profile_rec := sql_select(table_name=table_name, field_name='membership_id', field_value=membership_id):
|
||||
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(cust_profile_rec)
|
||||
log.debug(extended_profile_rec)
|
||||
|
||||
membership_rec['cust_profile'] = cust_profile_rec
|
||||
membership_rec['extended_profile'] = extended_profile_rec
|
||||
|
||||
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(membership_rec)
|
||||
@@ -211,4 +209,4 @@ def get_membership_obj(membership_id=None, inc_membership_profile=None, inc_memb
|
||||
log.error(e.json())
|
||||
|
||||
return membership_obj
|
||||
# ### END ### API Membership Model ### get_membership_obj() ###
|
||||
# ### END ### API Membership Model ### load_membership_obj() ###
|
||||
|
||||
@@ -36,8 +36,8 @@ class Membership_Cfg_Base(BaseModel):
|
||||
reject_message: Optional[str]
|
||||
renew_message: Optional[str]
|
||||
|
||||
#cust_membership_profile: Optional[str] # list of dicts outlining custom membership profile fields for client
|
||||
cust_membership_profile: Optional[Json] = '[]' # list of dicts outlining custom membership profile fields for client
|
||||
#extended_membership_profile: Optional[str] # list of dicts outlining extended (custom) membership profile fields for client
|
||||
extended_membership_profile: Optional[Json] = '[]' # list of dicts outlining extended (custom) membership profile fields for client
|
||||
|
||||
default_no_reply_email: Optional[str]
|
||||
default_no_reply_name: Optional[str]
|
||||
@@ -216,7 +216,7 @@ class Membership_Base(BaseModel):
|
||||
user: 'Optional[User_Base]' = User_Base()
|
||||
cfg: 'Optional[Membership_Cfg_Base]' = Membership_Cfg_Base()
|
||||
|
||||
cust_profile: Optional[dict] = {}
|
||||
extended_profile: Optional[dict] = {}
|
||||
|
||||
_processed_at: datetime.datetime = PrivateAttr(default_factory=datetime.datetime.now)
|
||||
|
||||
|
||||
@@ -11,7 +11,7 @@ from .order_cart_model import Order_Cart_Base
|
||||
|
||||
|
||||
# ### BEGIN ### API Order Cart Methods ### load_order_cart_obj() ###
|
||||
def load_order_cart_obj(order_cart_id:int|str=None, inc_order_cart_line_li=None, inc_order_cart_cfg=None):
|
||||
def load_order_cart_obj(order_cart_id:int|str, inc_order_cart_line_li:bool=False, inc_order_cart_cfg:bool=False):
|
||||
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
|
||||
@@ -13,13 +13,10 @@ from .order_model import Order_Base
|
||||
|
||||
|
||||
# ### BEGIN ### API Order Model ### save_order_obj() ###
|
||||
def save_order_obj(order_obj_new:Order_Base=None, repl_order_line_list:bool=False):
|
||||
def save_order_obj(order_obj_new:Order_Base, repl_order_line_list:bool=False):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if not order_obj_new:
|
||||
return False
|
||||
|
||||
log.debug(order_obj_new.dict(by_alias=False, exclude_defaults=False, exclude_unset=True))
|
||||
|
||||
order_line_obj_li_curr = [] # Initialize to store order_line list
|
||||
@@ -160,7 +157,7 @@ def save_order_obj(order_obj_new:Order_Base=None, repl_order_line_list:bool=Fals
|
||||
|
||||
|
||||
# ### BEGIN ### API Order Model ### load_order_obj() ###
|
||||
def load_order_obj(order_id=None, inc_order_line_li=None, inc_order_cfg=None, inc_person_obj=None, inc_user_obj=None):
|
||||
def load_order_obj(order_id:int|str, inc_order_line_li:bool=False, inc_order_cfg:bool=False, inc_person_obj:bool=False, inc_user_obj:bool=False):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
|
||||
@@ -5,13 +5,13 @@ from typing import Dict, List, Optional, Set, Union
|
||||
from pydantic import BaseModel, EmailStr, Field, Json, PrivateAttr, ValidationError, validator
|
||||
|
||||
from ..lib_general import *
|
||||
from ..log import *
|
||||
|
||||
from app.config import settings
|
||||
|
||||
from .common_field_schema import base_fields, default_num_bytes
|
||||
|
||||
|
||||
# ### BEGIN ### API Response Model ### Resp_Body_Base() ###
|
||||
# The pydantic BaseModel to help make consistent REST responses - STI 2021-03-05
|
||||
class Resp_Body_Base(BaseModel):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
@@ -19,16 +19,18 @@ class Resp_Body_Base(BaseModel):
|
||||
|
||||
data: Union[dict, list]
|
||||
meta: Optional[dict]
|
||||
# ### END ### API Response Model ### Resp_Body_Base() ###
|
||||
|
||||
|
||||
# The make response function for REST - STI 2021-03-05
|
||||
def mk_resp(data:dict={}, dict_to_json:bool=None, status_code:int=200, status_message:str=None, status_name:str=None, success:bool=True, details:bool=None, by_alias:bool=True, exclude_unset:bool=True):
|
||||
# ### BEGIN ### API Response Model ### mk_resp() ###
|
||||
# The make response function for REST - STI 2021-03-17
|
||||
def mk_resp(data:None|bool|dict|list, dict_to_json:bool=False, status_code:int=200, status_message:str='', status_name:str='', success:bool=True, details:str='', by_alias:bool=True, exclude_unset:bool=True):
|
||||
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
|
||||
log.debug(locals())
|
||||
|
||||
if data is None: data = { 'result': None }
|
||||
elif data == False: data = { 'result': False }
|
||||
elif data == True: data = { 'result': True }
|
||||
if data is None: data = { 'result': data }
|
||||
elif data == False: data = { 'result': data }
|
||||
elif data == True: data = { 'result': data }
|
||||
|
||||
resp_body = {}
|
||||
resp_body['data'] = data
|
||||
@@ -54,11 +56,6 @@ def mk_resp(data:dict={}, dict_to_json:bool=None, status_code:int=200, status_me
|
||||
log.debug(type(resp_body['data']))
|
||||
|
||||
resp_body = Resp_Body_Base(**resp_body).dict(by_alias=by_alias, exclude_unset=exclude_unset)
|
||||
#resp_body_json = resp_body.json(by_alias=True, exclude_unset=False)
|
||||
|
||||
#response = app.response_class(
|
||||
#response=resp_body_json,
|
||||
#status=status_code,
|
||||
#mimetype='application/json'
|
||||
#)
|
||||
return resp_body
|
||||
# ### END ### API Response Model ### mk_resp() ###
|
||||
Reference in New Issue
Block a user