Improved the main Impexium API calls. Should be faster and more robust now.

This commit is contained in:
Scott Idem
2022-03-22 16:59:06 -04:00
parent e1eeb8990c
commit 7c7bd3c530
2 changed files with 132 additions and 59 deletions

View File

@@ -26,6 +26,7 @@ router = APIRouter()
@router.get('/event/{e_impexium_event_id}/import_reg', response_model=Resp_Body_Base)
async def event_import_reg(
e_impexium_event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: 42_AM (2022-04); EX22_AM (2022-04); 41V_2 (2021-04)
registered_since: datetime.datetime = None, # datetime.datetime.now() + datetime.timedelta(seconds=120)
details: bool = True,
page: int = 0, # 250 per page from Impexium
event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: ZDzTBlevhZs (2022-04)
@@ -335,3 +336,43 @@ async def event_import_reg(
return mk_resp(data=event_person_li, response=commons.response)
# ### END ### API Impexium ### event_import_reg() ###
# ### BEGIN ### API Impexium ### testing() ###
# Updated 2022-03-22
@router.get('/event/{e_impexium_event_id}/testing', response_model=Resp_Body_Base)
async def testing(
e_impexium_event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: 42_AM (2022-04); EX22_AM (2022-04); 41V_2 (2021-04)
registered_since: datetime.datetime = None, # datetime.datetime.now() + datetime.timedelta(seconds=120)
details: bool = True,
page: int = 0, # 250 per page from Impexium
event_id: str = Query(..., min_length=11, max_length=22), # For ISHLT: ZDzTBlevhZs (2022-04)
# Account ID For ISHLT: d8TqXqf1EOg
commons: Common_Route_Params = Depends(common_route_params),
):
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals())
log.info('Starting Impexium event registration import...')
account_id = commons.x_account_id
event_id = 'ZDzTBlevhZs' # ISHLT 2022-04 Boston
if event_id := redis_lookup_id_random(record_id_random=event_id, table_name='event'): pass
else: return mk_resp(data=None, status_code=404, status_message=f'The Event ID was not found. Event ID: {event_id}', response=commons.response)
event_registrant_li = get_event_registrants(
event_code = e_impexium_event_id,
registered_since = registered_since,
details = details,
page = page
)
log.debug(type(event_registrant_li))
if event_registrant_li:
return mk_resp(data=event_registrant_li, status_code=200, response=commons.response)
# return mk_resp(data=len(event_registrant_li), status_code=200, response=commons.response)
else:
return mk_resp(data=event_registrant_li, status_code=400, response=commons.response, status_message='Possible bad request???') # Bad Request
# ### END ### API Impexium ### testing() ###