From 15c1d6b4637ad8da9e4d3b6ae8e47efd3bb0b2bb Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Mon, 17 Jan 2022 19:01:38 -0500 Subject: [PATCH] Moving things to use the unified functions for SQL enable and SQL LIMIT OFFSET --- app/methods/user_methods.py | 25 +++++++------------------ 1 file changed, 7 insertions(+), 18 deletions(-) diff --git a/app/methods/user_methods.py b/app/methods/user_methods.py index 6cfefb5..8453a1d 100644 --- a/app/methods/user_methods.py +++ b/app/methods/user_methods.py @@ -5,7 +5,7 @@ import urllib.parse 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.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.methods.account_methods import load_account_cfg_obj @@ -337,11 +337,12 @@ def update_user_obj( # ### BEGIN ### API User Methods ### load_user_obj() ### def load_user_obj( user_id: int|str, - limit: int = 1000, + enabled: str = 'enabled', # enabled, disabled, all + limit: int = 100, + offset: int = 0, by_alias: bool = True, exclude_unset: bool = True, model_as_dict: bool = False, - enabled: str = 'enabled', # enabled, disabled, all inc_address: bool = False, # inc_archive_list: bool = False, # deprecated inc_contact: bool = False, @@ -535,6 +536,7 @@ def get_user_rec_list( hidden: str = 'not_hidden', # hidden, not_hidden, all enabled: str = 'enabled', # enabled, disabled, all limit: int = 1000, + offset: int = 0, ) -> list|bool: log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) @@ -550,21 +552,8 @@ def get_user_rec_list( # data['for_obj_type'] = for_obj_type # sql_obj_type_id = f'`user`.{for_obj_type}_id = :{for_obj_type}_id' - if enabled in ['enabled', 'disabled', 'all']: - if enabled == 'enabled': - 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_enabled, data['enable'] = sql_enable_part(table_name='user', enabled=enabled) # Reasonably safe return str and bool + sql_limit = sql_limit_offset_part(limit=limit, offset=offset) # Reasonably safe return str sql = f""" SELECT `user`.id AS 'user_id', `user`.id_random AS 'user_id_random'