Code clean up. Working on returning proper 404 vs 400 responses if the results are empty and nothing went wrong.

This commit is contained in:
Scott Idem
2021-12-13 18:55:31 -05:00
parent 92a44b9f41
commit 39db1999fb
27 changed files with 301 additions and 239 deletions

View File

@@ -661,10 +661,11 @@ def sql_select(
return record_li # Successful return record_li # Successful
else: else:
if as_list: if as_list:
log.info('No records found. Returning as empty list.') # log.info('No records found. Returning None since the list is an empty list.')
log.info('No records found. Returning an empty list.')
log.debug(result) log.debug(result)
return None # Successful return [] # Successful
else: else:
log.info('No records found. Returning None.') log.info('No records found. Returning None.')
log.debug(result) log.debug(result)

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_select from app.db_sql import redis_lookup_id_random, sql_select
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.methods.membership_cfg_methods import load_membership_cfg_obj from app.methods.membership_cfg_methods import load_membership_cfg_obj
@@ -13,6 +13,7 @@ from app.models.account_cfg_models import Account_Cfg_Base
# ### BEGIN ### API Account Cfg Methods ### load_account_cfg_obj() ### # ### BEGIN ### API Account Cfg Methods ### load_account_cfg_obj() ###
@logger_reset
def load_account_cfg_obj( def load_account_cfg_obj(
account_id: int|str, account_id: int|str,
model_as_dict: bool = False, model_as_dict: bool = False,
@@ -20,7 +21,7 @@ def load_account_cfg_obj(
inc_fundraising_cfg: bool = False, inc_fundraising_cfg: bool = False,
inc_membership_cfg: bool = False, inc_membership_cfg: bool = False,
) -> Account_Cfg_Base|dict|bool: ) -> Account_Cfg_Base|dict|bool:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass

View File

@@ -567,7 +567,7 @@ def load_account_obj(
# ### BEGIN ### API Account Methods ### get_account_rec_list() ### # ### BEGIN ### API Account Methods ### get_account_rec_list() ###
# Updated 2021-09-28 # Updated 2021-12-13
def get_account_rec_list( def get_account_rec_list(
limit: int = 25, limit: int = 25,
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
@@ -604,12 +604,15 @@ def get_account_rec_list(
ORDER BY `account`.created_on DESC, `account`.updated_on DESC ORDER BY `account`.created_on DESC, `account`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if account_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if account_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
account_rec_li = account_rec_li_result account_rec_li = account_rec_li_result
else: else: # [] or False
account_rec_li = [] log.info('No results or something went wrong')
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL account_rec_li = account_rec_li_result
log.debug(account_rec_li_result) log.debug(account_rec_li_result)
return account_rec_li return account_rec_li

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_insert, sql_insert_or_update, sql_select, sql_update from app.db_sql import redis_lookup_id_random, sql_insert, sql_insert_or_update, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.models.common_field_schema import default_num_bytes from app.models.common_field_schema import default_num_bytes
@@ -43,6 +43,8 @@ def load_activity_log_obj(
# ### BEGIN ### API Activity Log Methods ### get_activity_log_rec_list() ### # ### BEGIN ### API Activity Log Methods ### get_activity_log_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_activity_log_rec_list( def get_activity_log_rec_list(
account_id: str, account_id: str,
from_datetime: datetime.datetime = None, from_datetime: datetime.datetime = None,
@@ -50,7 +52,7 @@ def get_activity_log_rec_list(
limit: int = 1000, limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
) -> list|bool: ) -> list|bool:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
@@ -88,9 +90,9 @@ def get_activity_log_rec_list(
if activity_log_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if activity_log_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
activity_log_rec_li = activity_log_rec_li_result activity_log_rec_li = activity_log_rec_li_result
else: else: # [] or False
activity_log_rec_li = [] activity_log_rec_li = activity_log_rec_li_result
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(activity_log_rec_li_result) log.debug(activity_log_rec_li_result)
return activity_log_rec_li return activity_log_rec_li

View File

@@ -115,12 +115,13 @@ def get_archive_rec_list(
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if archive_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if archive_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
archive_rec_li = archive_rec_li_result archive_rec_li = archive_rec_li_result
else: else: # [] or False
archive_rec_li = [] archive_rec_li = archive_rec_li_result
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(archive_rec_li_result) log.debug(archive_rec_li_result)
return archive_rec_li return archive_rec_li

View File

@@ -134,12 +134,12 @@ def get_cont_edu_cert_person_rec_list(
""" """
log.debug(sql) log.debug(sql)
if cont_edu_cert_person_rec_li_result := sql_select(data=data, sql=sql): if cont_edu_cert_person_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result') log.info('Got a list result')
cont_edu_cert_person_rec_li = cont_edu_cert_person_rec_li_result cont_edu_cert_person_rec_li = cont_edu_cert_person_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong') log.info('No results or something went wrong')
cont_edu_cert_person_rec_li = cont_edu_cert_person_rec_li_result # [] cont_edu_cert_person_rec_li = cont_edu_cert_person_rec_li_result
log.debug(cont_edu_cert_person_rec_li_result) log.debug(cont_edu_cert_person_rec_li_result)

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import get_account_id_w_for_type_id, redis_lookup_id_random, sql_insert, sql_select, sql_update from app.db_sql import get_account_id_w_for_type_id, redis_lookup_id_random, sql_insert, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.methods.address_methods import create_address_obj, create_update_address_obj, create_update_address_obj_v4, update_address_obj from app.methods.address_methods import create_address_obj, create_update_address_obj, create_update_address_obj_v4, update_address_obj
@@ -66,13 +66,15 @@ def load_contact_obj(
# ### BEGIN ### API Contact Methods ### get_contact_rec_list() ### # ### BEGIN ### API Contact Methods ### get_contact_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_contact_rec_list( def get_contact_rec_list(
for_obj_type: str, for_obj_type: str,
for_obj_id: str, for_obj_id: str,
limit: int = 1000, limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
) -> list|bool: ) -> list|bool:
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass
@@ -80,15 +82,15 @@ def get_contact_rec_list(
data = {} data = {}
data[f'{for_obj_type}_id'] = for_obj_id data[f'{for_obj_type}_id'] = for_obj_id
# data['for_obj_type'] = for_obj_type # data['for_obj_type'] = for_obj_type
sql_obj_type_id = f'`tbl`.{for_obj_type}_id = :{for_obj_type}_id' sql_obj_type_id = f'`contact`.{for_obj_type}_id = :{for_obj_type}_id'
# if enabled in ['enabled', 'disabled', 'all']: # if enabled in ['enabled', 'disabled', 'all']:
# if enabled == 'enabled': # if enabled == 'enabled':
# data['enable'] = True # data['enable'] = True
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `contact`.enable = :enable'
# elif enabled == 'disabled': # elif enabled == 'disabled':
# data['enable'] = False # data['enable'] = False
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `contact`.enable = :enable'
# elif enabled == 'all': # elif enabled == 'all':
# sql_enabled = '' # sql_enabled = ''
sql_enabled = '' sql_enabled = ''
@@ -100,20 +102,21 @@ def get_contact_rec_list(
sql_limit = '' sql_limit = ''
sql = f""" sql = f"""
SELECT `tbl`.id AS 'contact_id', `tbl`.id_random AS 'contact_id_random' SELECT `contact`.id AS 'contact_id', `contact`.id_random AS 'contact_id_random'
FROM `contact` AS `tbl` FROM `contact` AS `contact`
WHERE WHERE
{sql_obj_type_id} {sql_obj_type_id}
{sql_enabled} {sql_enabled}
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `contact`.created_on DESC, `contact`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if contact_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if contact_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
contact_rec_li = contact_rec_li_result contact_rec_li = contact_rec_li_result
else: else: # [] or False
contact_rec_li = [] contact_rec_li = contact_rec_li_result
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(contact_rec_li_result) log.debug(contact_rec_li_result)
return contact_rec_li return contact_rec_li

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.methods.event_badge_template_methods import load_event_badge_template_obj from app.methods.event_badge_template_methods import load_event_badge_template_obj
@@ -13,6 +13,7 @@ from app.models.event_badge_models import Event_Badge_Base
# ### BEGIN ### API Event Badge Methods ### load_event_badge_obj() ### # ### BEGIN ### API Event Badge Methods ### load_event_badge_obj() ###
@logger_reset
def load_event_badge_obj( def load_event_badge_obj(
event_badge_id: int|str, event_badge_id: int|str,
limit: int = 1000, limit: int = 1000,
@@ -22,7 +23,7 @@ def load_event_badge_obj(
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
inc_event_badge_template: bool = False, inc_event_badge_template: bool = False,
) -> Event_Badge_Base|dict|bool: ) -> Event_Badge_Base|dict|bool:
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if event_badge_id := redis_lookup_id_random(record_id_random=event_badge_id, table_name='event_badge'): pass if event_badge_id := redis_lookup_id_random(record_id_random=event_badge_id, table_name='event_badge'): pass
@@ -62,10 +63,11 @@ def load_event_badge_obj(
# ### BEGIN ### API Event Badge Methods ### get_event_badge_template_id_w_event_id() ### # ### BEGIN ### API Event Badge Methods ### get_event_badge_template_id_w_event_id() ###
# Updated 2021-09-14 # Updated 2021-09-14
@logger_reset
def get_event_badge_template_id_w_event_id( def get_event_badge_template_id_w_event_id(
event_id: int|str, event_id: int|str,
) -> bool|int|None: ) -> bool|int|None:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass

View File

@@ -266,12 +266,12 @@ def get_event_location_rec_list(
""" """
log.debug(sql) log.debug(sql)
if event_location_rec_li_result := sql_select(data=data, sql=sql): if event_location_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result') log.info('Got a list result')
event_location_rec_li = event_location_rec_li_result event_location_rec_li = event_location_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong') log.info('No results or something went wrong')
event_location_rec_li = event_location_rec_li_result # [] event_location_rec_li = event_location_rec_li_result
log.debug(event_location_rec_li_result) log.debug(event_location_rec_li_result)

View File

@@ -449,12 +449,12 @@ def get_event_rec_list(
""" """
log.debug(sql) log.debug(sql)
if event_rec_li_result := sql_select(data=data, sql=sql): if event_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result') log.info('Got a list result')
event_rec_li = event_rec_li_result event_rec_li = event_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong') log.info('No results or something went wrong')
event_rec_li = event_rec_li_result # [] event_rec_li = event_rec_li_result
log.debug(event_rec_li_result) log.debug(event_rec_li_result)
@@ -597,9 +597,9 @@ def get_event_meeting_rec_list(
log.info('Got a list result') log.info('Got a list result')
log.debug(event_rec_li_result) log.debug(event_rec_li_result)
event_rec_li = event_rec_li_result event_rec_li = event_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong') log.info('No results or something went wrong')
event_rec_li = event_rec_li_result # [] event_rec_li = event_rec_li_result
log.debug(event_rec_li_result) log.debug(event_rec_li_result)

View File

@@ -230,12 +230,15 @@ def get_event_person_rec_list(
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if event_person_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if event_person_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
event_person_rec_li = event_person_rec_li_result event_person_rec_li = event_person_rec_li_result
else: else: # [] or False
event_person_rec_li = [] log.info('No results or something went wrong')
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL event_person_rec_li = event_person_rec_li_result
log.debug(event_person_rec_li_result) log.debug(event_person_rec_li_result)
return event_person_rec_li return event_person_rec_li

View File

@@ -358,12 +358,12 @@ def get_event_session_rec_list(
""" """
log.debug(sql) log.debug(sql)
if event_session_rec_li_result := sql_select(data=data, sql=sql): if event_session_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result') log.info('Got a list result')
event_session_rec_li = event_session_rec_li_result event_session_rec_li = event_session_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong') log.info('No results or something went wrong')
event_session_rec_li = event_session_rec_li_result # [] event_session_rec_li = event_session_rec_li_result
log.debug(event_session_rec_li_result) log.debug(event_session_rec_li_result)

View File

@@ -365,9 +365,11 @@ def get_order_rec_list(
""" """
log.debug(sql) log.debug(sql)
if order_rec_li_result := sql_select(data=data, sql=sql): if order_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
order_rec_li = order_rec_li_result order_rec_li = order_rec_li_result
else: # None or False else: # [] or False
log.info('No results or something went wrong')
order_rec_li = order_rec_li_result order_rec_li = order_rec_li_result
log.debug(order_rec_li_result) log.debug(order_rec_li_result)

View File

@@ -346,8 +346,10 @@ def get_person_rec_list(
""" """
if person_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if person_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
person_rec_li = person_rec_li_result person_rec_li = person_rec_li_result
else: # None or False else: # None or False
log.info('No results or something went wrong')
person_rec_li = person_rec_li_result person_rec_li = person_rec_li_result
log.debug(person_rec_li_result) log.debug(person_rec_li_result)

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.methods.person_methods import load_person_obj from app.methods.person_methods import load_person_obj
# from app.methods.user_methods import load_user_obj # from app.methods.user_methods import load_user_obj
@@ -14,8 +14,9 @@ from app.models.post_comment_models import Post_Comment_Base
# ### BEGIN ### API Post Comment Methods ### create_post_comment_obj() ### # ### BEGIN ### API Post Comment Methods ### create_post_comment_obj() ###
@logger_reset
def create_post_comment_obj(post_comment_obj_new:Post_Comment_Base): def create_post_comment_obj(post_comment_obj_new:Post_Comment_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if not post_comment_obj_new: if not post_comment_obj_new:
@@ -37,6 +38,7 @@ def create_post_comment_obj(post_comment_obj_new:Post_Comment_Base):
# ### BEGIN ### API Post Comment Methods ### load_post_comment_obj() ### # ### BEGIN ### API Post Comment Methods ### load_post_comment_obj() ###
@logger_reset
def load_post_comment_obj( def load_post_comment_obj(
post_comment_id: int|str, post_comment_id: int|str,
limit: int = 1000, limit: int = 1000,
@@ -47,13 +49,13 @@ def load_post_comment_obj(
inc_person: bool = False, inc_person: bool = False,
inc_user: bool = False, inc_user: bool = False,
) -> Post_Comment_Base|dict|bool: ) -> Post_Comment_Base|dict|bool:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if post_comment_id := redis_lookup_id_random(record_id_random=post_comment_id, table_name='post_comment'): pass if post_comment_id := redis_lookup_id_random(record_id_random=post_comment_id, table_name='post_comment'): pass
else: return False else: return False
if post_comment_rec := sql_select(table_name='v_post_comment_detail', record_id=post_comment_id): if post_comment_rec := sql_select(table_name='v_post_comment', record_id=post_comment_id):
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL #log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(post_comment_rec) log.debug(post_comment_rec)
else: else:
@@ -105,12 +107,13 @@ def load_post_comment_obj(
# ### BEGIN ### API Post Comment Methods ### update_post_comment_obj() ### # ### BEGIN ### API Post Comment Methods ### update_post_comment_obj() ###
@logger_reset
def update_post_comment_obj( def update_post_comment_obj(
post_comment_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value. post_comment_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
post_comment_obj_up: Post_Comment_Base, post_comment_obj_up: Post_Comment_Base,
create_sub_obj: bool = False, create_sub_obj: bool = False,
) -> bool: ) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if post_comment_id := redis_lookup_id_random(record_id_random=post_comment_id, table_name='post_comment'): pass if post_comment_id := redis_lookup_id_random(record_id_random=post_comment_id, table_name='post_comment'): pass
@@ -168,13 +171,15 @@ def update_post_comment_obj(
# ### BEGIN ### API Post Comment Methods ### get_post_comment_rec_list() ### # ### BEGIN ### API Post Comment Methods ### get_post_comment_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_post_comment_rec_list( def get_post_comment_rec_list(
for_obj_type: str, for_obj_type: str,
for_obj_id: str, for_obj_id: str,
limit: int = 1000, limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
) -> list|bool: ) -> list|bool:
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass
@@ -182,15 +187,15 @@ def get_post_comment_rec_list(
data = {} data = {}
data[f'{for_obj_type}_id'] = for_obj_id data[f'{for_obj_type}_id'] = for_obj_id
# data['for_obj_type'] = for_obj_type # data['for_obj_type'] = for_obj_type
sql_obj_type_id = f'`tbl`.{for_obj_type}_id = :{for_obj_type}_id' sql_obj_type_id = f'`post_comment`.{for_obj_type}_id = :{for_obj_type}_id'
# if enabled in ['enabled', 'disabled', 'all']: # if enabled in ['enabled', 'disabled', 'all']:
# if enabled == 'enabled': # if enabled == 'enabled':
# data['enable'] = True # data['enable'] = True
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `post_comment`.enable = :enable'
# elif enabled == 'disabled': # elif enabled == 'disabled':
# data['enable'] = False # data['enable'] = False
# sql_enabled = f'AND `tbl`.enable = :enable' # sql_enabled = f'AND `post_comment`.enable = :enable'
# elif enabled == 'all': # elif enabled == 'all':
# sql_enabled = '' # sql_enabled = ''
sql_enabled = '' sql_enabled = ''
@@ -202,20 +207,23 @@ def get_post_comment_rec_list(
sql_limit = '' sql_limit = ''
sql = f""" sql = f"""
SELECT `tbl`.id AS 'post_comment_id', `tbl`.id_random AS 'post_comment_id_random' SELECT `post_comment`.id AS 'post_comment_id', `post_comment`.id_random AS 'post_comment_id_random'
FROM `post_comment` AS `tbl` FROM `post_comment` AS `post_comment`
WHERE WHERE
{sql_obj_type_id} {sql_obj_type_id}
{sql_enabled} {sql_enabled}
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `post_comment`.created_on DESC, `post_comment`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if post_comment_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if post_comment_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
post_comment_rec_li = post_comment_rec_li_result post_comment_rec_li = post_comment_rec_li_result
else: else: # [] or False
post_comment_rec_li = [] log.info('No results or something went wrong')
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL post_comment_rec_li = post_comment_rec_li_result
log.debug(post_comment_rec_li_result) log.debug(post_comment_rec_li_result)
return post_comment_rec_li return post_comment_rec_li

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator from pydantic import BaseModel, EmailStr, Field, PrivateAttr, ValidationError, validator
from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_update
from app.lib_general import log, logging from app.lib_general import log, logging, logger_reset
from app.methods.person_methods import load_person_obj from app.methods.person_methods import load_person_obj
# from app.methods.post_comment_methods import create_post_comment_obj, update_post_comment_obj # from app.methods.post_comment_methods import create_post_comment_obj, update_post_comment_obj
@@ -16,6 +16,7 @@ from app.models.post_models import Post_Base
# ### BEGIN ### API Post Methods ### create_post_obj() ### # ### BEGIN ### API Post Methods ### create_post_obj() ###
@logger_reset
def create_post_obj(post_obj_new:Post_Base): def create_post_obj(post_obj_new:Post_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
@@ -39,6 +40,7 @@ def create_post_obj(post_obj_new:Post_Base):
# ### BEGIN ### API Post Methods ### load_post_obj() ### # ### BEGIN ### API Post Methods ### load_post_obj() ###
@logger_reset
def load_post_obj( def load_post_obj(
post_id: int|str, post_id: int|str,
limit: int = 1000, limit: int = 1000,
@@ -56,7 +58,7 @@ def load_post_obj(
if post_id := redis_lookup_id_random(record_id_random=post_id, table_name='post'): pass if post_id := redis_lookup_id_random(record_id_random=post_id, table_name='post'): pass
else: return False else: return False
if post_rec := sql_select(table_name='v_post_detail', record_id=post_id): if post_rec := sql_select(table_name='v_post', record_id=post_id):
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL #log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(post_rec) log.debug(post_rec)
else: return False else: return False
@@ -132,6 +134,7 @@ def load_post_obj(
# ### BEGIN ### API Post Methods ### update_post_obj() ### # ### BEGIN ### API Post Methods ### update_post_obj() ###
@logger_reset
def update_post_obj( def update_post_obj(
post_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value. post_id: int|str, # Ideally the int ID should be passed. This allows for updating of the id_random value.
post_obj_up: Post_Base, post_obj_up: Post_Base,
@@ -195,6 +198,8 @@ def update_post_obj(
# ### BEGIN ### API Post Methods ### get_post_rec_list() ### # ### BEGIN ### API Post Methods ### get_post_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_post_rec_list( def get_post_rec_list(
for_obj_type: str, for_obj_type: str,
for_obj_id: str, for_obj_id: str,
@@ -202,7 +207,7 @@ def get_post_rec_list(
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
archive_on: datetime.datetime = None, archive_on: datetime.datetime = None,
) -> list|bool: ) -> list|bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass if for_obj_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass
@@ -210,21 +215,21 @@ def get_post_rec_list(
data = {} data = {}
data[f'{for_obj_type}_id'] = for_obj_id data[f'{for_obj_type}_id'] = for_obj_id
# data['for_obj_type'] = for_obj_type # data['for_obj_type'] = for_obj_type
sql_obj_type_id = f'`tbl`.{for_obj_type}_id = :{for_obj_type}_id' sql_obj_type_id = f'`post`.{for_obj_type}_id = :{for_obj_type}_id'
if enabled in ['enabled', 'disabled', 'all']: if enabled in ['enabled', 'disabled', 'all']:
if enabled == 'enabled': if enabled == 'enabled':
data['enable'] = True data['enable'] = True
sql_enabled = f'AND `tbl`.enable = :enable' sql_enabled = f'AND `post`.enable = :enable'
elif enabled == 'disabled': elif enabled == 'disabled':
data['enable'] = False data['enable'] = False
sql_enabled = f'AND `tbl`.enable = :enable' sql_enabled = f'AND `post`.enable = :enable'
elif enabled == 'all': elif enabled == 'all':
sql_enabled = '' sql_enabled = ''
if archive_on: if archive_on:
data['archive_on'] = archive_on data['archive_on'] = archive_on
sql_archive_on = 'AND tbl.archive_on >= :archive_on' sql_archive_on = 'AND post.archive_on >= :archive_on'
else: else:
sql_archive_on = '' sql_archive_on = ''
@@ -235,21 +240,24 @@ def get_post_rec_list(
sql_limit = '' sql_limit = ''
sql = f""" sql = f"""
SELECT `tbl`.id AS 'post_id', `tbl`.id_random AS 'post_id_random' SELECT `post`.id AS 'post_id', `post`.id_random AS 'post_id_random'
FROM `post` AS `tbl` FROM `post` AS `post`
WHERE WHERE
{sql_obj_type_id} {sql_obj_type_id}
{sql_enabled} {sql_enabled}
{sql_archive_on} {sql_archive_on}
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC ORDER BY `post`.created_on DESC, `post`.updated_on DESC
{sql_limit}; {sql_limit};
""" """
log.debug(sql)
if post_rec_li_result := sql_select(data=data, sql=sql, as_list=True): if post_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
post_rec_li = post_rec_li_result post_rec_li = post_rec_li_result
else: else: # [] or False
post_rec_li = [] log.info('No results or something went wrong')
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL post_rec_li = post_rec_li_result
log.debug(post_rec_li_result) log.debug(post_rec_li_result)
return post_rec_li return post_rec_li

View File

@@ -433,6 +433,7 @@ def load_user_obj(
# ### BEGIN ### API User Methods ### get_user_rec_list() ### # ### BEGIN ### API User Methods ### get_user_rec_list() ###
# Updated 2021-12-13
def get_user_rec_list( def get_user_rec_list(
account_id: int|str, account_id: int|str,
hidden: str = 'not_hidden', # hidden, not_hidden, all hidden: str = 'not_hidden', # hidden, not_hidden, all
@@ -480,10 +481,12 @@ def get_user_rec_list(
""" """
log.debug(sql) log.debug(sql)
if user_rec_li_result := sql_select(data=data, sql=sql): if user_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
log.info('Got a list result')
user_rec_li = user_rec_li_result
else: # [] or False
log.info('No results or something went wrong')
user_rec_li = user_rec_li_result user_rec_li = user_rec_li_result
else: # None or False
user_rec_li = user_rec_li_result # []
log.debug(user_rec_li_result) log.debug(user_rec_li_result)

View File

@@ -154,9 +154,11 @@ async def get_account_obj_activity_log_list(
else: else:
activity_log_result_list.append(None) activity_log_result_list.append(None)
response_data = activity_log_result_list response_data = activity_log_result_list
elif isinstance(activity_log_rec_list_result, list): elif isinstance(activity_log_rec_list_result, list) or activity_log_rec_list_result is None: # Empty list or None
log.info('No results')
return mk_resp(data=False, status_code=404, response=response) # Not Found return mk_resp(data=False, status_code=404, response=response) # Not Found
else: else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data, response=response) return mk_resp(data=response_data, response=response)

View File

@@ -111,8 +111,8 @@ obj_type_li['order_line'] = {'table_name': 'v_order_line', 'base_name': Order_Li
obj_type_li['organization'] = {'table_name': 'v_organization', 'base_name': Organization_Base} obj_type_li['organization'] = {'table_name': 'v_organization', 'base_name': Organization_Base}
obj_type_li['page'] = {'table_name': 'page', 'base_name': Page_Base} obj_type_li['page'] = {'table_name': 'page', 'base_name': Page_Base}
obj_type_li['person'] = {'table_name': 'v_person', 'base_name': Person_Base} obj_type_li['person'] = {'table_name': 'v_person', 'base_name': Person_Base}
obj_type_li['post'] = {'table_name': 'v_post_detail', 'base_name': Post_Base} # NOTE check view name: *_detail? obj_type_li['post'] = {'table_name': 'v_post', 'base_name': Post_Base} # NOTE check view name: *_detail?
obj_type_li['post_comment'] = {'table_name': 'v_post_comment_detail', 'base_name': Post_Comment_Base} # NOTE check view name: *_detail? obj_type_li['post_comment'] = {'table_name': 'v_post_comment', 'base_name': Post_Comment_Base} # NOTE check view name: *_detail?
obj_type_li['product'] = {'table_name': 'v_product', 'base_name': Product_Base} obj_type_li['product'] = {'table_name': 'v_product', 'base_name': Product_Base}
obj_type_li['site'] = {'table_name': 'site', 'base_name': Site_Base} obj_type_li['site'] = {'table_name': 'site', 'base_name': Site_Base}
obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'base_name': Site_Domain_Base} # NOTE check view name: *_detail? obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'base_name': Site_Domain_Base} # NOTE check view name: *_detail?

View File

@@ -399,7 +399,7 @@ async def get_person_obj_cont_edu_cert_person_list(
else: else:
cont_edu_cert_person_result_list.append(None) cont_edu_cert_person_result_list.append(None)
response_data = cont_edu_cert_person_result_list response_data = cont_edu_cert_person_result_list
elif cont_edu_cert_person_rec_list_result is None: elif isinstance(cont_edu_cert_person_rec_list_result, list) or cont_edu_cert_person_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:

View File

@@ -404,7 +404,7 @@ async def get_account_obj_event_list(
else: else:
event_result_list.append(None) event_result_list.append(None)
response_data = event_result_list response_data = event_result_list
elif event_rec_list_result is None: elif isinstance(event_rec_list_result, list) or event_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:
@@ -412,6 +412,7 @@ async def get_account_obj_event_list(
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
log.debug(response_data) log.debug(response_data)
return mk_resp(data=response_data, response=response) return mk_resp(data=response_data, response=response)
# ### END ### API Event ### get_account_obj_event_list() ### # ### END ### API Event ### get_account_obj_event_list() ###
@@ -454,7 +455,7 @@ async def get_account_obj_event_meeting_list_flat(
continue continue
event_result_list.append(event_obj) event_result_list.append(event_obj)
response_data = event_result_list response_data = event_result_list
elif event_meeting_rec_list_result is None: elif isinstance(event_meeting_rec_list_result, list) or event_meeting_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:
@@ -462,6 +463,7 @@ async def get_account_obj_event_meeting_list_flat(
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
log.debug(response_data) log.debug(response_data)
return mk_resp(data=response_data, response=response) return mk_resp(data=response_data, response=response)
# ### END ### API Event ### get_account_obj_event_list() ### # ### END ### API Event ### get_account_obj_event_list() ###
@@ -532,6 +534,8 @@ async def get_person_event_obj_li(
log.warning('Likely bad request') log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
log.debug(response_data)
return mk_resp(data=response_data, response=response) return mk_resp(data=response_data, response=response)
# ### END ### API Event Methods ### get_person_event_obj_li() ### # ### END ### API Event Methods ### get_person_event_obj_li() ###

View File

@@ -170,7 +170,7 @@ async def get_event_obj_event_location_list(
else: else:
event_location_result_list.append(None) event_location_result_list.append(None)
response_data = event_location_result_list response_data = event_location_result_list
elif event_location_rec_list_result is None: elif isinstance(event_location_rec_list_result, list) or event_location_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:

View File

@@ -603,7 +603,7 @@ async def get_event_event_session_obj_li(
else: else:
event_session_result_list.append(None) event_session_result_list.append(None)
response_data = event_session_result_list response_data = event_session_result_list
elif event_session_rec_list_result is None: elif isinstance(event_session_rec_list_result, list) or event_session_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=False, status_code=404, response=response) # Not Found return mk_resp(data=False, status_code=404, response=response) # Not Found
else: else:

View File

@@ -18,24 +18,24 @@ from app.models.response_models import Resp_Body_Base, mk_resp
router = APIRouter() router = APIRouter()
# ### BEGIN ### API Lookup ### get_lookup_li() ###
@router.get('/{for_lookup_name}/list', response_model=Resp_Body_Base) @router.get('/{for_lookup_name}/list', response_model=Resp_Body_Base)
async def get_lookup_li( async def get_lookup_li(
for_lookup_name: Optional[str] = Query(None, min_length=2, max_length=50), for_lookup_name: Optional[str] = Query(None, min_length=2, max_length=50),
account_id: Optional[str] = Query(None, min_length=2, max_length=50), account_id: Optional[str] = Query(None, min_length=11, max_length=50),
for_type: Optional[str] = Query(None, min_length=2, max_length=50), for_type: Optional[str] = Query(None, min_length=2, max_length=50),
inc_admin_options: bool = False, inc_admin_options: bool = False,
limit: int = 1000, limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
response: Response = Response, response: Response = Response,
): ):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
allowed_lookup_tables = ['country', 'country_subdivision', 'education_degree', 'education_level', 'event_session_type', 'file_purpose', 'membership_group_status', 'membership_person_status', 'membership_type_status', 'order_status', 'post_topic', 'product_type', 'time_zone', 'user_status'] allowed_lookup_tables = ['country', 'country_subdivision', 'education_degree', 'education_level', 'event_session_type', 'file_purpose', 'membership_group_status', 'membership_person_status', 'membership_type_status', 'order_status', 'post_topic', 'product_type', 'time_zone', 'user_status']
if for_lookup_name in allowed_lookup_tables: pass if for_lookup_name in allowed_lookup_tables: pass
else: else: return mk_resp(data=False, status_code=400, response=response) # Bad Request (not in allowed list)
return mk_resp(data=False, status_code=400, response=response)
if for_lookup_name == 'post_topic': if for_lookup_name == 'post_topic':
if lu_post_topic_rec_list_result := get_lu_post_topic_rec_list( if lu_post_topic_rec_list_result := get_lu_post_topic_rec_list(
@@ -46,48 +46,64 @@ async def get_lookup_li(
enabled = enabled, enabled = enabled,
): ):
response_data = lu_post_topic_rec_list_result response_data = lu_post_topic_rec_list_result
elif isinstance(lu_post_topic_rec_list_result, list) or lu_post_topic_rec_list_result is None: # Empty list or None
log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
elif for_lookup_name == 'time_zone': elif for_lookup_name == 'time_zone':
table_name = f'v_lu_{for_lookup_name}' table_name = f'v_lu_{for_lookup_name}'
lu_time_zone_result = sql_select(table_name=table_name) if lu_time_zone_result := sql_select(table_name=table_name):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(lu_time_zone_result)
log.debug(lu_time_zone_result) log.debug(type(lu_time_zone_result))
log.debug(type(lu_time_zone_result)) # lu_time_zone_result = lu_time_zone_result[0:50]
# lu_time_zone_result = lu_time_zone_result[0:50] # fake_li = []
# fake_li = [] # import secrets
# import secrets # for time_zone in lu_time_zone_result:
# for time_zone in lu_time_zone_result: # fake = {}
# fake = {} # # fake['id'] = time_zone['id']
# # fake['id'] = time_zone['id'] # # fake['name'] = time_zone['name']
# # fake['name'] = time_zone['name'] # fake['xxx'] = secrets.token_urlsafe(8)
# fake['xxx'] = secrets.token_urlsafe(8) # fake['yyy'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8) # fake_li.append(fake)
# fake_li.append(fake) # # time_zone['name'] = 'asdf'
# # time_zone['name'] = 'asdf' response_data = lu_time_zone_result
response_data = lu_time_zone_result # response_data = fake_li
# response_data = fake_li elif isinstance(lu_time_zone_result, list) or lu_time_zone_result is None: # Empty list or None
log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request
else: else:
table_name = f'lu_{for_lookup_name}' table_name = f'lu_{for_lookup_name}'
lu_list_result = sql_select(table_name=table_name) if lu_list_result := sql_select(table_name=table_name):
response_data = lu_list_result response_data = lu_list_result
# fake_li = [] # fake_li = []
# import secrets # import secrets
# for list_item in lu_list_result: # for list_item in lu_list_result:
# fake = {} # fake = {}
# # fake['id'] = time_zone['id'] # # fake['id'] = time_zone['id']
# # fake['name'] = time_zone['name'] # # fake['name'] = time_zone['name']
# fake['xxx'] = secrets.token_urlsafe(8) # fake['xxx'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8) # fake['yyy'] = secrets.token_urlsafe(8)
# fake_li.append(fake) # fake_li.append(fake)
# response_data = fake_li # response_data = fake_li
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(response_data) log.debug(response_data)
response_data = response_data response_data = response_data
elif isinstance(lu_list_result, list) or lu_list_result is None: # Empty list or None
log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(response_data) log.debug(response_data)
return mk_resp(data=response_data) return mk_resp(data=response_data)
# ### END ### API Lookup ### get_lookup_li() ###

View File

@@ -211,7 +211,7 @@ async def get_order_obj(
# ### BEGIN ### API Order ### get_obj_id_order_list() ### # ### BEGIN ### API Order ### get_obj_id_order_list() ###
# Updated 2021-11-19 # Updated 2021-12-13
@router.get('/{obj_type}/{obj_id}/order/list', response_model=Resp_Body_Base) @router.get('/{obj_type}/{obj_id}/order/list', response_model=Resp_Body_Base)
async def get_obj_id_order_list( async def get_obj_id_order_list(
obj_type: str = Query(..., min_length=4, max_length=25), # Expects account or person obj_type: str = Query(..., min_length=4, max_length=25), # Expects account or person
@@ -266,7 +266,7 @@ async def get_obj_id_order_list(
else: else:
order_result_list.append(None) order_result_list.append(None)
response_data = order_result_list response_data = order_result_list
elif order_rec_list_result is None: elif isinstance(order_rec_list_result, list) or order_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=None, status_code=404, response=response) # Not Found return mk_resp(data=None, status_code=404, response=response) # Not Found
else: else:
@@ -277,118 +277,118 @@ async def get_obj_id_order_list(
# ### END ### API Order ### get_obj_id_order_list() ### # ### END ### API Order ### get_obj_id_order_list() ###
# ### BEGIN ### API Order ### get_account_obj_order_list() ### # # ### BEGIN ### API Order ### get_account_obj_order_list() ###
# Updated 2021-11-19 # # Updated 2021-11-19
@router.get('/account/{account_id}/order/list', response_model=Resp_Body_Base) # @router.get('/account/{account_id}/order/list', response_model=Resp_Body_Base)
async def get_account_id_order_list( # async def get_account_id_order_list(
account_id: str = Query(..., min_length=11, max_length=22), # account_id: str = Query(..., min_length=11, max_length=22),
limit: int = 50, # limit: int = 50,
enabled: str = 'enabled', # enabled: str = 'enabled',
from_datetime: datetime.datetime = None, # from_datetime: datetime.datetime = None,
to_datetime: datetime.datetime = None, # to_datetime: datetime.datetime = None,
inc_order_cfg: bool = False, # inc_order_cfg: bool = False,
inc_order_line_list: bool = False, # inc_order_line_list: bool = False,
# inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc # # inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other # status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
x_account_id: str = Header(...), # x_account_id: str = Header(...),
by_alias: Optional[bool] = True, # by_alias: Optional[bool] = True,
exclude_unset: Optional[bool] = True, # exclude_unset: Optional[bool] = True,
response: Response = Response, # response: Response = Response,
): # ):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) # log.debug(locals())
if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass # if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass
else: return mk_resp(data=None, status_code=404, response=response) # else: return mk_resp(data=None, status_code=404, response=response)
# Updated 2021-06-28 # # Updated 2021-06-28
if order_rec_list_result := get_order_rec_list( # if order_rec_list_result := get_order_rec_list(
for_obj_type = 'account', # for_obj_type = 'account',
for_obj_id = account_id, # for_obj_id = account_id,
limit = limit, # limit = limit,
enabled = enabled, # enabled = enabled,
from_datetime = from_datetime, # from_datetime = from_datetime,
to_datetime = to_datetime, # to_datetime = to_datetime,
status = status, # status = status,
): # ):
order_result_list = [] # order_result_list = []
for order_rec in order_rec_list_result: # for order_rec in order_rec_list_result:
if load_order_result := load_order_obj( # if load_order_result := load_order_obj(
order_id = order_rec.get('order_id', None), # order_id = order_rec.get('order_id', None),
limit = limit, # limit = limit,
enabled = enabled, # enabled = enabled,
by_alias = by_alias, # by_alias = by_alias,
exclude_unset = exclude_unset, # exclude_unset = exclude_unset,
# model_as_dict = model_as_dict, # # model_as_dict = model_as_dict,
inc_order_cfg = inc_order_cfg, # inc_order_cfg = inc_order_cfg,
inc_order_line_list = inc_order_line_list, # inc_order_line_list = inc_order_line_list,
): # ):
order_result_list.append(load_order_result) # order_result_list.append(load_order_result)
else: # else:
order_result_list.append(None) # order_result_list.append(None)
response_data = order_result_list # response_data = order_result_list
else: # else:
return mk_resp(data=False, status_code=400, response=response) # Bad Request # return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data) # return mk_resp(data=response_data)
# ### END ### API Order ### get_account_obj_order_list() ### # # ### END ### API Order ### get_account_obj_order_list() ###
# ### BEGIN ### API Order ### get_person_obj_order_list() ### # # ### BEGIN ### API Order ### get_person_obj_order_list() ###
# Updated 2021-11-19 # # Updated 2021-11-19
@router.get('/person/{person_id}/order/list', response_model=Resp_Body_Base) # @router.get('/person/{person_id}/order/list', response_model=Resp_Body_Base)
async def get_person_id_order_list( # async def get_person_id_order_list(
person_id: str = Query(..., min_length=11, max_length=22), # person_id: str = Query(..., min_length=11, max_length=22),
limit: int = 50, # limit: int = 50,
enabled: str = 'enabled', # enabled: str = 'enabled',
from_datetime: datetime.datetime = None, # from_datetime: datetime.datetime = None,
to_datetime: datetime.datetime = None, # to_datetime: datetime.datetime = None,
inc_order_cfg: bool = False, # inc_order_cfg: bool = False,
inc_order_line_list: bool = False, # inc_order_line_list: bool = False,
# inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc # # inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other # status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
x_account_id: str = Header(...), # x_account_id: str = Header(...),
by_alias: Optional[bool] = True, # by_alias: Optional[bool] = True,
exclude_unset: Optional[bool] = True, # exclude_unset: Optional[bool] = True,
response: Response = Response, # response: Response = Response,
): # ):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL # log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) # log.debug(locals())
if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass # if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass
else: return mk_resp(data=None, status_code=404, response=response) # else: return mk_resp(data=None, status_code=404, response=response)
# Updated 2021-06-28 # # Updated 2021-06-28
if order_rec_list_result := get_order_rec_list( # if order_rec_list_result := get_order_rec_list(
for_obj_type = 'person', # for_obj_type = 'person',
for_obj_id = person_id, # for_obj_id = person_id,
limit = limit, # limit = limit,
enabled = enabled, # enabled = enabled,
from_datetime = from_datetime, # from_datetime = from_datetime,
to_datetime = to_datetime, # to_datetime = to_datetime,
status = status, # status = status,
): # ):
order_result_list = [] # order_result_list = []
for order_rec in order_rec_list_result: # for order_rec in order_rec_list_result:
if load_order_result := load_order_obj( # if load_order_result := load_order_obj(
order_id = order_rec.get('order_id', None), # order_id = order_rec.get('order_id', None),
limit = limit, # limit = limit,
enabled = enabled, # enabled = enabled,
by_alias = by_alias, # by_alias = by_alias,
exclude_unset = exclude_unset, # exclude_unset = exclude_unset,
# model_as_dict = model_as_dict, # # model_as_dict = model_as_dict,
inc_order_cfg = inc_order_cfg, # inc_order_cfg = inc_order_cfg,
inc_order_line_list = inc_order_line_list, # inc_order_line_list = inc_order_line_list,
): # ):
order_result_list.append(load_order_result) # order_result_list.append(load_order_result)
else: # else:
order_result_list.append(None) # order_result_list.append(None)
response_data = order_result_list # response_data = order_result_list
else: # else:
return mk_resp(data=False, status_code=400, response=response) # Bad Request # return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data) # return mk_resp(data=response_data)
# ### END ### API Order ### get_person_obj_order_list() ### # # ### END ### API Order ### get_person_obj_order_list() ###
# ### BEGIN ### API Order ### get_person_id_order_cart() ### # ### BEGIN ### API Order ### get_person_id_order_cart() ###

View File

@@ -95,7 +95,7 @@ async def get_post_obj_li(
# ### BEGIN ### API Post ### get_account_obj_post_list() ### # ### BEGIN ### API Post ### get_account_obj_post_list() ###
# Working well as of 2021-06-28. Using as a template for other routes. # Updated 2021-12-13
@router.get('/account/{account_id}/post/list', response_model=Resp_Body_Base) @router.get('/account/{account_id}/post/list', response_model=Resp_Body_Base)
async def get_account_obj_post_list( async def get_account_obj_post_list(
account_id: str = Query(..., min_length=1, max_length=22), account_id: str = Query(..., min_length=1, max_length=22),
@@ -122,7 +122,7 @@ async def get_account_obj_post_list(
response_data = None response_data = None
# Updated 2021-06-28 # Updated 2021-12-13
if post_rec_list_result := get_post_rec_list( if post_rec_list_result := get_post_rec_list(
for_obj_type = 'account', for_obj_type = 'account',
for_obj_id = account_id, for_obj_id = account_id,
@@ -133,14 +133,11 @@ async def get_account_obj_post_list(
post_result_list = [] post_result_list = []
for post_rec in post_rec_list_result: for post_rec in post_rec_list_result:
if load_post_result := load_post_obj( if load_post_result := load_post_obj(
post_id = post_rec.get('post_id', None), post_id = post_rec.get('post_id'),
limit = limit, limit = limit,
by_alias = by_alias, by_alias = by_alias,
exclude_unset = exclude_unset, exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
enabled = enabled, enabled = enabled,
# inc_address = inc_address,
# inc_contact = inc_contact,
inc_person = inc_person, inc_person = inc_person,
inc_post_comment_list = inc_post_comment_list, inc_post_comment_list = inc_post_comment_list,
inc_user = inc_user, inc_user = inc_user,
@@ -149,7 +146,11 @@ async def get_account_obj_post_list(
else: else:
post_result_list.append(None) post_result_list.append(None)
response_data = post_result_list response_data = post_result_list
elif isinstance(post_rec_list_result, list) or post_rec_list_result is None: # Empty list or None
log.info('No results')
return mk_resp(data=False, status_code=404, response=response) # Not Found
else: else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data) return mk_resp(data=response_data)

View File

@@ -520,7 +520,7 @@ async def get_account_user_obj_li(
else: else:
user_result_list.append(None) user_result_list.append(None)
response_data = user_result_list response_data = user_result_list
elif user_rec_list_result is None: elif isinstance(user_rec_list_result, list) or user_rec_list_result is None: # Empty list or None
log.info('No results') log.info('No results')
return mk_resp(data=False, status_code=404, response=response) # Not Found return mk_resp(data=False, status_code=404, response=response) # Not Found
else: else: