Working on all the routes, methods, and models.

This commit is contained in:
Scott Idem
2021-06-18 17:49:32 -04:00
parent 938aabb2a8
commit ce44e93b4d
17 changed files with 614 additions and 285 deletions

View File

@@ -8,11 +8,10 @@ from app.db_sql import redis_lookup_id_random, sql_insert, sql_select, sql_updat
from app.lib_general import log, logging
from app.methods.contact_methods import load_contact_obj, update_contact_obj
# from app.methods.event_methods import load_event_obj_list
# from app.methods.event_methods import get_event_rec_list
from app.methods.organization_methods import load_organization_obj, update_organization_obj
# from app.methods.person_methods import load_person_obj, update_person_obj
# from app.methods.post_methods import load_post_obj_list
# from app.methods.post_list_methods import load_post_obj_list
from app.methods.post_methods import get_post_rec_list, load_post_obj
from app.models.user_models import User_Base, User_New_Base, User_Out_Base
from app.models.user_role_models import User_Role_Base
@@ -76,6 +75,8 @@ def create_user_obj(user_obj_new:User_New_Base) -> int|bool:
def load_user_obj(
user_id: int|str,
limit: int = 1000,
by_alias: bool = True,
exclude_unset: bool = True,
model_as_dict: bool = False,
enabled: str = 'enabled', # enabled, disabled, all
inc_address: bool = False,
@@ -110,17 +111,20 @@ def load_user_obj(
log.error(e.json())
return False
# Updated 2021-06-18
if inc_contact:
contact_id = user_rec.get('contact_id', None)
log.debug(contact_id)
if contact_dict := load_contact_obj(
if contact_result := load_contact_obj(
contact_id = contact_id,
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
enabled = enabled,
inc_address = inc_address,
):
user_obj.contact = contact_dict
user_obj.contact = contact_result
else: user_obj.contact = None
if inc_event_list:
@@ -134,49 +138,67 @@ def load_user_obj(
user_obj.event_list = event_dict_list
else: user_obj.event_list = []
# Updated 2021-06-18
if inc_organization:
organization_id = user_rec.get('organization_id', None)
log.debug(organization_id)
if organization_dict := load_organization_obj(
if organization_result := load_organization_obj(
organization_id = organization_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,
):
user_obj.organization = organization_dict
user_obj.organization = organization_result
else: user_obj.organization = None
# Updated 2021-06-18
if inc_person:
#log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
person_id = user_rec.get('person_id', None)
log.debug(person_id)
from app.methods.person_methods import load_person_obj
if person_dict := load_person_obj(
person_id = person_id,
limit = limit,
model_as_dict = model_as_dict,
enabled = enabled,
inc_address = inc_address,
inc_contact = inc_contact,
inc_organization = inc_organization,
):
user_obj.person = person_dict
if person_result := load_person_obj(
person_id = person_id,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
inc_address = inc_address,
inc_contact = inc_contact,
# inc_organization = inc_organization,
# inc_user = inc_user,
):
user_obj.person = person_result
else: user_obj.person = None
log.debug(person_result)
# Updated 2021-06-18
if inc_post_list:
from app.methods.post_methods import load_post_obj_list
if post_dict_list := load_post_obj_list(
user_id = user_id,
limit = limit,
model_as_dict = model_as_dict,
enabled = enabled,
):
user_obj.post_list = post_dict_list
if post_rec_list_result := get_post_rec_list(
for_obj_type = 'user',
for_obj_id = user_id,
limit = limit,
enabled = enabled,
):
post_result_list = []
for post_rec in post_rec_list_result:
post_result_list.append(
load_post_obj(
post_id = post_rec.get('post_id', None),
limit = limit,
by_alias = by_alias,
exclude_unset = exclude_unset,
model_as_dict = model_as_dict,
enabled = enabled,
inc_post_comment_list = inc_post_comment_list,
inc_person = inc_person,
# inc_user = inc_user,
)
)
user_obj.post_list = post_result_list
else: user_obj.post_list = []
# NOTE: Including user roles should probably be reviewed
if inc_user_role_list:
if role_rec_li := sql_select(table_name='v_user_role_detail', field_name='user_id', field_value=user_id, as_list=True):
@@ -189,7 +211,7 @@ def load_user_obj(
log.debug(user_obj)
if model_as_dict:
return user_obj.dict(by_alias=True, exclude_unset=True) # pylint: disable=no-member
return user_obj.dict(by_alias=by_alias, exclude_unset=exclude_unset) # pylint: disable=no-member
else:
return user_obj
# ### END ### API User Methods ### load_user_obj() ###