From 1978718129f8dbb1dbaea38b7c6f1aa11e5bf789 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Thu, 17 Feb 2022 19:22:52 -0500 Subject: [PATCH] Work on exhibit and tracking --- app/db_sql.py | 1 + app/methods/e_cvent_methods.py | 2 +- app/methods/person_methods.py | 2 +- app/models/event_exhibit_tracking_models.py | 2 +- app/routers/event_exhibit.py | 2 +- app/routers/event_exhibit_tracking.py | 14 +++++++++++--- 6 files changed, 16 insertions(+), 7 deletions(-) diff --git a/app/db_sql.py b/app/db_sql.py index d2a9193..cd633ed 100644 --- a/app/db_sql.py +++ b/app/db_sql.py @@ -30,6 +30,7 @@ db = engine.connect() # ### BEGIN ### Core Help CRUD ### sql_insert() ### +# NOTE: Possible future change... Try to look up a duplicate entry if there is one on INSERT. # Updated 2021-09-07 @logger_reset def sql_insert( diff --git a/app/methods/e_cvent_methods.py b/app/methods/e_cvent_methods.py index 5259af6..c191c5b 100644 --- a/app/methods/e_cvent_methods.py +++ b/app/methods/e_cvent_methods.py @@ -466,7 +466,7 @@ def create_update_aether_person( cvent_contact_obj: dict, account_id: str, person_id: str=None, - log_lvl: int = logging.WARNING, # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log_lvl: int = logging.INFO, # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL ): log.setLevel(log_lvl) diff --git a/app/methods/person_methods.py b/app/methods/person_methods.py index ad9e7bc..3c2fa1c 100644 --- a/app/methods/person_methods.py +++ b/app/methods/person_methods.py @@ -292,7 +292,7 @@ def load_person_obj( inc_user: bool = False, inc_user_role_list: bool = False, ) -> Person_Base|dict|bool: - log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + 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 diff --git a/app/models/event_exhibit_tracking_models.py b/app/models/event_exhibit_tracking_models.py index 38a896c..1dcd3ba 100644 --- a/app/models/event_exhibit_tracking_models.py +++ b/app/models/event_exhibit_tracking_models.py @@ -40,7 +40,7 @@ class Event_Exhibit_Tracking_Base(BaseModel): enable: Optional[bool] hide: Optional[bool] - priority: Optional[bool] + priority: Optional[bool] = False sort: Optional[int] group: Optional[str] diff --git a/app/routers/event_exhibit.py b/app/routers/event_exhibit.py index e3e6550..574464e 100644 --- a/app/routers/event_exhibit.py +++ b/app/routers/event_exhibit.py @@ -109,7 +109,7 @@ async def get_event_exhibit_obj( log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) - # time.sleep(1) + # time.sleep(.5) # ### SECTION ### Secondary data validation event_exhibit_id_random = event_exhibit_id # This is used later for the response data diff --git a/app/routers/event_exhibit_tracking.py b/app/routers/event_exhibit_tracking.py index a7e1e8a..79da584 100644 --- a/app/routers/event_exhibit_tracking.py +++ b/app/routers/event_exhibit_tracking.py @@ -1,4 +1,4 @@ -import datetime +import datetime, time from fastapi import APIRouter, Body, Depends, Header, HTTPException, Query, Response, status from pydantic import BaseModel, EmailStr, Field from typing import Dict, List, Optional, Set, Union @@ -34,9 +34,11 @@ async def post_event_exhibit_tracking_obj( commons: Common_Route_Params = Depends(common_route_params), ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL + log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.debug(locals()) + # time.sleep(1) + # ### SECTION ### Secondary data validation if event_exhibit_id := redis_lookup_id_random(record_id_random=event_exhibit_id, table_name='event_exhibit'): pass # elif event_exhibit_id is None: pass @@ -61,7 +63,13 @@ async def post_event_exhibit_tracking_obj( event_person_id = event_person_id, ): pass elif event_exhibit_tracking_id is None: - return mk_resp(data=None, status_code=200, response=commons.response, status_message='Not created. Likely duplicate entry. Returning None.') # Success + # NOTE: I think it makes sense to try and look up the record using the Exhibitor and Person ID. This is for API call convenience. + if event_exhibit_tracking_rec_li := get_event_exhibit_tracking_rec_list(event_exhibit_id=event_exhibit_id,event_person_id=event_person_id): + event_exhibit_tracking_rec = event_exhibit_tracking_rec_li[0] + event_exhibit_tracking_id = event_exhibit_tracking_rec.get('event_exhibit_tracking_id') + else: + log.warning('Should this be possible if there was an existing record? Assuming there is an existing record because the SQL function result was None.') + return mk_resp(data=None, status_code=200, response=commons.response, status_message='Not created. Likely duplicate entry. Returning None.') # Success else: log.warning('Likely bad request') return mk_resp(data=False, status_code=400, response=commons.response, status_message='Not created. Something failed while processing the data. Check the field names and data types.') # Bad Request