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
else:
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)
return None # Successful
return [] # Successful
else:
log.info('No records found. Returning None.')
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 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
@@ -13,6 +13,7 @@ from app.models.account_cfg_models import Account_Cfg_Base
# ### BEGIN ### API Account Cfg Methods ### load_account_cfg_obj() ###
@logger_reset
def load_account_cfg_obj(
account_id: int|str,
model_as_dict: bool = False,
@@ -20,7 +21,7 @@ def load_account_cfg_obj(
inc_fundraising_cfg: bool = False,
inc_membership_cfg: bool = False,
) -> 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())
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() ###
# Updated 2021-09-28
# Updated 2021-12-13
def get_account_rec_list(
limit: int = 25,
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
{sql_limit};
"""
log.debug(sql)
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
else:
account_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
log.info('No results or something went wrong')
account_rec_li = account_rec_li_result
log.debug(account_rec_li_result)
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 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
@@ -43,6 +43,8 @@ def load_activity_log_obj(
# ### BEGIN ### API Activity Log Methods ### get_activity_log_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_activity_log_rec_list(
account_id: str,
from_datetime: datetime.datetime = None,
@@ -50,7 +52,7 @@ def get_activity_log_rec_list(
limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all
) -> 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())
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):
activity_log_rec_li = activity_log_rec_li_result
else:
activity_log_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
activity_log_rec_li = activity_log_rec_li_result
log.debug(activity_log_rec_li_result)
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
{sql_limit};
"""
log.debug(sql)
if archive_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
archive_rec_li = archive_rec_li_result
else:
archive_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
archive_rec_li = archive_rec_li_result
log.debug(archive_rec_li_result)
return archive_rec_li

View File

@@ -134,12 +134,12 @@ def get_cont_edu_cert_person_rec_list(
"""
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')
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')
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)

View File

@@ -5,7 +5,7 @@ from typing import Dict, List, Optional, Set, Union
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.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
@@ -66,13 +66,15 @@ def load_contact_obj(
# ### BEGIN ### API Contact Methods ### get_contact_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_contact_rec_list(
for_obj_type: str,
for_obj_id: str,
limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all
) -> 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())
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[f'{for_obj_type}_id'] = for_obj_id
# 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 == 'enabled':
# data['enable'] = True
# sql_enabled = f'AND `tbl`.enable = :enable'
# sql_enabled = f'AND `contact`.enable = :enable'
# elif enabled == 'disabled':
# data['enable'] = False
# sql_enabled = f'AND `tbl`.enable = :enable'
# sql_enabled = f'AND `contact`.enable = :enable'
# elif enabled == 'all':
# sql_enabled = ''
sql_enabled = ''
@@ -100,20 +102,21 @@ def get_contact_rec_list(
sql_limit = ''
sql = f"""
SELECT `tbl`.id AS 'contact_id', `tbl`.id_random AS 'contact_id_random'
FROM `contact` AS `tbl`
SELECT `contact`.id AS 'contact_id', `contact`.id_random AS 'contact_id_random'
FROM `contact` AS `contact`
WHERE
{sql_obj_type_id}
{sql_enabled}
ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC
ORDER BY `contact`.created_on DESC, `contact`.updated_on DESC
{sql_limit};
"""
log.debug(sql)
if contact_rec_li_result := sql_select(data=data, sql=sql, as_list=True):
contact_rec_li = contact_rec_li_result
else:
contact_rec_li = []
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
contact_rec_li = contact_rec_li_result
log.debug(contact_rec_li_result)
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 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
@@ -13,6 +13,7 @@ from app.models.event_badge_models import Event_Badge_Base
# ### BEGIN ### API Event Badge Methods ### load_event_badge_obj() ###
@logger_reset
def load_event_badge_obj(
event_badge_id: int|str,
limit: int = 1000,
@@ -22,7 +23,7 @@ def load_event_badge_obj(
enabled: str = 'enabled', # enabled, disabled, all
inc_event_badge_template: bool = False,
) -> 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())
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() ###
# Updated 2021-09-14
@logger_reset
def get_event_badge_template_id_w_event_id(
event_id: int|str,
) -> 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())
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)
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')
event_location_rec_li = event_location_rec_li_result
else: # None or False
else: # [] or False
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)

View File

@@ -449,12 +449,12 @@ def get_event_rec_list(
"""
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')
event_rec_li = event_rec_li_result
else: # None or False
else: # [] or False
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)
@@ -597,9 +597,9 @@ def get_event_meeting_rec_list(
log.info('Got a list result')
log.debug(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')
event_rec_li = event_rec_li_result # []
event_rec_li = 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
{sql_limit};
"""
log.debug(sql)
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
else:
event_person_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
log.info('No results or something went wrong')
event_person_rec_li = event_person_rec_li_result
log.debug(event_person_rec_li_result)
return event_person_rec_li

View File

@@ -358,12 +358,12 @@ def get_event_session_rec_list(
"""
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')
event_session_rec_li = event_session_rec_li_result
else: # None or False
else: # [] or False
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)

View File

@@ -365,9 +365,11 @@ def get_order_rec_list(
"""
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
else: # None or False
else: # [] or False
log.info('No results or something went wrong')
order_rec_li = 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):
log.info('Got a list result')
person_rec_li = person_rec_li_result
else: # None or False
log.info('No results or something went wrong')
person_rec_li = 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 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.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() ###
@logger_reset
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())
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() ###
@logger_reset
def load_post_comment_obj(
post_comment_id: int|str,
limit: int = 1000,
@@ -47,13 +49,13 @@ def load_post_comment_obj(
inc_person: bool = False,
inc_user: bool = False,
) -> 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())
if post_comment_id := redis_lookup_id_random(record_id_random=post_comment_id, table_name='post_comment'): pass
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.debug(post_comment_rec)
else:
@@ -105,12 +107,13 @@ def load_post_comment_obj(
# ### BEGIN ### API Post Comment Methods ### update_post_comment_obj() ###
@logger_reset
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_obj_up: Post_Comment_Base,
create_sub_obj: bool = False,
) -> bool:
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
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() ###
# Updated 2021-12-13
@logger_reset
def get_post_comment_rec_list(
for_obj_type: str,
for_obj_id: str,
limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all
) -> 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())
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[f'{for_obj_type}_id'] = for_obj_id
# 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 == 'enabled':
# data['enable'] = True
# sql_enabled = f'AND `tbl`.enable = :enable'
# sql_enabled = f'AND `post_comment`.enable = :enable'
# elif enabled == 'disabled':
# data['enable'] = False
# sql_enabled = f'AND `tbl`.enable = :enable'
# sql_enabled = f'AND `post_comment`.enable = :enable'
# elif enabled == 'all':
# sql_enabled = ''
sql_enabled = ''
@@ -202,20 +207,23 @@ def get_post_comment_rec_list(
sql_limit = ''
sql = f"""
SELECT `tbl`.id AS 'post_comment_id', `tbl`.id_random AS 'post_comment_id_random'
FROM `post_comment` AS `tbl`
SELECT `post_comment`.id AS 'post_comment_id', `post_comment`.id_random AS 'post_comment_id_random'
FROM `post_comment` AS `post_comment`
WHERE
{sql_obj_type_id}
{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};
"""
log.debug(sql)
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
else:
post_comment_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
log.info('No results or something went wrong')
post_comment_rec_li = post_comment_rec_li_result
log.debug(post_comment_rec_li_result)
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 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.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() ###
@logger_reset
def create_post_obj(post_obj_new:Post_Base):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
@@ -39,6 +40,7 @@ def create_post_obj(post_obj_new:Post_Base):
# ### BEGIN ### API Post Methods ### load_post_obj() ###
@logger_reset
def load_post_obj(
post_id: int|str,
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
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.debug(post_rec)
else: return False
@@ -132,6 +134,7 @@ def load_post_obj(
# ### BEGIN ### API Post Methods ### update_post_obj() ###
@logger_reset
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_obj_up: Post_Base,
@@ -195,6 +198,8 @@ def update_post_obj(
# ### BEGIN ### API Post Methods ### get_post_rec_list() ###
# Updated 2021-12-13
@logger_reset
def get_post_rec_list(
for_obj_type: str,
for_obj_id: str,
@@ -202,7 +207,7 @@ def get_post_rec_list(
enabled: str = 'enabled', # enabled, disabled, all
archive_on: datetime.datetime = None,
) -> 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())
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[f'{for_obj_type}_id'] = for_obj_id
# 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 == 'enabled':
data['enable'] = True
sql_enabled = f'AND `tbl`.enable = :enable'
sql_enabled = f'AND `post`.enable = :enable'
elif enabled == 'disabled':
data['enable'] = False
sql_enabled = f'AND `tbl`.enable = :enable'
sql_enabled = f'AND `post`.enable = :enable'
elif enabled == 'all':
sql_enabled = ''
if 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:
sql_archive_on = ''
@@ -235,21 +240,24 @@ def get_post_rec_list(
sql_limit = ''
sql = f"""
SELECT `tbl`.id AS 'post_id', `tbl`.id_random AS 'post_id_random'
FROM `post` AS `tbl`
SELECT `post`.id AS 'post_id', `post`.id_random AS 'post_id_random'
FROM `post` AS `post`
WHERE
{sql_obj_type_id}
{sql_enabled}
{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};
"""
log.debug(sql)
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
else:
post_rec_li = []
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
else: # [] or False
log.info('No results or something went wrong')
post_rec_li = post_rec_li_result
log.debug(post_rec_li_result)
return post_rec_li

View File

@@ -433,6 +433,7 @@ def load_user_obj(
# ### BEGIN ### API User Methods ### get_user_rec_list() ###
# Updated 2021-12-13
def get_user_rec_list(
account_id: int|str,
hidden: str = 'not_hidden', # hidden, not_hidden, all
@@ -480,10 +481,12 @@ def get_user_rec_list(
"""
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
else: # None or False
user_rec_li = 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:
activity_log_result_list.append(None)
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
else:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request
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['page'] = {'table_name': 'page', 'base_name': Page_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_comment'] = {'table_name': 'v_post_comment_detail', 'base_name': Post_Comment_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', '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['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?

View File

@@ -399,7 +399,7 @@ async def get_person_obj_cont_edu_cert_person_list(
else:
cont_edu_cert_person_result_list.append(None)
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')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:

View File

@@ -404,7 +404,7 @@ async def get_account_obj_event_list(
else:
event_result_list.append(None)
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')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:
@@ -412,6 +412,7 @@ async def get_account_obj_event_list(
return mk_resp(data=False, status_code=400, response=response) # Bad Request
log.debug(response_data)
return mk_resp(data=response_data, response=response)
# ### END ### API Event ### get_account_obj_event_list() ###
@@ -454,7 +455,7 @@ async def get_account_obj_event_meeting_list_flat(
continue
event_result_list.append(event_obj)
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')
return mk_resp(data=None, status_code=404, response=response) # Not Found
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
log.debug(response_data)
return mk_resp(data=response_data, response=response)
# ### END ### API Event ### get_account_obj_event_list() ###
@@ -532,6 +534,8 @@ async def get_person_event_obj_li(
log.warning('Likely 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)
# ### END ### API Event Methods ### get_person_event_obj_li() ###

View File

@@ -170,7 +170,7 @@ async def get_event_obj_event_location_list(
else:
event_location_result_list.append(None)
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')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:

View File

@@ -603,7 +603,7 @@ async def get_event_event_session_obj_li(
else:
event_session_result_list.append(None)
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')
return mk_resp(data=False, status_code=404, response=response) # Not Found
else:

View File

@@ -18,24 +18,24 @@ from app.models.response_models import Resp_Body_Base, mk_resp
router = APIRouter()
# ### BEGIN ### API Lookup ### get_lookup_li() ###
@router.get('/{for_lookup_name}/list', response_model=Resp_Body_Base)
async def get_lookup_li(
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),
inc_admin_options: bool = False,
limit: int = 1000,
enabled: str = 'enabled', # enabled, disabled, all
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())
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
else:
return mk_resp(data=False, status_code=400, response=response)
else: return mk_resp(data=False, status_code=400, response=response) # Bad Request (not in allowed list)
if for_lookup_name == 'post_topic':
if lu_post_topic_rec_list_result := get_lu_post_topic_rec_list(
@@ -46,48 +46,64 @@ async def get_lookup_li(
enabled = enabled,
):
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:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request
elif for_lookup_name == 'time_zone':
table_name = f'v_lu_{for_lookup_name}'
lu_time_zone_result = sql_select(table_name=table_name)
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(lu_time_zone_result)
log.debug(type(lu_time_zone_result))
# lu_time_zone_result = lu_time_zone_result[0:50]
# fake_li = []
# import secrets
# for time_zone in lu_time_zone_result:
# fake = {}
# # fake['id'] = time_zone['id']
# # fake['name'] = time_zone['name']
# fake['xxx'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8)
# fake_li.append(fake)
# # time_zone['name'] = 'asdf'
response_data = lu_time_zone_result
# response_data = fake_li
if lu_time_zone_result := sql_select(table_name=table_name):
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(lu_time_zone_result)
log.debug(type(lu_time_zone_result))
# lu_time_zone_result = lu_time_zone_result[0:50]
# fake_li = []
# import secrets
# for time_zone in lu_time_zone_result:
# fake = {}
# # fake['id'] = time_zone['id']
# # fake['name'] = time_zone['name']
# fake['xxx'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8)
# fake_li.append(fake)
# # time_zone['name'] = 'asdf'
response_data = lu_time_zone_result
# 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:
table_name = f'lu_{for_lookup_name}'
lu_list_result = sql_select(table_name=table_name)
response_data = lu_list_result
if lu_list_result := sql_select(table_name=table_name):
response_data = lu_list_result
# fake_li = []
# import secrets
# for list_item in lu_list_result:
# fake = {}
# # fake['id'] = time_zone['id']
# # fake['name'] = time_zone['name']
# fake['xxx'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8)
# fake_li.append(fake)
# response_data = fake_li
# fake_li = []
# import secrets
# for list_item in lu_list_result:
# fake = {}
# # fake['id'] = time_zone['id']
# # fake['name'] = time_zone['name']
# fake['xxx'] = secrets.token_urlsafe(8)
# fake['yyy'] = secrets.token_urlsafe(8)
# fake_li.append(fake)
# response_data = fake_li
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(response_data)
response_data = response_data
# log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(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)
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() ###
# Updated 2021-11-19
# Updated 2021-12-13
@router.get('/{obj_type}/{obj_id}/order/list', response_model=Resp_Body_Base)
async def get_obj_id_order_list(
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:
order_result_list.append(None)
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')
return mk_resp(data=None, status_code=404, response=response) # Not Found
else:
@@ -277,118 +277,118 @@ async def get_obj_id_order_list(
# ### END ### API Order ### get_obj_id_order_list() ###
# ### BEGIN ### API Order ### get_account_obj_order_list() ###
# Updated 2021-11-19
@router.get('/account/{account_id}/order/list', response_model=Resp_Body_Base)
async def get_account_id_order_list(
account_id: str = Query(..., min_length=11, max_length=22),
limit: int = 50,
enabled: str = 'enabled',
from_datetime: datetime.datetime = None,
to_datetime: datetime.datetime = None,
inc_order_cfg: bool = False,
inc_order_line_list: bool = False,
# inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
x_account_id: str = Header(...),
by_alias: Optional[bool] = True,
exclude_unset: Optional[bool] = True,
response: Response = Response,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
# # ### BEGIN ### API Order ### get_account_obj_order_list() ###
# # Updated 2021-11-19
# @router.get('/account/{account_id}/order/list', response_model=Resp_Body_Base)
# async def get_account_id_order_list(
# account_id: str = Query(..., min_length=11, max_length=22),
# limit: int = 50,
# enabled: str = 'enabled',
# from_datetime: datetime.datetime = None,
# to_datetime: datetime.datetime = None,
# inc_order_cfg: bool = False,
# inc_order_line_list: bool = False,
# # inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
# status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
# x_account_id: str = Header(...),
# by_alias: Optional[bool] = True,
# exclude_unset: Optional[bool] = True,
# response: Response = Response,
# ):
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(locals())
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)
# 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)
# Updated 2021-06-28
if order_rec_list_result := get_order_rec_list(
for_obj_type = 'account',
for_obj_id = account_id,
limit = limit,
enabled = enabled,
from_datetime = from_datetime,
to_datetime = to_datetime,
status = status,
):
order_result_list = []
for order_rec in order_rec_list_result:
if load_order_result := load_order_obj(
order_id = order_rec.get('order_id', None),
limit = limit,
enabled = enabled,
by_alias = by_alias,
exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
inc_order_cfg = inc_order_cfg,
inc_order_line_list = inc_order_line_list,
):
order_result_list.append(load_order_result)
else:
order_result_list.append(None)
response_data = order_result_list
else:
return mk_resp(data=False, status_code=400, response=response) # Bad Request
# # Updated 2021-06-28
# if order_rec_list_result := get_order_rec_list(
# for_obj_type = 'account',
# for_obj_id = account_id,
# limit = limit,
# enabled = enabled,
# from_datetime = from_datetime,
# to_datetime = to_datetime,
# status = status,
# ):
# order_result_list = []
# for order_rec in order_rec_list_result:
# if load_order_result := load_order_obj(
# order_id = order_rec.get('order_id', None),
# limit = limit,
# enabled = enabled,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# # model_as_dict = model_as_dict,
# inc_order_cfg = inc_order_cfg,
# inc_order_line_list = inc_order_line_list,
# ):
# order_result_list.append(load_order_result)
# else:
# order_result_list.append(None)
# response_data = order_result_list
# else:
# return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data)
# ### END ### API Order ### get_account_obj_order_list() ###
# return mk_resp(data=response_data)
# # ### END ### API Order ### get_account_obj_order_list() ###
# ### BEGIN ### API Order ### get_person_obj_order_list() ###
# Updated 2021-11-19
@router.get('/person/{person_id}/order/list', response_model=Resp_Body_Base)
async def get_person_id_order_list(
person_id: str = Query(..., min_length=11, max_length=22),
limit: int = 50,
enabled: str = 'enabled',
from_datetime: datetime.datetime = None,
to_datetime: datetime.datetime = None,
inc_order_cfg: bool = False,
inc_order_line_list: bool = False,
# inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
x_account_id: str = Header(...),
by_alias: Optional[bool] = True,
exclude_unset: Optional[bool] = True,
response: Response = Response,
):
log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
# # ### BEGIN ### API Order ### get_person_obj_order_list() ###
# # Updated 2021-11-19
# @router.get('/person/{person_id}/order/list', response_model=Resp_Body_Base)
# async def get_person_id_order_list(
# person_id: str = Query(..., min_length=11, max_length=22),
# limit: int = 50,
# enabled: str = 'enabled',
# from_datetime: datetime.datetime = None,
# to_datetime: datetime.datetime = None,
# inc_order_cfg: bool = False,
# inc_order_line_list: bool = False,
# # inc_order_w_prod_type: str = 'all', # all, membership, fundraising, event, etc
# status: str = 'closed', # open, locked, reopened?, closed (complete), canceled, other
# x_account_id: str = Header(...),
# by_alias: Optional[bool] = True,
# exclude_unset: Optional[bool] = True,
# response: Response = Response,
# ):
# log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
# log.debug(locals())
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)
# 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)
# Updated 2021-06-28
if order_rec_list_result := get_order_rec_list(
for_obj_type = 'person',
for_obj_id = person_id,
limit = limit,
enabled = enabled,
from_datetime = from_datetime,
to_datetime = to_datetime,
status = status,
):
order_result_list = []
for order_rec in order_rec_list_result:
if load_order_result := load_order_obj(
order_id = order_rec.get('order_id', None),
limit = limit,
enabled = enabled,
by_alias = by_alias,
exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
inc_order_cfg = inc_order_cfg,
inc_order_line_list = inc_order_line_list,
):
order_result_list.append(load_order_result)
else:
order_result_list.append(None)
response_data = order_result_list
else:
return mk_resp(data=False, status_code=400, response=response) # Bad Request
# # Updated 2021-06-28
# if order_rec_list_result := get_order_rec_list(
# for_obj_type = 'person',
# for_obj_id = person_id,
# limit = limit,
# enabled = enabled,
# from_datetime = from_datetime,
# to_datetime = to_datetime,
# status = status,
# ):
# order_result_list = []
# for order_rec in order_rec_list_result:
# if load_order_result := load_order_obj(
# order_id = order_rec.get('order_id', None),
# limit = limit,
# enabled = enabled,
# by_alias = by_alias,
# exclude_unset = exclude_unset,
# # model_as_dict = model_as_dict,
# inc_order_cfg = inc_order_cfg,
# inc_order_line_list = inc_order_line_list,
# ):
# order_result_list.append(load_order_result)
# else:
# order_result_list.append(None)
# response_data = order_result_list
# else:
# return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data)
# ### END ### API Order ### get_person_obj_order_list() ###
# return mk_resp(data=response_data)
# # ### END ### API Order ### get_person_obj_order_list() ###
# ### 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() ###
# 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)
async def get_account_obj_post_list(
account_id: str = Query(..., min_length=1, max_length=22),
@@ -122,7 +122,7 @@ async def get_account_obj_post_list(
response_data = None
# Updated 2021-06-28
# Updated 2021-12-13
if post_rec_list_result := get_post_rec_list(
for_obj_type = 'account',
for_obj_id = account_id,
@@ -133,14 +133,11 @@ async def get_account_obj_post_list(
post_result_list = []
for post_rec in post_rec_list_result:
if load_post_result := load_post_obj(
post_id = post_rec.get('post_id', None),
post_id = post_rec.get('post_id'),
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
# model_as_dict = model_as_dict,
enabled = enabled,
# inc_address = inc_address,
# inc_contact = inc_contact,
inc_person = inc_person,
inc_post_comment_list = inc_post_comment_list,
inc_user = inc_user,
@@ -149,7 +146,11 @@ async def get_account_obj_post_list(
else:
post_result_list.append(None)
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:
log.warning('Likely bad request')
return mk_resp(data=False, status_code=400, response=response) # Bad Request
return mk_resp(data=response_data)

View File

@@ -520,7 +520,7 @@ async def get_account_user_obj_li(
else:
user_result_list.append(None)
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')
return mk_resp(data=False, status_code=404, response=response) # Not Found
else: