diff --git a/app/methods/event_list_methods.py b/app/methods/event_list_methods.py deleted file mode 100644 index 71a8c88..0000000 --- a/app/methods/event_list_methods.py +++ /dev/null @@ -1,122 +0,0 @@ -from __future__ import annotations -import datetime - -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.lib_general import log, logging - -from app.methods.event_methods import load_event_obj - - -# ### BEGIN ### API Event Methods ### load_event_obj_list() ### -def load_event_obj_list( - account_id: int|str, - limit: int = 1000, - model_as_dict: bool = False, - enabled: str = 'enabled', # enabled, disabled, all - inc_contact_1: bool = False, - inc_contact_2: bool = False, - inc_contact_3: bool = False, - inc_event_abstract_list: bool = False, - inc_event_badge_list: bool = False, - inc_event_cfg: bool = False, - inc_event_device_list: bool = False, - inc_event_exhibit_list: bool = False, - inc_event_file_list: bool = False, - inc_event_location: bool = False, # For event_session child object - inc_event_location_list: bool = False, - inc_event_person_list: bool = False, - inc_event_presentation_list: bool = False, - inc_event_presenter_cat: bool = False, # For event_session child object - inc_event_presenter_list: bool = False, - inc_event_registration_cfg: bool = False, - inc_event_registration_list: bool = False, - inc_event_session_list: bool = False, - inc_event_track: bool = False, # For event_session child object - inc_event_track_list: bool = False, - inc_location_address: bool = False, - inc_poc_event_person: bool = False, - inc_person: bool = False, - inc_user: bool = False, - ) -> list|bool: - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - if account_id := redis_lookup_id_random(record_id_random=account_id, table_name='account'): pass - else: return False - - data = {} - data['account_id'] = account_id - - if enabled in ['enabled', 'disabled', 'all']: - if enabled == 'enabled': - data['enable'] = True - sql_enabled = f'AND `tbl`.enable = :enable' - elif enabled == 'disabled': - data['enable'] = False - sql_enabled = f'AND `tbl`.enable = :enable' - elif enabled == 'all': - sql_enabled = '' - # else: tbl_obj['account'] = None - - if limit: - data['limit'] = limit - sql_limit = f'LIMIT :limit' - else: - sql_limit = '' - - sql = f""" - SELECT `tbl`.id AS 'event_id', `tbl`.id_random AS 'event_id_random' - FROM `event` AS `tbl` - WHERE `tbl`.account_id = :account_id - {sql_enabled} - ORDER BY `tbl`.created_on DESC, `tbl`.updated_on DESC - {sql_limit}; - """ - - if event_rec_li_result := sql_select(data=data, sql=sql, as_list=True): - log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(event_rec_li_result) - event_result_li = [] - for event_rec in event_rec_li_result: - event_id = event_rec.get('event_id', None) - if event_result := load_event_obj( - event_id = event_id, - limit = limit, - model_as_dict = model_as_dict, - enabled = enabled, - # inc_location_address = inc_address, - # inc_contact_1 = inc_contact, - # inc_contact_2 = inc_contact, - # inc_contact_3 = inc_contact, - # inc_event_abstract_list = inc_event_abstract_list, - # inc_event_badge_list = inc_event_badge_list, - # inc_event_device_list = inc_event_device_list, - inc_event_exhibit_list = inc_event_exhibit_list, - inc_event_file_list = inc_event_file_list, - inc_event_location_list = inc_event_location_list, - inc_event_person_list = inc_event_person_list, - inc_event_presentation_list = inc_event_presentation_list, - inc_event_presenter_list = inc_event_presenter_list, - inc_event_registration_list = inc_event_registration_list, - inc_event_session_list = inc_event_session_list, - inc_event_track_list = inc_event_track_list, - # inc_person = inc_person, - # inc_user = inc_user, - ): - log.debug(event_result) - event_result_li.append(event_result) - else: - log.debug(event_result) - event_result_li.append(None) - log.debug(event_result_li) - else: - log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(event_rec_li_result) - event_result_li = [] - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - - return event_result_li -# ### END ### API Event Methods ### load_event_obj_list() ### diff --git a/app/routers/archive/event_reports.py b/app/routers/archive/event_reports.py deleted file mode 100644 index 27ac4a7..0000000 --- a/app/routers/archive/event_reports.py +++ /dev/null @@ -1,112 +0,0 @@ -import datetime -from fastapi import APIRouter, Body, Depends, Header, HTTPException, Path, Query, Response, status -from pydantic import BaseModel, EmailStr, Field -from typing import Dict, List, Optional, Set, Union - -from app.lib_general import log, logging, common_route_params, Common_Route_Params -from app.config import settings -from app.db_sql import sql_insert, sql_update, sql_insert_or_update, sql_select, sql_delete, get_id_random, redis_lookup_id_random - -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.event_presenter_methods import get_event_presenter_url_list - -from app.models.response_models import Resp_Body_Base, mk_resp - - -router = APIRouter() - - -# ### BEGIN ### API Event Reports ### event_id_rpt_presenter_links() ### -# Updated 2022-04-12 -@router.get('/event/{event_id}/rpt_presenter_links', response_model=Resp_Body_Base) -async def event_id_rpt_presenter_links( - event_id: str = Path(min_length=11, max_length=22), - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.INFO) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - 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, response=commons.response) - - - if order_line_rec_list_result := get_order_line_rec_list( - for_obj_type = obj_type, - for_obj_id = obj_id, - from_datetime = from_datetime, - to_datetime = to_datetime, - product_for_type = prod_type, - status = status, - full_detail = full_detail, - # enabled = enabled, - limit = limit, - ): - order_line_result_list = [] - data_dict_list_for_export = [] - for order_line_rec in order_line_rec_list_result: - if not full_detail: - if load_order_line_result := load_order_obj_line( - order_line_id = order_line_rec.get('order_line_id', None), - by_alias = by_alias, - exclude_unset = exclude_unset, - # model_as_dict = model_as_dict, - ): - order_line_result_list.append(load_order_line_result) - else: - order_line_result_list.append(None) - else: # Uses a different view: v_order_line_full_detail - if load_order_line_result := load_order_obj_line_full_detail( - order_line_rec = order_line_rec, - by_alias = by_alias, - exclude_unset = exclude_unset, - model_as_dict = False, - ): - if create_export: - data_dict = load_order_line_result.dict(by_alias=by_alias, exclude_unset=exclude_unset) - data_dict_list_for_export.append(data_dict) - order_line_result_list.append(load_order_line_result) - else: - order_line_result_list.append(None) - response_data = order_line_result_list - elif isinstance(order_line_rec_list_result, list) or order_line_rec_list_result is None: # Empty list or None - log.info('No results') - return mk_resp(data=None, status_code=404, response=response) # Not Found - else: - log.warning('Likely bad request') - return mk_resp(data=False, status_code=400, response=response) # Bad Request - - if create_export: - # column_name_li = ['order_id_random', 'order_line_id_random', '', 'product_name', 'quantity', 'amount', 'dollar_amount', 'person_email'] - - # column_name_li = ['order_line_id_random', 'order_id_random', 'product_id_random', 'product_type', 'product_name', 'product_unit_price', 'product_recurring', 'curr_product_id_random', 'curr_product_type', 'curr_product_type_name', 'curr_product_name', 'name', 'quantity', 'amount', 'dollar_amount', 'recurring', 'message', 'person_id_random', 'person_given_name', 'person_family_name', 'person_full_name', 'person_full_name_override', 'person_contact_email', 'person_contact_cc_email', 'person_contact_phone_mobile', 'person_contact_phone_home', 'person_contact_phone_office', 'person_contact_phone_land', 'person_contact_phone_fax', 'person_contact_phone_other', 'person_contact_address_name', 'person_contact_address_organization_name', 'person_contact_address_line_1', 'person_contact_address_line_2', 'person_contact_address_line_3', 'person_contact_address_city', 'person_contact_address_country_subdivision_code', 'person_contact_address_state_province', 'person_contact_address_postal_code', 'person_contact_address_country_alpha_2_code', 'person_contact_address_country_name', 'person_contact_address_country', 'order_status', 'order_created_on', 'order_updated_on', 'created_on', 'updated_on'] - - column_name_li = [ - 'event_presenter_id_random', - 'event_id_random', - 'events_session_id_random', - 'events_presentation_id_random', - 'event_presenter_given_name', - 'event_presenter_family_name', - 'event_presenter_email', - 'event_presenter_created_on', 'event_presenter_updated_on' - ] - - - # column_name_li = [] - datetime_format='%Y-%m-%d_%H%M' - - # current_datetime = datetime.datetime.now() # Servers timezone (Eastern) - current_datetime_utc = datetime.datetime.utcnow() - current_datetime_utc = current_datetime_utc.strftime(datetime_format) - filename = f'order_line_list_{current_datetime_utc}' - if result := create_export_file(data_dict_list=data_dict_list_for_export, column_name_li=column_name_li, subdir_path='order_line', filename=filename, export_type='Excel'): - tmp_file_path = result - else: - log.error('Something went wrong while creating or saving the export file') - tmp_file_path = result - else: tmp_file_path = None - - return mk_resp(data=response_data, tmp_file_path=tmp_file_path, response=response) -# ### END ### API Event Reports ### get_obj_id_order_line_list() ### diff --git a/app/routers/archive/order_v3.py b/app/routers/archive/order_v3.py deleted file mode 100644 index d855feb..0000000 --- a/app/routers/archive/order_v3.py +++ /dev/null @@ -1,480 +0,0 @@ -import datetime -from fastapi import APIRouter, Body, Depends, Header, HTTPException, Path, Query, Response, status -from pydantic import BaseModel, EmailStr, Field -from typing import Dict, List, Optional, Set, Union - -from app.lib_general import * -from app.config import settings -from app.db_sql import * - -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.order_methods import create_order_obj, update_order_obj, get_order_rec_list, load_order_obj, save_order_obj -from app.methods.order_line_methods import create_order_obj_line, update_order_obj_line, load_order_obj_line - -from app.models.response_models import Resp_Body_Base, mk_resp -from app.models.order_models_v3 import Order_Base -from app.models.order_line_models_v3 import Order_Line_Base - - -router = APIRouter() - - -# ### BEGIN ### API Order Routers ### post_order_obj() ### -# Updated 2022-01-18 -@router.post('/v3/order', response_model=Resp_Body_Base) -@router.post('/v3/person/{person_id}/order', response_model=Resp_Body_Base) -async def post_order_obj( - order_obj: Order_Base, - person_id: str = Path(min_length=11, max_length=22), - - inc_address: bool = False, - inc_contact: bool = False, - inc_order_line_list: bool = True, - inc_person: bool = False, - return_obj: bool = True, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - # ### SECTION ### Secondary data validation - if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass - # elif person_id is None: pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The person ID was invalid or not found.') - - # ### SECTION ### Process data - if order_id := create_order_obj( - account_id = commons.x_account_id, - person_id = person_id, - order_dict_obj = order_obj, - ): pass - else: - return mk_resp(data=False, status_code=400, response=commons.response, status_message='Something failed while processing the data.') # Bad Request - - # ### SECTION ### Return successful results - if return_obj: - if load_order_obj_result := load_order_obj( - order_id = order_id, - inc_address = inc_address, - inc_contact = inc_contact, - inc_order_line_list = inc_order_line_list, - inc_person = inc_person, - ).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset): - log.info('Loading successful. Returning result') - log.debug(load_order_obj_result) - return mk_resp(data=load_order_obj_result, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request - else: - order_id_random = get_id_random(record_id=order_id, table_name='order') - data = {} - data['order_id'] = order_id - data['order_id_random'] = order_id_random - return mk_resp(data=data, response=commons.response) -# ### END ### API Order Routers ### post_order_obj() ### - - -# ### BEGIN ### API Order Routers ### patch_order_obj() ### -# Updated 2022-01-18 -@router.patch('/v3/order/{order_id}', response_model=Resp_Body_Base) -# @router.patch('/v3/person/{person_id}/order/{order_id}', response_model=Resp_Body_Base) -async def patch_order_obj( - order_obj: Order_Base, - order_id: str = Path(min_length=11, max_length=22), - # person_id: str = Query(None, min_length=11, max_length=22), - - inc_address: bool = False, - inc_contact: bool = False, - inc_order_line_list: bool = True, - inc_person: bool = False, - return_obj: Optional[bool] = True, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - # ### SECTION ### Secondary data validation - order_id_random = order_id # This is used later for the response data - # person_id_random = person_id # This is used later for the response data - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - # if person_id := redis_lookup_id_random(record_id_random=person_id, table_name='person'): pass - # elif person_id is None: pass - # else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The person ID was invalid or not found.') - - # ### SECTION ### Process data - if update_order_obj_result := update_order_obj( - order_id = order_id, - order_dict_obj = order_obj, - # person_id = person_id, - ): pass - else: - return mk_resp(data=False, status_code=400, response=commons.response, status_message='Something failed while processing the data.') # Bad Request - - # ### SECTION ### Return successful results - if return_obj: - if load_order_obj_result := load_order_obj( - order_id = order_id, - inc_address = inc_address, - inc_contact = inc_contact, - inc_order_line_list = inc_order_line_list, - inc_person = inc_person, - ).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset): - log.info('Loading successful. Returning result') - log.debug(load_order_obj_result) - return mk_resp(data=load_order_obj_result, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request - else: - data = {} - data['order_id'] = order_id - data['order_id_random'] = order_id_random - return mk_resp(data=data, response=commons.response) -# ### END ### API Order Routers ### patch_order_obj() ### - - -# ### BEGIN ### API Order Routers ### patch_order_obj_add_line() ### -# Updated 2022-01-18 -@router.patch('/v3/order/{order_id}/line/add', response_model=Resp_Body_Base) -async def patch_order_obj_add_line( - order_line_obj: Order_Line_Base, - order_id: str = Path(min_length=11, max_length=22), - - # inc_order: bool = False, - inc_order_line_list: bool = True, - return_obj: Optional[bool] = True, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - # ### SECTION ### Secondary data validation - order_id_random = order_id # This is used later for the response data - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - # ### SECTION ### Process data - if order_line_id := add_order_obj_line( - order_id = order_id, - order_line_dict_obj = order_line_obj, - ): pass - else: - return mk_resp(data=False, status_code=400, response=commons.response, status_message='Something failed while processing the data.') # Bad Request - - # ### SECTION ### Return successful results - if return_obj: - if load_order_obj_result := load_order_obj( - order_id = order_id, - # inc_address = inc_address, - # inc_contact = inc_contact, - inc_order_line_list = inc_order_line_list, - # inc_person = inc_person, - ).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset): - log.info('Loading successful. Returning result') - log.debug(load_order_obj_result) - return mk_resp(data=load_order_obj_result, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request - else: - order_line_id = order_line_add_result - order_line_id_random = get_id_random(record_id=order_line_id, table_name='order_line') - data = {} - data['order_id'] = order_id - data['order_id_random'] = order_id_random - data['order_line_id'] = order_line_id - data['order_line_id_random'] = order_line_id_random - return mk_resp(data=data, response=commons.response) -# ### END ### API Order Routers ### patch_order_obj_add_line() ### - - -# ### BEGIN ### API Order Routers ### patch_order_obj_update_line() ### -# Updated 2022-01-18 -@router.patch('/v3/order/{order_id}/line/{order_line_id}/update', response_model=Resp_Body_Base) -async def patch_order_obj_update_line( - order_obj: Order_Line_Base, - order_id: str = Path(min_length=11, max_length=22), - order_line_id: str = Path(min_length=11, max_length=22), - - # inc_order: bool = False, - inc_order_line_list: bool = True, - return_obj: Optional[bool] = True, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - # ### SECTION ### Secondary data validation - order_id_random = order_id # This is used later for the response data - order_line_id_random = order_line_id # This is used later for the response data - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - if order_line_id := redis_lookup_id_random(record_id_random=order_line_id, table_name='order_line'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order line ID was invalid or not found.') - - # ### SECTION ### Process data - if update_order_obj_line_result := update_order_obj_line( - order_line_id = order_line_id, - order_line_dict_obj = order_line_obj, - ): pass - else: - return mk_resp(data=False, status_code=400, response=commons.response, status_message='Something failed while processing the data.') # Bad Request - - # ### SECTION ### Return successful results - if return_obj: - if load_order_obj_result := load_order_obj( - order_id = order_id, - # inc_address = inc_address, - # inc_contact = inc_contact, - inc_order_line_list = inc_order_line_list, - # inc_person = inc_person, - ).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset): - log.info('Loading successful. Returning result') - log.debug(order_dict) - return mk_resp(data=order_dict, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request - else: - data = {} - data['order_id'] = order_id - data['order_id_random'] = order_id_random - data['order_line_id'] = order_line_id - data['order_line_id_random'] = order_line_id_random - return mk_resp(data=data, response=commons.response) -# ### END ### API Order Routers ### patch_order_obj_update_line() ### - - -# ### BEGIN ### API Order Routers ### patch_order_obj_remove_line() ### -# Updated 2022-01-18 -@router.patch('/v3/order/{order_id}/line/{order_line_id}/remove', response_model=Resp_Body_Base) -async def patch_order_obj_remove_line( - order_obj: Order_Line_Base, - order_id: str = Path(min_length=11, max_length=22), - order_line_id: str = Path(min_length=11, max_length=22), - - # inc_order: bool = False, - inc_order_line_list: bool = True, - return_obj: Optional[bool] = True, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - # ### SECTION ### Secondary data validation - order_id_random = order_id # This is used later for the response data - order_line_id_random = order_line_id # This is used later for the response data - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - if order_line_id := redis_lookup_id_random(record_id_random=order_line_id, table_name='order_line'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order line ID was invalid or not found.') - - # ### SECTION ### Process data - if remove_order_obj_line_result := remove_order_obj_line( - order_line_id = order_line_id, - ): pass - else: - return mk_resp(data=False, status_code=400, response=commons.response, status_message='Something failed while processing the data.') # Bad Request - - # ### SECTION ### Return successful results - if return_obj: - if load_order_obj_result := load_order_obj( - order_id = order_id, - # inc_address = inc_address, - # inc_contact = inc_contact, - inc_order_line_list = inc_order_line_list, - # inc_person = inc_person, - ).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset): - log.info('Loading successful. Returning result') - log.debug(order_dict) - return mk_resp(data=order_dict, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request - else: - data = {} - data['order_id'] = order_id - data['order_id_random'] = order_id_random - data['order_line_id'] = order_line_id - data['order_line_id_random'] = order_line_id_random - return mk_resp(data=data, response=commons.response) -# ### END ### API Order Routers ### patch_order_obj_remove_line() ### - - -# ### BEGIN ### API Order Routers ### get_order_obj_li() ### -# Updated 2022-01-18 -@router.get('/v3/{for_obj_type}/{for_obj_id}/order/list', response_model=Resp_Body_Base) -async def get_order_obj_li( - for_obj_type: str = Path(min_length=2, max_length=50), - for_obj_id: str = Path(min_length=11, max_length=22), - order_status: str = 'complete', - order_checkout_status: str = 'complete', - from_datetime: datetime.datetime = None, - to_datetime: datetime.datetime = None, - - inc_address: bool = False, - inc_contact: bool = False, - inc_order_cfg: bool = False, - inc_order_line_list: bool = False, - inc_person: bool = False, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - if obj_type in ['account', 'person']: pass - else: return mk_resp(data=False, status_code=400, response=response, status_message='The object type passed was invalid or not found. Expecting "account" or "person".') # Bad Request - - if obj_type_id := redis_lookup_id_random(record_id_random=for_obj_id, table_name=for_obj_type): pass - else: return mk_resp(data=False, status_code=404, response=commons.response) # Not Found - - if get_order_rec_list_result := get_order_rec_list( - for_obj_type = for_obj_type, - for_obj_id = for_obj_id, - from_datetime = from_datetime, - to_datetime = to_datetime, - status = order_status, - # checkout_status = order_checkout_status, - enabled = commons.enabled, - limit = commons.limit, - offset = commons.offset, - ): - order_obj_list = [] - for order_rec in get_order_rec_list_result: - if load_order_obj_result := load_order_obj( - order_id = order_rec.get('order_id'), - inc_address = inc_address, - inc_contact = inc_contact, - inc_order_cfg = inc_order_cfg, - inc_order_line_list = inc_order_line_list, - inc_person = inc_person, - enabled = commons.enabled, - limit = commons.limit, - by_alias = commons.by_alias, - exclude_unset = commons.exclude_unset, - # model_as_dict = model_as_dict, - ): - log.debug(load_order_obj_result) - order_obj_list.append(load_order_obj_result) - else: - order_obj_list.append(None) - log.info('Loading successful. Returning result') - log.debug(order_obj_list) - return mk_resp(data=order_obj_list, response=commons.response) - elif isinstance(get_order_rec_list_result, list) or get_order_rec_list_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request -# ### END ### API Order Routers ### get_order_obj_li() ### - - -# ### BEGIN ### API Order Routes ### get_order_obj() ### -# NOTE 2021-08-09: Use with rework of order_cart -# Updated 2022-12-18 -@router.get('/v3/order/{order_id}', response_model=Resp_Body_Base) -async def get_order_obj( - order_id: str = Path(min_length=11, max_length=22), - - inc_address: bool = False, - inc_contact: bool = False, - inc_order_cfg: bool = False, - inc_order_line_list: bool = False, - inc_person: bool = False, - - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - if load_order_obj_result := load_order_obj( - order_id = order_id, - inc_address = inc_address, - inc_contact = inc_contact, - inc_order_cfg = inc_order_cfg, - inc_order_line_list = inc_order_line_list, - inc_person = inc_person, - limit = commons.limit, - enabled = commons.enabled, - by_alias = commons.by_alias, - exclude_unset = commons.exclude_unset, - # model_as_dict = model_as_dict, - ): - log.debug(load_order_obj_result) - order_dict = load_order_obj_result.dict(by_alias=commons.by_alias, exclude_unset=False) # NOTE NOTE NOTE NOTE exclude_unset is forced to False for now. Will return more fields than is ideal. Need to create another Order_Line_Base. Probably Order_Line_OUT_Base - log.info('Loading successful. Returning result') - return mk_resp(data=order_dict, response=commons.response) - elif isinstance(load_order_obj_result, list) or load_order_obj_result is None: # Empty list or None - return mk_resp(data=None, status_code=404, response=commons.response) # Not Found - else: - return mk_resp(data=False, status_code=400, response=commons.response) # Bad Request -# ### END ### API Order Routes ### get_order_obj() ### - - -# ### BEGIN ### API Order ### get_person_id_order_cart() ### -# NOTE 2021-08-09: Use with rework of order_cart. The most recent (hopefully only one) "open" order for a person. -# Updated 2022-12-18 -@router.get('/v3/person/{person_id}/order/cart', response_model=Resp_Body_Base) -async def get_person_id_order_cart( - person_id: str = Path(min_length=11, max_length=22), - enabled: str = 'enabled', - inc_order_line_list: bool = False, - inc_order_cfg: bool = False, - - commons: Common_Route_Params = Depends(common_route_params), - ): - 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 - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The person ID was invalid or not found.') - - # Query to get the one "open" order status for a person ID - - return False -# ### END ### API Order ### get_person_id_order_cart() ### - - -# ### BEGIN ### API Order Routers ### delete_order_obj() ### -# Updated 2022-01-18 -@router.delete('/v3/order/{order_id}', response_model=Resp_Body_Base) -async def delete_order_obj( - order_id: str = Path(min_length=11, max_length=22), - commons: Common_Route_Params = Depends(common_route_params), - ): - log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL - log.debug(locals()) - - if order_id := redis_lookup_id_random(record_id_random=order_id, table_name='order'): pass - else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The order ID was invalid or not found.') - - obj_type = 'order' - result = delete_obj_template( - obj_type = obj_type, - obj_id = obj_id, - ) - return result -# ### END ### API Order Routers ### delete_order_obj() ### \ No newline at end of file diff --git a/app/routers/registry.py b/app/routers/registry.py index e9b22a2..2b5dbfe 100644 --- a/app/routers/registry.py +++ b/app/routers/registry.py @@ -23,7 +23,7 @@ def setup_routers(app: FastAPI): app.include_router(api.router, prefix='/api', tags=['API']) # app.include_router(flask_cfg.router, prefix='/flask_cfg', tags=['Flask CFG'], dependencies=[Depends(DeprecationParams)]) - app.include_router(importing.router, prefix='/importing', tags=['Importing'], dependencies=[Depends(DeprecationParams)]) + # app.include_router(importing.router, prefix='/importing', tags=['Importing'], dependencies=[Depends(DeprecationParams)]) # app.include_router(sql.router, tags=['SQL']) # LEGACY (disabled) - raw SQL select endpoint, testing only # app.include_router(account.router, tags=['Account'], dependencies=[Depends(DeprecationParams)]) @@ -62,13 +62,14 @@ def setup_routers(app: FastAPI): # app.include_router(qr.router, tags=['QR'], dependencies=[Depends(DeprecationParams)]) # app.include_router(site.router, tags=['Site'], dependencies=[Depends(DeprecationParams)]) # app.include_router(site_domain.router, tags=['Site Domain'], dependencies=[Depends(DeprecationParams)]) - app.include_router(user.router, tags=['User'], dependencies=[Depends(DeprecationParams)]) + # app.include_router(user.router, tags=['User'], dependencies=[Depends(DeprecationParams)]) app.include_router(util_email.router, tags=['Utility: Email']) # app.include_router(websockets.router, tags=['Websockets']) # LEGACY (disabled) - superseded by Websockets V3 # app.include_router(websockets_redis.router, tags=['Websockets (Redis)']) # LEGACY (disabled) - superseded by Websockets V3 app.include_router(websockets_v3.router, prefix='/v3', tags=['Websockets V3']) - app.include_router(e_confex.router, prefix='/e/confex', tags=['External Service: Confex']) - app.include_router(e_cvent.router, prefix='/e/cvent', tags=['External Service: Cvent']) - app.include_router(e_impexium.router, prefix='/e/impexium', tags=['External Service: Impexium']) - app.include_router(e_stripe.router, prefix='/e/stripe', tags=['External Service: Stripe']) + # ALERT: Temporarily commenting these out until needed for external service integrations. They can be re-enabled as needed. + # app.include_router(e_confex.router, prefix='/e/confex', tags=['External Service: Confex']) + # app.include_router(e_cvent.router, prefix='/e/cvent', tags=['External Service: Cvent']) + # app.include_router(e_impexium.router, prefix='/e/impexium', tags=['External Service: Impexium']) + # app.include_router(e_stripe.router, prefix='/e/stripe', tags=['External Service: Stripe']) diff --git a/tests/archive/reproduce_event_file_bug.py b/tests/archive/reproduce_event_file_bug.py deleted file mode 100644 index 91dacd9..0000000 --- a/tests/archive/reproduce_event_file_bug.py +++ /dev/null @@ -1,35 +0,0 @@ -import sys -import os - -# Set up project root for imports -sys.path.append(os.getcwd()) - -# 1. Initialize Mock Config Helper BEFORE other imports -import tests.mock_config_helper -from app.config import settings - -# Now set some REAL values for DB connection so it actually works -import os -settings.DB_SERVER = "vpn-db.oneskyit.com" -settings.DB_USER = "aether_dev" -settings.DB_PASS = "$1sky.AE_dev.2023" -settings.DB_NAME = "aether_dev" -settings.DB_PORT = 3306 -settings.REDIS = {"server": "127.0.0.1", "port": 6379} -settings.FILES_PATH = {"hosted_files_root": "/home/scott/tmp/gemini_trash"} # Dummy - -from app.methods.event_file_methods import load_event_file_obj -from app.db_sql import get_id_random - -print("--- Testing get_id_random directly ---") -print(f"event ID 1 -> {get_id_random(1, 'event')}") -print(f"session ID 543 -> {get_id_random(543, 'event_session')}") -print(f"presenter ID 1629 -> {get_id_random(1629, 'event_presenter')}") - -print("\n--- Testing load_event_file_obj for a2pPIT_W28o ---") -res = load_event_file_obj('a2pPIT_W28o', model_as_dict=True) -if res: - import json - print(json.dumps(res, indent=4)) -else: - print("Failed to load object.")