Clean up of new CRUD PATCH endpoint and other updates

This commit is contained in:
Scott Idem
2022-11-29 14:43:35 -05:00
parent 188947ecad
commit 3de7d580dc

View File

@@ -69,86 +69,86 @@ obj_type_li = {}
#obj_type_li['api_key'] = {'table_name': 'api_key', 'base_name': Api_Key_Base} #obj_type_li['api_key'] = {'table_name': 'api_key', 'base_name': Api_Key_Base}
#obj_type_li['api_token'] = {'table_name': 'api_token', 'base_name': Api_Token_Base} #obj_type_li['api_token'] = {'table_name': 'api_token', 'base_name': Api_Token_Base}
obj_type_li['account'] = {'table_name': 'account', 'base_name': Account_Base} obj_type_li['account'] = {'table_name': 'account', 'tbl_name_update': 'account', 'base_name': Account_Base}
obj_type_li['account_cfg'] = {'table_name': 'v_account_cfg', 'base_name': Account_Cfg_Base} # NOTE check view name: *_detail? obj_type_li['account_cfg'] = {'table_name': 'v_account_cfg', 'tbl_name_update': 'account_cfg', 'base_name': Account_Cfg_Base} # NOTE check view name: *_detail?
obj_type_li['activity_log'] = {'table_name': 'activity_log', 'base_name': Activity_Log_Base} obj_type_li['activity_log'] = {'table_name': 'activity_log', 'tbl_name_update': 'activity_log', 'base_name': Activity_Log_Base}
obj_type_li['address'] = {'table_name': 'v_address', 'base_name': Address_Base} obj_type_li['address'] = {'table_name': 'v_address', 'tbl_name_update': 'address', 'base_name': Address_Base}
obj_type_li['archive'] = {'table_name': 'v_archive', 'base_name': Archive_Base} obj_type_li['archive'] = {'table_name': 'v_archive', 'tbl_name_update': 'archive', 'base_name': Archive_Base}
obj_type_li['archive_content'] = {'table_name': 'v_archive_content', 'base_name': Archive_Content_Base} obj_type_li['archive_content'] = {'table_name': 'v_archive_content', 'tbl_name_update': 'archive_content', 'base_name': Archive_Content_Base}
#obj_type_li['change_log'] = {'table_name': 'change_log', 'base_name': Change_Log_Base} #obj_type_li['change_log'] = {'table_name': 'change_log', 'tbl_name_update': 'change_log', 'base_name': Change_Log_Base}
obj_type_li['contact'] = {'table_name': 'v_contact', 'base_name': Contact_Base} obj_type_li['contact'] = {'table_name': 'v_contact', 'tbl_name_update': 'contact', 'base_name': Contact_Base}
obj_type_li['cont_edu_cert'] = {'table_name': 'v_cont_edu_cert', 'base_name': Cont_Edu_Cert_Base} obj_type_li['cont_edu_cert'] = {'table_name': 'v_cont_edu_cert', 'tbl_name_update': 'cont_edu_cert', 'base_name': Cont_Edu_Cert_Base}
obj_type_li['cont_edu_cert_person'] = {'table_name': 'v_cont_edu_cert_person', 'base_name': Cont_Edu_Cert_Person_Base} obj_type_li['cont_edu_cert_person'] = {'table_name': 'v_cont_edu_cert_person', 'tbl_name_update': 'cont_edu_cert_person', 'base_name': Cont_Edu_Cert_Person_Base}
obj_type_li['event'] = {'table_name': 'v_event', 'base_name': Event_Base} obj_type_li['event'] = {'table_name': 'v_event', 'tbl_name_update': 'event', 'base_name': Event_Base}
obj_type_li['event_badge'] = {'table_name': 'event_badge', 'base_name': Event_Badge_Base} obj_type_li['event_badge'] = {'table_name': 'event_badge', 'tbl_name_update': 'event_badge', 'base_name': Event_Badge_Base}
#obj_type_li['event_badge_log'] = {'table_name': 'event_badge_log', 'base_name': Event_Badge_Log_Base} #obj_type_li['event_badge_log'] = {'table_name': 'event_badge_log', 'tbl_name_update': 'event_badge_log', 'base_name': Event_Badge_Log_Base}
#obj_type_li['event_badge_template'] = {'table_name': 'event_badge_template', 'base_name': Event_Badge_Template_Base} #obj_type_li['event_badge_template'] = {'table_name': 'event_badge_template', 'tbl_name_update': 'event_badge_template', 'base_name': Event_Badge_Template_Base}
#obj_type_li['event_device'] = {'table_name': 'event_device', 'base_name': Event_Device_Base} #obj_type_li['event_device'] = {'table_name': 'event_device', 'tbl_name_update': 'event_device', 'base_name': Event_Device_Base}
obj_type_li['event_exhibit'] = {'table_name': 'v_event_exhibit', 'base_name': Event_Exhibit_Base} # NOTE check view name: *_detail? obj_type_li['event_exhibit'] = {'table_name': 'v_event_exhibit', 'tbl_name_update': 'event_exhibit', 'base_name': Event_Exhibit_Base} # NOTE check view name: *_detail?
obj_type_li['event_exhibit_tracking'] = {'table_name': 'v_event_exhibit_tracking', 'base_name': Event_Exhibit_Tracking_Base} obj_type_li['event_exhibit_tracking'] = {'table_name': 'v_event_exhibit_tracking', 'tbl_name_update': 'event_exhibit_tracking', 'base_name': Event_Exhibit_Tracking_Base}
# NOTE: Using v_event_file_simple instead of v_event_file because of linking with for_type and for_id versus event_id, event_session_id, event_presenter_id, etc. 2022-08-19 # NOTE: Using v_event_file_simple instead of v_event_file because of linking with for_type and for_id versus event_id, event_session_id, event_presenter_id, etc. 2022-08-19
# NOTE: This will not pull in linked to details like a session name, presentation time, or presenter name. # NOTE: This will not pull in linked to details like a session name, presentation time, or presenter name.
obj_type_li['event_file'] = {'table_name': 'v_event_file_simple', 'base_name': Event_File_Base} # Should this eventually be changed to event_hosted_file obj_type_li['event_file'] = {'table_name': 'v_event_file_simple', 'tbl_name_update': 'event_file_simple', 'base_name': Event_File_Base} # Should this eventually be changed to event_hosted_file
obj_type_li['event_location'] = {'table_name': 'v_event_location', 'base_name': Event_Location_Base} obj_type_li['event_location'] = {'table_name': 'v_event_location', 'tbl_name_update': 'event_location', 'base_name': Event_Location_Base}
obj_type_li['event_person'] = {'table_name': 'v_event_person', 'base_name': Event_Person_Base} obj_type_li['event_person'] = {'table_name': 'v_event_person', 'tbl_name_update': 'event_person', 'base_name': Event_Person_Base}
obj_type_li['event_person_tracking'] = {'table_name': 'v_event_person_tracking', 'base_name': Event_Person_Tracking_Base} obj_type_li['event_person_tracking'] = {'table_name': 'v_event_person_tracking', 'tbl_name_update': 'event_person_tracking', 'base_name': Event_Person_Tracking_Base}
obj_type_li['event_presentation'] = {'table_name': 'v_event_presentation', 'base_name': Event_Presentation_Base} obj_type_li['event_presentation'] = {'table_name': 'v_event_presentation', 'tbl_name_update': 'event_presentation', 'base_name': Event_Presentation_Base}
obj_type_li['event_presenter'] = {'table_name': 'v_event_presenter', 'base_name': Event_Presenter_Base} obj_type_li['event_presenter'] = {'table_name': 'v_event_presenter', 'tbl_name_update': 'event_presenter', 'base_name': Event_Presenter_Base}
obj_type_li['event_registration'] = {'table_name': 'v_event_registration', 'base_name': Event_Registration_Base} obj_type_li['event_registration'] = {'table_name': 'v_event_registration', 'tbl_name_update': 'event_registration', 'base_name': Event_Registration_Base}
obj_type_li['event_session'] = {'table_name': 'v_event_session', 'base_name': Event_Session_Base} obj_type_li['event_session'] = {'table_name': 'v_event_session', 'tbl_name_update': 'event_session', 'base_name': Event_Session_Base}
obj_type_li['event_track'] = {'table_name': 'v_event_track', 'base_name': Event_Track_Base} obj_type_li['event_track'] = {'table_name': 'v_event_track', 'tbl_name_update': 'event_track', 'base_name': Event_Track_Base}
obj_type_li['hosted_file'] = {'table_name': 'v_hosted_file', 'base_name': Hosted_File_Base} obj_type_li['hosted_file'] = {'table_name': 'v_hosted_file', 'tbl_name_update': 'hosted_file', 'base_name': Hosted_File_Base}
#obj_type_li['hosted_file_link'] = {'table_name': 'hosted_file_link', 'base_name': Hosted_File_Link_Base} #obj_type_li['hosted_file_link'] = {'table_name': 'hosted_file_link', 'tbl_name_update': 'hosted_file_link', 'base_name': Hosted_File_Link_Base}
obj_type_li['journal'] = {'table_name': 'v_journal', 'base_name': Journal_Base} obj_type_li['journal'] = {'table_name': 'v_journal', 'tbl_name_update': 'journal', 'base_name': Journal_Base}
obj_type_li['journal_entry'] = {'table_name': 'v_journal_entry', 'base_name': Journal_Entry_Base} obj_type_li['journal_entry'] = {'table_name': 'v_journal_entry', 'tbl_name_update': 'journal_entry', 'base_name': Journal_Entry_Base}
#obj_type_li['log'] = {'table_name': 'log', 'base_name': Log_Base} #'v_log' #obj_type_li['log'] = {'table_name': 'log', 'tbl_name_update': 'log', 'base_name': Log_Base} #'v_log'
obj_type_li['log_client_viewing'] = {'table_name': 'log_client_viewing', 'base_name': Log_Client_Viewing_Base} obj_type_li['log_client_viewing'] = {'table_name': 'log_client_viewing', 'tbl_name_update': 'log_client_viewing', 'base_name': Log_Client_Viewing_Base}
obj_type_li['membership_cfg'] = {'table_name': 'v_membership_cfg', 'base_name': Membership_Cfg_Base} obj_type_li['membership_cfg'] = {'table_name': 'v_membership_cfg', 'tbl_name_update': 'membership_cfg', 'base_name': Membership_Cfg_Base}
obj_type_li['membership_group'] = {'table_name': 'v_membership_group', 'base_name': Membership_Group_Base} obj_type_li['membership_group'] = {'table_name': 'v_membership_group', 'tbl_name_update': 'membership_group', 'base_name': Membership_Group_Base}
obj_type_li['membership_person_group'] = {'table_name': 'v_membership_person_group', 'base_name': Membership_Person_Group_Base} obj_type_li['membership_person_group'] = {'table_name': 'v_membership_person_group', 'tbl_name_update': 'membership_person_group', 'base_name': Membership_Person_Group_Base}
obj_type_li['membership_person'] = {'table_name': 'v_membership_person', 'base_name': Membership_Person_Base} obj_type_li['membership_person'] = {'table_name': 'v_membership_person', 'tbl_name_update': 'membership_person', 'base_name': Membership_Person_Base}
obj_type_li['membership_person_profile'] = {'table_name': 'v_membership_person_profile', 'base_name': Membership_Person_Profile_Base} obj_type_li['membership_person_profile'] = {'table_name': 'v_membership_person_profile', 'tbl_name_update': 'membership_person_profile', 'base_name': Membership_Person_Profile_Base}
obj_type_li['membership_type'] = {'table_name': 'v_membership_type', 'base_name': Membership_Type_Base} obj_type_li['membership_type'] = {'table_name': 'v_membership_type', 'tbl_name_update': 'membership_type', 'base_name': Membership_Type_Base}
obj_type_li['membership_person_type'] = {'table_name': 'v_membership_person_type', 'base_name': Membership_Person_Type_Base} obj_type_li['membership_person_type'] = {'table_name': 'v_membership_person_type', 'tbl_name_update': 'membership_person_type', 'base_name': Membership_Person_Type_Base}
#obj_type_li['message'] = {'table_name': 'message', 'base_name': Message_Base} #'v_message' #obj_type_li['message'] = {'table_name': 'message', 'tbl_name_update': 'message', 'base_name': Message_Base} #'v_message'
obj_type_li['order'] = {'table_name': 'v_order', 'base_name': Order_Base} obj_type_li['order'] = {'table_name': 'v_order', 'tbl_name_update': 'order', 'base_name': Order_Base}
obj_type_li['order_cart'] = {'table_name': 'v_order_cart', 'base_name': Order_Cart_Base} obj_type_li['order_cart'] = {'table_name': 'v_order_cart', 'tbl_name_update': 'order_cart', 'base_name': Order_Cart_Base}
obj_type_li['order_cart_line'] = {'table_name': 'v_order_cart_line', 'base_name': Order_Cart_Line_Base} obj_type_li['order_cart_line'] = {'table_name': 'v_order_cart_line', 'tbl_name_update': 'order_cart_line', 'base_name': Order_Cart_Line_Base}
obj_type_li['order_line'] = {'table_name': 'v_order_line', 'base_name': Order_Line_Base} obj_type_li['order_line'] = {'table_name': 'v_order_line', 'tbl_name_update': 'order_line', 'base_name': Order_Line_Base}
#obj_type_li['order_transaction'] = {'table_name': 'order_transaction', 'base_name': Order_Transaction_Base} #obj_type_li['order_transaction'] = {'table_name': 'order_transaction', 'tbl_name_update': 'order_transaction', 'base_name': Order_Transaction_Base}
obj_type_li['organization'] = {'table_name': 'v_organization', 'base_name': Organization_Base} obj_type_li['organization'] = {'table_name': 'v_organization', 'tbl_name_update': 'organization', 'base_name': Organization_Base}
obj_type_li['page'] = {'table_name': 'page', 'base_name': Page_Base} obj_type_li['page'] = {'table_name': 'page', 'tbl_name_update': 'page', 'base_name': Page_Base}
obj_type_li['person'] = {'table_name': 'v_person', 'base_name': Person_Base} obj_type_li['person'] = {'table_name': 'v_person', 'tbl_name_update': 'person', 'base_name': Person_Base}
obj_type_li['post'] = {'table_name': 'v_post', 'base_name': Post_Base} # NOTE check view name: *_detail? obj_type_li['post'] = {'table_name': 'v_post', 'tbl_name_update': 'post', 'base_name': Post_Base} # NOTE check view name: *_detail?
obj_type_li['post_comment'] = {'table_name': 'v_post_comment', 'base_name': Post_Comment_Base} # NOTE check view name: *_detail? obj_type_li['post_comment'] = {'table_name': 'v_post_comment', 'tbl_name_update': 'post_comment', 'base_name': Post_Comment_Base} # NOTE check view name: *_detail?
obj_type_li['product'] = {'table_name': 'v_product', 'base_name': Product_Base} obj_type_li['product'] = {'table_name': 'v_product', 'tbl_name_update': 'product', 'base_name': Product_Base}
obj_type_li['site'] = {'table_name': 'site', 'base_name': Site_Base} obj_type_li['site'] = {'table_name': 'site', 'tbl_name_update': 'site', 'base_name': Site_Base}
obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'base_name': Site_Domain_Base} # NOTE check view name: *_detail? obj_type_li['site_domain'] = {'table_name': 'v_site_domain', 'tbl_name_update': 'site_domain', 'base_name': Site_Domain_Base} # NOTE check view name: *_detail?
obj_type_li['user'] = {'table_name': 'v_user', 'base_name': User_Base} obj_type_li['user'] = {'table_name': 'v_user', 'tbl_name_update': 'user', 'base_name': User_Base}
obj_type_li['user_role'] = {'table_name': 'v_user_role', 'base_name': User_Role_Base} # NOTE check view name: *_detail? obj_type_li['user_role'] = {'table_name': 'v_user_role', 'tbl_name_update': 'user_role', 'base_name': User_Role_Base} # NOTE check view name: *_detail?
#obj_type_li['lu_country'] = {'table_name': 'lu_country', 'base_name': Lu_Country_Base} #obj_type_li['lu_country'] = {'table_name': 'lu_country', 'tbl_name_update': 'lu_country', 'base_name': Lu_Country_Base}
#obj_type_li['lu_country_subdivision'] = {'table_name': 'lu_country_subdivision', 'base_name': Lu_Country_Subdivision_Base} #obj_type_li['lu_country_subdivision'] = {'table_name': 'lu_country_subdivision', 'tbl_name_update': 'lu_country_subdivision', 'base_name': Lu_Country_Subdivision_Base}
#obj_type_li['lu_education_degree'] = {'table_name': 'lu_education_degree', 'base_name': Lu_Education_Degree_Base} #obj_type_li['lu_education_degree'] = {'table_name': 'lu_education_degree', 'tbl_name_update': 'lu_education_degree', 'base_name': Lu_Education_Degree_Base}
#obj_type_li['lu_education_level'] = {'table_name': 'lu_education_level', 'base_name': Lu_Education_Level_Base} #obj_type_li['lu_education_level'] = {'table_name': 'lu_education_level', 'tbl_name_update': 'lu_education_level', 'base_name': Lu_Education_Level_Base}
#obj_type_li['lu_ethnicity'] = {'table_name': 'lu_ethnicity', 'base_name': Lu_Ethnicity_Base} #obj_type_li['lu_ethnicity'] = {'table_name': 'lu_ethnicity', 'tbl_name_update': 'lu_ethnicity', 'base_name': Lu_Ethnicity_Base}
#obj_type_li['lu_file_purpose'] = {'table_name': 'lu_file_purpose', 'base_name': Lu_File_Purpose_Base} #obj_type_li['lu_file_purpose'] = {'table_name': 'lu_file_purpose', 'tbl_name_update': 'lu_file_purpose', 'base_name': Lu_File_Purpose_Base}
#obj_type_li['lu_gender'] = {'table_name': 'lu_gender', 'base_name': Lu_Gender_Base} #obj_type_li['lu_gender'] = {'table_name': 'lu_gender', 'tbl_name_update': 'lu_gender', 'base_name': Lu_Gender_Base}
#obj_type_li['lu_html_color'] = {'table_name': 'lu_html_color', 'base_name': Lu_Html_Color_Base} #obj_type_li['lu_html_color'] = {'table_name': 'lu_html_color', 'tbl_name_update': 'lu_html_color', 'base_name': Lu_Html_Color_Base}
#obj_type_li['lu_media_type'] = {'table_name': 'lu_media_type', 'base_name': Lu_Media_Type_Base} #obj_type_li['lu_media_type'] = {'table_name': 'lu_media_type', 'tbl_name_update': 'lu_media_type', 'base_name': Lu_Media_Type_Base}
#obj_type_li['lu_membership_status'] = {'table_name': 'lu_membership_status', 'base_name': Lu_Membership_Status_Base} #obj_type_li['lu_membership_status'] = {'table_name': 'lu_membership_status', 'tbl_name_update': 'lu_membership_status', 'base_name': Lu_Membership_Status_Base}
#obj_type_li['lu_membership_type'] = {'table_name': 'lu_membership_type', 'base_name': Lu_Membership_Type_Base} #obj_type_li['lu_membership_type'] = {'table_name': 'lu_membership_type', 'tbl_name_update': 'lu_membership_type', 'base_name': Lu_Membership_Type_Base}
#obj_type_li['lu_order_status'] = {'table_name': 'lu_order_status', 'base_name': Lu_Order_Status_Base} #obj_type_li['lu_order_status'] = {'table_name': 'lu_order_status', 'tbl_name_update': 'lu_order_status', 'base_name': Lu_Order_Status_Base}
#obj_type_li['lu_post_topic'] = {'table_name': 'lu_post_topic', 'base_name': Lu_Post_Topic_Base} #obj_type_li['lu_post_topic'] = {'table_name': 'lu_post_topic', 'tbl_name_update': 'lu_post_topic', 'base_name': Lu_Post_Topic_Base}
#obj_type_li['lu_product_type'] = {'table_name': 'lu_product_type', 'base_name': Lu_Product_Type_Base} #obj_type_li['lu_product_type'] = {'table_name': 'lu_product_type', 'tbl_name_update': 'lu_product_type', 'base_name': Lu_Product_Type_Base}
#obj_type_li['lu_pronoun'] = {'table_name': 'lu_pronoun', 'base_name': Lu_Pronoun_Base} #obj_type_li['lu_pronoun'] = {'table_name': 'lu_pronoun', 'tbl_name_update': 'lu_pronoun', 'base_name': Lu_Pronoun_Base}
#obj_type_li['lu_race'] = {'table_name': 'lu_race', 'base_name': Lu_Race_Base} #obj_type_li['lu_race'] = {'table_name': 'lu_race', 'tbl_name_update': 'lu_race', 'base_name': Lu_Race_Base}
#obj_type_li['lu_time_zone'] = {'table_name': 'v_lu_time_zone', 'base_name': Lu_Time_Zone_Base} #obj_type_li['lu_time_zone'] = {'table_name': 'v_lu_time_zone', 'tbl_name_update': 'lu_time_zone', 'base_name': Lu_Time_Zone_Base}
#obj_type_li['lu_user_role'] = {'table_name': 'lu_user_role', 'base_name': Lu_User_Role_Base} #obj_type_li['lu_user_role'] = {'table_name': 'lu_user_role', 'tbl_name_update': 'lu_user_role', 'base_name': Lu_User_Role_Base}
#obj_type_li['lu_user_status'] = {'table_name': 'lu_user_status', 'base_name': Lu_User_Status_Base} #obj_type_li['lu_user_status'] = {'table_name': 'lu_user_status', 'tbl_name_update': 'lu_user_status', 'base_name': Lu_User_Status_Base}
#obj_type_li['stripe_customer'] = {'table_name': 'stripe_customer', 'base_name': Stripe_Customer_Base} #obj_type_li['stripe_customer'] = {'table_name': 'stripe_customer', 'tbl_name_update': 'stripe_customer', 'base_name': Stripe_Customer_Base}
obj_type_li['stripe_log'] = {'table_name': 'stripe_log', 'base_name': Stripe_Log_Base_In} obj_type_li['stripe_log'] = {'table_name': 'stripe_log', 'tbl_name_update': 'stripe_log', 'base_name': Stripe_Log_Base_In}
# obj_type_li['c_idda_membership_person_profile'] = {'table_name': 'c_idda_membership_person_profile', 'base_name': C_Idda_membership_person_profile_Base} # obj_type_li['c_idda_membership_person_profile'] = {'table_name': 'c_idda_membership_person_profile', 'base_name': C_Idda_membership_person_profile_Base}
# obj_type_li['c_osit_demo_membership_person_profile'] = {'table_name': 'c_osit_demo_membership_person_profile', 'base_name': C_Osit_Demo_membership_person_profile_Base} # obj_type_li['c_osit_demo_membership_person_profile'] = {'table_name': 'c_osit_demo_membership_person_profile', 'base_name': C_Osit_Demo_membership_person_profile_Base}
@@ -327,6 +327,8 @@ async def get_obj(
return mk_resp(data=False, status_code=404, response=response) return mk_resp(data=False, status_code=404, response=response)
# ### BEGIN ### API CRUD ### patch_obj() ###
# Updated 2022-11-29
@router.patch('/{obj_type_l1}/{obj_id}') @router.patch('/{obj_type_l1}/{obj_id}')
@router.patch('/{obj_type_l1}/{obj_type_l2}/{obj_id}') @router.patch('/{obj_type_l1}/{obj_type_l2}/{obj_id}')
@router.patch('/{obj_type_l1}/{obj_type_l2}/{obj_type_l3}/{obj_id}') @router.patch('/{obj_type_l1}/{obj_type_l2}/{obj_type_l3}/{obj_id}')
@@ -337,6 +339,7 @@ async def patch_obj(
obj_type_l3: str = None, obj_type_l3: str = None,
obj_id: str = Query(..., min_length=11, max_length=22), obj_id: str = Query(..., min_length=11, max_length=22),
run_safety_check: bool = True,
# for_obj_type: Optional[str] = Query(None, max_length=50), # for_obj_type: Optional[str] = Query(None, max_length=50),
# for_obj_id: Optional[str] = Query(None, max_length=22), # for_obj_id: Optional[str] = Query(None, max_length=22),
@@ -357,7 +360,7 @@ async def patch_obj(
- /order/cart/line = order_cart_line - /order/cart/line = order_cart_line
- /lu/some_lookup = lu_some_lookup - /lu/some_lookup = lu_some_lookup
""" """
log.setLevel(logging.DEBUG) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL log.setLevel(logging.WARNING) # DEBUG, INFO, WARNING, ERROR, EXCEPTION, CRITICAL
log.debug(locals()) log.debug(locals())
if crud.super_key == '789123': pass if crud.super_key == '789123': pass
@@ -390,21 +393,21 @@ async def patch_obj(
obj_name = f'{obj_type_l1}_{obj_type_l2}_{obj_type_l3}' obj_name = f'{obj_type_l1}_{obj_type_l2}_{obj_type_l3}'
if obj_name in obj_type_li: if obj_name in obj_type_li:
#table_name = obj_type_li[obj_name] #table_name = obj_type_li[obj_name]
#table_name = obj_type_li[obj_name]['table_name'] #table_name = obj_type_li[obj_name]['tbl_name_update']
pass pass
else: else:
return mk_resp(data=False, status_code=400, response=commons.response) return mk_resp(data=False, status_code=400, response=commons.response)
elif obj_type_l1 and obj_type_l2: elif obj_type_l1 and obj_type_l2:
obj_name = f'{obj_type_l1}_{obj_type_l2}' obj_name = f'{obj_type_l1}_{obj_type_l2}'
if obj_name in obj_type_li: if obj_name in obj_type_li:
#table_name = obj_type_li[obj_name]['table_name'] #table_name = obj_type_li[obj_name]['tbl_name_update']
pass pass
else: else:
return mk_resp(data=False, status_code=400, response=commons.response) return mk_resp(data=False, status_code=400, response=commons.response)
elif obj_type_l1: elif obj_type_l1:
obj_name = f'{obj_type_l1}' obj_name = f'{obj_type_l1}'
if obj_name in obj_type_li: if obj_name in obj_type_li:
#table_name = obj_type_li[obj_name]['table_name'] #table_name = obj_type_li[obj_name]['tbl_name_update']
pass pass
else: else:
return mk_resp(data=False, status_code=400, response=commons.response) return mk_resp(data=False, status_code=400, response=commons.response)
@@ -412,25 +415,34 @@ async def patch_obj(
log.warning('We should not be here') log.warning('We should not be here')
return mk_resp(data=False, status_code=400, response=commons.response) return mk_resp(data=False, status_code=400, response=commons.response)
table_name = obj_type_li[obj_name]['table_name'] table_name = obj_type_li[obj_name]['tbl_name_update']
# ### SECTION ### Secondary data validation # ### SECTION ### Secondary data validation
obj_id_random = obj_id # This is used later for the response data # obj_id_random = obj_id # This might need to be used later for the response data
if obj_id := redis_lookup_id_random(record_id_random=obj_id, table_name=table_name): pass if obj_id := redis_lookup_id_random(record_id_random=obj_id, table_name=table_name): pass
else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The object ID was invalid or not found.') else: return mk_resp(data=None, status_code=404, response=commons.response, status_message='The object ID was invalid or not found.')
# obj_id = 999999 # NOTE: Doing a quick sanity check based on the object models and then dump to a dict to get rid of invalid fields. The other option is to just use the crud.data_list raw.
crud_data = crud.data_list
if run_safety_check:
log.info('Running safety check by default')
base_name = obj_type_li[obj_name]['base_name']
obj_model = base_name(**crud.data_list) # .dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset)
log.debug(obj_model)
obj_dict = obj_model.dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset)
log.debug(obj_dict)
crud_data = obj_dict
else:
log.warning('The default safety check was not run!')
# NOTE: Add a check for the object ID... assuming it is a random ID string for now. # NOTE: Add a check for the object ID... assuming it is a random ID string for now.
if sql_result := sql_update(data=crud.data_list, table_name=table_name, record_id=obj_id, log_lvl=logging.INFO): if sql_result := sql_update(data=crud_data, table_name=table_name, record_id=obj_id, log_lvl=logging.INFO):
log.info('The record was updated.') log.info('The record was updated.')
log.debug(sql_result) log.debug(sql_result)
base_name = obj_type_li[obj_name]['base_name'] resp_data = {}
# resp_data = base_name(**sql_result).dict(by_alias=commons.by_alias, exclude_unset=commons.exclude_unset) resp_data['table_name'] = table_name
resp_data = { 'base_name': base_name, 'request_data': crud.data_list } resp_data['request_data'] = obj_dict
resp_data = 'Record updated!'
return mk_resp(data=resp_data, response=commons.response) #, details=debug_data) return mk_resp(data=resp_data, response=commons.response) #, details=debug_data)
elif sql_result == None: elif sql_result == None:
@@ -441,7 +453,7 @@ async def patch_obj(
log.info('Something unexpected happened while trying to runt he SQL UPDATE. The fields or field values passed may not be valid for the table.') log.info('Something unexpected happened while trying to runt he SQL UPDATE. The fields or field values passed may not be valid for the table.')
log.debug(sql_result) log.debug(sql_result)
return mk_resp(data=False, status_code=400, status_message='Something unexpected happened while trying to runt he SQL UPDATE. The fields or field values passed may not be valid for the table.', response=commons.response) return mk_resp(data=False, status_code=400, status_message='Something unexpected happened while trying to runt he SQL UPDATE. The fields or field values passed may not be valid for the table.', response=commons.response)
# ### END ### API CRUD ### patch_obj() ###
@router.delete('/{obj_type_l1}/{obj_id}') @router.delete('/{obj_type_l1}/{obj_id}')