Work on Cvent API and IDAA

This commit is contained in:
Scott Idem
2022-02-09 19:44:16 -05:00
parent 709952bf60
commit 6fc7905b04
3 changed files with 228 additions and 73 deletions

View File

@@ -9,7 +9,7 @@ from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select,
from app.routers.api_crud import delete_obj_template, get_obj_template, get_obj_li_template, patch_obj_template, post_obj_template
from app.methods.e_cvent_methods import create_update_aether_person, get_access_token, get_contact_custom_field_list, get_contact_list, get_contact_id, get_recent_contact_list, modify_contact_id
from app.methods.e_cvent_methods import create_update_aether_person, get_access_token, get_contact_custom_field_list, get_contact_list, get_contact_id, get_group_contact_list, get_recent_contact_list, modify_contact_id
from app.methods.person_methods import create_person_kiss, get_person_rec_list, get_person_rec_w_external_id, load_person_obj, update_person_kiss
from app.methods.membership_person_methods import create_membership_person_obj, update_membership_person_obj
@@ -26,10 +26,12 @@ router = APIRouter()
@router.get('/person/process_recent_changes', response_model=Resp_Body_Base)
async def process_recent_changes(
from_created_on: datetime.datetime = datetime.datetime.utcnow() + datetime.timedelta(minutes=-60), # for Cvent "created"
to_created_on: datetime.datetime = datetime.datetime.utcnow(), # for Cvent "created"
to_created_on: datetime.datetime = None, # for Cvent "created"
from_updated_on: datetime.datetime = datetime.datetime.utcnow() + datetime.timedelta(minutes=-60), # for Cvent "lastModified"
to_updated_on: datetime.datetime = None, # for Cvent "lastModified"
# type: str = 'created', # created, updated, created_updated
get_only: str = None, # created, updated/modified
contact_group_id: str = None,
return_detail: bool = False,
@@ -45,16 +47,26 @@ async def process_recent_changes(
to_created_on = to_created_on,
from_updated_on = from_updated_on,
to_updated_on = to_updated_on,
get_only = 'created',
):
log.debug(cvent_contact_list_result)
cvent_contact_list = cvent_contact_list_result
log.info(f'Found {len(cvent_contact_list)} Cvent contacts')
elif cvent_contact_list_result is None:
log.warning(f'No Cvent Contact results')
return mk_resp(data=None, status_code=404, response=commons.response) # Not Found
else:
log.warning(f'Something went wrong while trying to get recently created or updated person in Cvent. From Datetime: {from_created_on}')
return mk_resp(data=None, status_code=400, response=commons.response) # Bad Request
# cvent_contact_list = cvent_contact_list_result.get('data')
# cvent_contact_list = cvent_contact_list_result
# contact_group_id = '60ef4838-5340-4e2a-9d0a-b4ef310eaa69'
if contact_group_id:
if cvent_group_contact_list_result := get_group_contact_list(
contact_group_id = contact_group_id,
):
log.debug(cvent_group_contact_list_result)
cvent_group_contact_list = cvent_group_contact_list_result
log.info(f'Found {len(cvent_group_contact_list)} Cvent contacts in the group')
# return mk_resp(data=cvent_contact_list, status_message=f'Checked for recent changes in Cvent. Found {len(cvent_contact_list)} Cvent contacts', response=commons.response)
@@ -75,8 +87,8 @@ async def process_recent_changes(
else:
log.info(f'Something went wrong while trying to create or update the person in Aether based on Cvent data. Cvent (Person) Contact ID: {cvent_person_contact_id}')
log.warning('Sleeping for .5 second to avoid Cvent rate limit...')
time.sleep(.5)
# log.warning('Sleeping for .1 seconds to avoid Cvent rate limit...')
# time.sleep(.1)
if return_detail:
return mk_resp(data=cvent_contact_list_result, status_message=f'Checked for recent changes in Cvent. Created/Updated {len(cvent_contact_list)} Cvent contacts', response=commons.response)