Moving things to use the unified functions for SQL enable and SQL LIMIT OFFSET

This commit is contained in:
Scott Idem
2022-01-17 19:01:38 -05:00
parent 6b21a33625
commit 15c1d6b463

View File

@@ -5,7 +5,7 @@ import urllib.parse
from typing import Dict, List, Optional, Set, Union 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_enable_part, sql_insert, sql_limit_offset_part, sql_select, sql_update
from app.lib_general import log, logging, logger_reset, secure_hash_string, send_email from app.lib_general import log, logging, logger_reset, secure_hash_string, send_email
# from app.methods.account_methods import load_account_cfg_obj # from app.methods.account_methods import load_account_cfg_obj
@@ -337,11 +337,12 @@ def update_user_obj(
# ### BEGIN ### API User Methods ### load_user_obj() ### # ### BEGIN ### API User Methods ### load_user_obj() ###
def load_user_obj( def load_user_obj(
user_id: int|str, user_id: int|str,
limit: int = 1000, enabled: str = 'enabled', # enabled, disabled, all
limit: int = 100,
offset: int = 0,
by_alias: bool = True, by_alias: bool = True,
exclude_unset: bool = True, exclude_unset: bool = True,
model_as_dict: bool = False, model_as_dict: bool = False,
enabled: str = 'enabled', # enabled, disabled, all
inc_address: bool = False, inc_address: bool = False,
# inc_archive_list: bool = False, # deprecated # inc_archive_list: bool = False, # deprecated
inc_contact: bool = False, inc_contact: bool = False,
@@ -535,6 +536,7 @@ def get_user_rec_list(
hidden: str = 'not_hidden', # hidden, not_hidden, all hidden: str = 'not_hidden', # hidden, not_hidden, all
enabled: str = 'enabled', # enabled, disabled, all enabled: str = 'enabled', # enabled, disabled, all
limit: int = 1000, limit: int = 1000,
offset: int = 0,
) -> list|bool: ) -> list|bool:
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())
@@ -550,21 +552,8 @@ def get_user_rec_list(
# data['for_obj_type'] = for_obj_type # data['for_obj_type'] = for_obj_type
# sql_obj_type_id = f'`user`.{for_obj_type}_id = :{for_obj_type}_id' # sql_obj_type_id = f'`user`.{for_obj_type}_id = :{for_obj_type}_id'
if enabled in ['enabled', 'disabled', 'all']: sql_enabled, data['enable'] = sql_enable_part(table_name='user', enabled=enabled) # Reasonably safe return str and bool
if enabled == 'enabled': sql_limit = sql_limit_offset_part(limit=limit, offset=offset) # Reasonably safe return str
data['enable'] = True
sql_enabled = f'AND `user`.enable = :enable'
elif enabled == 'disabled':
data['enable'] = False
sql_enabled = f'AND `user`.enable = :enable'
elif enabled == 'all':
sql_enabled = ''
if limit:
data['limit'] = limit
sql_limit = f'LIMIT :limit'
else:
sql_limit = ''
sql = f""" sql = f"""
SELECT `user`.id AS 'user_id', `user`.id_random AS 'user_id_random' SELECT `user`.id AS 'user_id', `user`.id_random AS 'user_id_random'