diff --git a/admin/development/test_v3_search.py b/admin/development/test_v3_search.py new file mode 100644 index 0000000..7c9b827 --- /dev/null +++ b/admin/development/test_v3_search.py @@ -0,0 +1,137 @@ +import requests +import json + +# Configuration +BASE_URL = "https://dev-api.oneskyit.com/v3/crud" +# Valid account id_random provided by user +ACCOUNT_ID = "nqOzejLCDXM" + +headers = { + "X-Account-ID": ACCOUNT_ID, + "Content-Type": "application/json" +} + +def test_search(obj_type, query, description): + """ + Helper to run a search test and print results. + """ + print(f"--- Testing: {description} ---") + url = f"{BASE_URL}/{obj_type}/search" + + try: + response = requests.post(url, headers=headers, json=query) + print(f"Status Code: {response.status_code}") + + data = response.json() + + # Check if the result is a list or single object + result_data = data.get('data') + if isinstance(result_data, list): + print(f"Result Count: {len(result_data)}") + if len(result_data) > 0: + # Print first item as example + print(f"First Item Example: {json.dumps(result_data[0], indent=2)[:200]}...") + else: + print(f"Result Type: {type(result_data)}") + print(f"Result Data: {json.dumps(result_data, indent=2)}") + + if response.status_code != 200: + print(f"Meta Details: {json.dumps(data.get('meta', {}), indent=2)}") + + except requests.exceptions.ConnectionError: + print(f"Error: Could not connect to {BASE_URL}. Is the API running?") + except Exception as e: + print(f"Error during test: {e}") + print("-" * 40 + "\n") + +if __name__ == "__main__": + print(f"Starting Aether V3 Search Tests against {BASE_URL}\n") + + # 1. Simple Equality + # Tests 'eq' operator on 'journal' + query_eq = { + "and": [ + {"field": "enable", "op": "eq", "value": True} + ] + } + test_search("journal", query_eq, "Simple Equality (enable=True)") + + # 2. LIKE search + # Tests 'like' operator with wildcards on 'name' field (corrected from 'title') + # Using '%' to catch any journals with names + query_like = { + "and": [ + {"field": "name", "op": "like", "value": "%"} + ] + } + test_search("journal", query_like, "LIKE search (name LIKE '%')") + + # 3. Numeric Comparison + # Tests 'gt' (Greater Than) operator + query_gt = { + "and": [ + {"field": "id", "op": "gt", "value": 0} + ] + } + test_search("journal", query_gt, "Numeric Comparison (internal id > 0)") + + # 4. Complex Nested Logic (AND + OR) + # Tests recursive grouping: (enable=True) AND (name LIKE % % OR summary IS NOT NULL) + query_nested = { + "and": [ + {"field": "enable", "op": "eq", "value": True}, + { + "or": [ + {"field": "name", "op": "like", "value": "%Journal%"}, + {"field": "summary", "op": "is_not_null"} + ] + } + ] + } + test_search("journal", query_nested, "Nested Logic (AND + OR group)") + + # 5. IN List + # Tests 'in' operator with a list of values + # Based on previous results, we know id 1 exists for journal + query_in = { + "and": [ + {"field": "journal_id", "op": "in", "value": [1, 2, 3]} + ] + } + test_search("journal_entry", query_in, "IN List search (journal_entry with journal_id in [1,2,3])") + + # 6. NULL Check + # Tests 'is_null' operator + query_null = { + "and": [ + {"field": "notes", "op": "is_null"} + ] + } + test_search("site", query_null, "Null Check (notes is NULL)") + + # 7. Event Search + query_event = { + "and": [ + {"field": "enable", "op": "eq", "value": True}, + {"field": "name", "op": "like", "value": "%"} + ] + } + test_search("event", query_event, "Event Search (enable=True and has name)") + + # 8. Event Badge Search + query_badge = { + "and": [ + {"field": "event_id", "op": "gt", "value": 0} + ] + } + test_search("event_badge", query_badge, "Event Badge Search (event_id > 0)") + + # 9. Event Location Search + query_location = { + "and": [ + {"field": "name", "op": "like", "value": "%"} + ] + } + test_search("event_location", query_location, "Event Location Search (has name)") + + print("Tests Complete.") \ No newline at end of file diff --git a/app/ae_obj_types_def.py b/app/ae_obj_types_def.py index 68b37fc..019934f 100644 --- a/app/ae_obj_types_def.py +++ b/app/ae_obj_types_def.py @@ -1,7 +1,12 @@ +""" +This file centralizes the object type definitions for the Aether API. +It merges definitions from modular files in app/object_definitions/ to support +both V2 (legacy) and V3 CRUD operations. +""" + +# Restore blanket imports for legacy compatibility (V1 and V2 rely on these) from app.models.response_models import * - from app.models.api_crud_models import * - from app.models.account_models import * from app.models.account_cfg_models import * from app.models.activity_log_models import * @@ -54,782 +59,26 @@ from app.models.sponsorship_cfg_models import * from app.models.sponsorship_models import * from app.models.user_models import * from app.models.user_role_models import * - from app.models.e_stripe_models import * +# Modularized definitions +from app.object_definitions.core import core_obj_li +from app.object_definitions.events import event_obj_li +from app.object_definitions.journals import journal_obj_li +from app.object_definitions.orders import order_obj_li +from app.object_definitions.cms import cms_obj_li +from app.object_definitions.lookups import lu_obj_li +from app.object_definitions.membership import membership_obj_li +from app.object_definitions.other import other_obj_li +# Merge all modular definitions into the main registry obj_type_kv_li = { - 'activity_log': { - 'tbl': 'activity_log', - 'tbl_default': 'v_activity_log', - 'tbl_update': 'activity_log', - 'mdl': Activity_Log_Base, - 'mdl_default': Activity_Log_Base, - 'mdl_in': Activity_Log_Base, - 'mdl_out': Activity_Log_Base, - # Legacy V2 keys: - 'table_name': 'v_activity_log', - 'tbl_name_update': 'activity_log', - 'base_name': Activity_Log_Base, - }, - 'sponsorship': { - 'tbl': 'sponsorship', - 'tbl_default': 'v_sponsorship', - 'tbl_update': 'sponsorship', - 'mdl': Sponsorship_Base, - 'mdl_default': Sponsorship_Base, - 'mdl_in': Sponsorship_Base, - 'mdl_out': Sponsorship_Base, - # Legacy V2 keys: - 'table_name': 'v_sponsorship', - 'tbl_name_update': 'sponsorship', - 'base_name': Sponsorship_Base, - 'exp_default': [ - 'sponsorship_id_random', - # 'account_id_random', 'sponsorship_cfg_id_random', - 'name', 'description', 'website_url', - # 'logo_li_json', 'media_li_json', - # 'social_li_json', 'address_li_json', 'contact_li_json', - # 'other', - 'level_num', 'level_str', - # 'amount', 'paid', - 'agree', - # 'selected_option_li_json', 'questions_li_json', - 'guest_li_json', - # 'staff_notes', - 'comments', - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - - # 'poc__full_name', 'poc__email', 'poc__phone_mobile', - # 'address__mailing', - # 'logo__primary', 'logo__light', 'logo__dark', - # 'questions__accommodations', 'questions__accommodations_text', - # 'questions__public_recognition', 'questions__social_email', 'questions__dedicated_promos', 'questions__table_exhibit', 'questions__table_power', 'questions__plenary_session', 'questions__plenary_opening', 'questions__virtual_session', - - # 'social__facebook', 'social__twitter', 'social__instagram', 'social__linkedin', 'social__org', - - # 'organization_json', 'person_json', 'group_li_json', 'poc_json', - # 'sponsorship_cfg_id_random', 'sponsorship_cfg_name', , 'account_name', - # 'contact__full_name', 'contact__email', 'contact__phone', - # 'contact__1', 'contact__2', 'contact__3', - - # 'guest__title', - # 'guest__dietary', 'guest__full_name', 'guest__comments', 'guest__given_name', , 'guest__ada', 'guest__family_name', 'guest__affiliations', - # 'guest__1', 'guest__2', 'guest__3', 'guest__4', 'guest__5', 'guest__6', 'guest__7', 'guest__8', - ], - }, - 'sponsorship_cfg': { - 'tbl': 'sponsorship_cfg', - 'tbl_default': 'v_sponsorship_cfg', - 'tbl_update': 'sponsorship_cfg', - 'mdl': Sponsorship_Cfg_Base, - 'mdl_default': Sponsorship_Cfg_Base, - # 'mdl_in': None, - # 'mdl_out': None - # Legacy V2 keys: - 'table_name': 'v_sponsorship_cfg', - 'tbl_name_update': 'sponsorship_cfg', - 'base_name': Sponsorship_Cfg_Base, - }, - # Updated 2024-08-14 - 'event': { - 'tbl': 'event', - 'tbl_default': 'v_event', - 'tbl_alt': 'v_event_w_file_count', - 'mdl': Event_Base, - 'mdl_default': Event_Base, - 'mdl_alt': Event_Meeting_Flat_Base, - # Legacy V2 keys: - 'table_name': 'v_event', - 'table_name_alt': 'v_event_w_file_count', - 'tbl_name_update': 'event', - 'base_name': Event_Base, - 'base_name_alt': Event_Meeting_Flat_Base, - 'exp_default': [ - 'event_id_random', - # 'external_person_id', - 'conference', 'type', - 'name', 'description', - # 'format', 'timezone', 'recurring', 'recurring_pattern', 'recurring_start_time', 'recurring_end_time', 'recurring_text', - # 'weekday_sunday', 'weekday_monday', 'weekday_tuesday', 'weekday_wednesday', 'weekday_thursday', 'weekday_friday', 'weekday_saturday', - # location_address_json, - 'location_text', 'physical', 'virtual', - 'attend_url', 'attend_url_text', 'attend_url_passcode', 'attend_phone', 'attend_phone_passcode', 'attend_text', - # attend_json, - 'contact_1_id', 'contact_2_id', - # contact_li_json, - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - # default_qry_str, - ], - 'exp_idaa': [ - 'event_id_random', - 'external_person_id', # IDAA Novi ID - 'conference', 'type', - 'name', 'description', - 'format', 'timezone', 'recurring', 'recurring_pattern', 'recurring_start_time', 'recurring_end_time', 'recurring_text', - 'weekday_sunday', 'weekday_monday', 'weekday_tuesday', 'weekday_wednesday', 'weekday_thursday', 'weekday_friday', 'weekday_saturday', - # location_address_json, - 'location_text', 'physical', 'virtual', - 'attend_url', 'attend_url_passcode', 'attend_phone', 'attend_phone_passcode', 'attend_text', - # attend_json, - 'contact_1_id', 'contact_2_id', - # contact_li_json, - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - # default_qry_str, - ], - }, - 'event_badge': { - 'tbl': 'event_badge', - 'tbl_default': 'v_event_badge', - 'tbl_alt': 'v_event_badge_only', - 'tbl_update': 'event_badge', - 'mdl': Event_Badge_Base, - 'mdl_default': Event_Badge_Basic_Base, - # 'mdl_alt': Event_Badge_Basic_Base - # Legacy V2 keys: - 'table_name': 'v_event_badge', - 'table_name_alt': 'v_event_badge_only', - 'tbl_name_update': 'event_badge', - 'base_name': Event_Badge_Basic_Base, - }, - 'event_badge_template': { - 'tbl': 'event_badge_template', - 'tbl_default': 'v_event_badge_template', - 'tbl_update': 'event_badge_template', - 'mdl': Event_Badge_Template_Base, - 'mdl_default': Event_Badge_Template_Base, - # 'mdl_in': Event_Badge_Template_In_Base, - # 'mdl_out': Event_Badge_Template_Out_Base - # Legacy V2 keys: - 'table_name': 'v_event_badge_template', - 'tbl_name_update': 'event_badge_template', - 'base_name': Event_Badge_Template_Base, - }, - # Updated 2024-08-14 - 'event_device': { - 'tbl': 'event_device', - 'tbl_default': 'v_event_device', - 'tbl_alt': 'v_event_device', - 'mdl': Event_Device_Base, - 'mdl_default': Event_Device_Base, - # Legacy V2 keys: - 'table_name': 'v_event_device', - 'tbl_name_update': 'event_device', - 'base_name': Event_Device_Base, - }, - # Updated 2024-08-14 - 'event_file': { - 'tbl': 'event_file', - 'tbl_default': 'v_event_file_simple', # 'v_event_file' or 'v_event_file_simple' - 'tbl_alt': 'v_event_file', # or 'v_event_file_detail' - 'mdl': Event_File_Base, - 'mdl_default': Event_File_Base, - # Legacy V2 keys: - 'table_name': 'v_event_file_simple', - 'table_name_alt': 'v_event_file', - 'tbl_name_update': 'event_file', - 'base_name': Event_File_Base, - }, # Should this eventually be changed to event_hosted_file - # Updated 2024-08-14 - 'event_location': { - 'tbl': 'event_location', - 'tbl_default': 'v_event_location', - 'tbl_alt': 'v_event_location_w_file_count', - 'mdl': Event_Location_Base, - 'mdl_default': Event_Location_Base, - # Legacy V2 keys: - 'table_name': 'v_event_location', - 'table_name_alt': 'v_event_location_w_file_count', - 'tbl_name_update': 'event_location', - 'base_name': Event_Location_Base, - }, - # Updated 2024-08-14 - 'event_presentation': { - 'tbl': 'event_presentation', - 'tbl_default': 'v_event_presentation', - 'tbl_alt': 'v_event_presentation_w_file_count', - 'mdl': Event_Presentation_Base, - 'mdl_default': Event_Presentation_Base, - # Legacy V2 keys: - 'table_name': 'v_event_presentation', - 'table_name_alt': 'v_event_presentation_w_file_count', - 'tbl_name_update': 'event_presentation', - 'base_name': Event_Presentation_Base, - }, - # Updated 2024-08-14 - 'event_presenter': { - 'tbl': 'event_presenter', - 'tbl_default': 'v_event_presenter', - 'tbl_alt': 'v_event_presenter_w_file_count', - 'tbl_update': 'event_presenter', - 'mdl': Event_Presenter_Base, - 'mdl_default': Event_Presenter_Base, - 'mdl_in': Event_Presenter_Base, - 'mdl_out': Event_Presenter_Out_Base, - # Legacy V2 keys: - 'table_name': 'v_event_presenter', - 'table_name_alt': 'v_event_presenter_w_file_count', - 'tbl_name_update': 'event_presenter', - 'base_name': Event_Presenter_Base, - 'exp_default': [ - 'event_presenter_id_random', - # 'account_id_random', - 'title_names', 'given_name', 'middle_name', 'family_name', 'designations', - 'professional_title', 'full_name', - 'affiliations', - 'email', 'biography', - # 'image_li_json', 'social_li_json', - 'agree', - 'comments', - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2024-08-14 - 'event_session': { - 'tbl': 'event_session', - 'tbl_default': 'v_event_session', - 'tbl_alt': 'v_event_session_w_file_count', - 'tbl_name_update': 'event_session', - 'mdl': Event_Session_Base, - 'mdl_default': Event_Session_Base, - 'exclude_for_db': {'poc_person_id', 'file_count', 'internal_use_count', 'enable_from', 'enable_to', 'event_name', 'event_start_datetime', 'event_end_datetime', 'event_location_name', 'event_track_name', 'event_abstract_list', 'event_badge_list', 'event_device_list', 'event_file_list', 'event_file_internal_use_list', 'event_location', 'event_location_list', 'event_person_list', 'event_presenter_cat', 'event_presentation_list', 'event_presenter_list', 'event_track', 'poc_event_person'}, - # Legacy V2 keys: - 'table_name': 'v_event_session', - 'tbl_name_update': 'event_session', - 'base_name': Event_Session_Base, - }, - # Updated 2024-09-27 - 'archive': { - 'tbl': 'archive', - 'tbl_default': 'v_archive', - 'tbl_update': 'archive', - 'mdl': Archive_Base, - 'mdl_default': Archive_Base, - 'mdl_in': Archive_Base, - 'mdl_out': Archive_Base, - # Legacy V2 keys: - 'table_name': 'v_archive', - 'tbl_name_update': 'archive', - 'base_name': Archive_Base, - 'exp_default': [ - 'archive_id_random', - 'account_id_random', - 'archive_type_id_random', - 'name', 'description', - 'content_html', 'content_json', - 'url', 'url_text', - 'hosted_file_id_random', - 'file_path', - 'filename', 'file_extension', - 'original_datetime', 'original_timezone', 'original_location', 'original_address_id', - 'original_url', 'original_url_text', - 'meta_data', 'access_key', - 'sort_by', 'sort_by_desc', - 'enable', 'enable_from', 'enable_to', - 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2024-09-27 - 'archive_content': { - 'tbl': 'archive_content', - 'tbl_default': 'v_archive_content', - 'tbl_update': 'archive_content', - 'mdl': Archive_Content_Base, - 'mdl_default': Archive_Content_Base, - 'mdl_in': Archive_Content_Base, - 'mdl_out': Archive_Content_Base, - # Legacy V2 keys: - 'table_name': 'v_archive_content', - 'tbl_name_update': 'archive_content', - 'base_name': Archive_Content_Base, - 'exp_default': [ - 'archive_content_id_random', - 'archive_id_random', - 'archive_content_type_id_random', - 'lu_media_type_id_random', - 'name', 'description', - 'content_html', 'content_json', - 'content_url', 'content_url_text', - 'hosted_file_id_random', - 'file_path', - 'filename', 'file_extension', - 'original_datetime', 'original_timezone', 'original_location', 'original_address_id', - 'original_url', 'original_url_text', - 'meta_data', 'access_key', - 'enable_for_public', - 'enable', 'enable_from', 'enable_to', - 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2025-01-07 - 'hosted_file': { - 'tbl': 'hosted_file', - 'tbl_default': 'v_hosted_file', - 'tbl_update': 'hosted_file', - 'mdl': Hosted_File_Base, - 'mdl_default': Hosted_File_Base, - 'mdl_in': Hosted_File_Base, - 'mdl_out': Hosted_File_Base, - # Legacy V2 keys: - 'table_name': 'v_hosted_file', - 'tbl_name_update': 'hosted_file', - 'base_name': Hosted_File_Base, - 'exp_default': [ - 'hosted_file_id_random', - 'hash_sha256', - 'account_id_random', - 'title', 'description', - 'filename', 'extension', - 'content_type' - 'enable' - 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2025-03-16 - 'journal': { - 'tbl': 'journal', - 'tbl_default': 'v_journal', - 'tbl_update': 'journal', - 'mdl': Journal_Base, - 'mdl_default': Journal_Base, - 'mdl_in': Journal_Base, - 'mdl_out': Journal_Base, - # Legacy V2 keys: - 'table_name': 'v_journal', - 'tbl_name_update': 'journal', - 'base_name': Journal_Base, - 'exp_default': [ - 'journal_id_random', - # 'account_id_random', - 'title', 'description', - # 'enable', 'hide', 'priority', 'sort', 'group', 'notes', - # 'created_on', 'updated_on', - ], - }, - # Updated 2025-03-16 - 'journal_entry': { - 'tbl': 'journal_entry', - 'tbl_default': 'v_journal_entry', - 'tbl_update': 'journal_entry', - 'mdl': Journal_Entry_Base, - 'mdl_default': Journal_Entry_Base, - 'mdl_in': Journal_Entry_Base, - 'mdl_out': Journal_Entry_Base, - # Legacy V2 keys: - 'table_name': 'v_journal_entry', - 'tbl_name_update': 'journal_entry', - 'base_name': Journal_Entry_Base, - 'exp_default': [ - 'journal_entry_id_random', - # 'account_id_random', 'journal_id_random', - # 'title', 'content', - # 'enable', 'hide', 'priority', 'sort', 'group', 'notes', - # 'created_on', 'updated_on', - ], - }, - # Updated 2024-09-27 - 'post': { - 'tbl': 'post', - 'tbl_default': 'v_post', - 'tbl_alt': 'v_post_detail', - 'tbl_update': 'post', - 'mdl': Post_Base, - 'mdl_default': Post_Base, - 'mdl_in': Post_Base, - 'mdl_out': Post_Base, - # Legacy V2 keys: - 'table_name': 'v_post', - 'table_name_alt': 'v_post_detail', - 'tbl_name_update': 'post', - 'base_name': Post_Base, - 'exp_default': [ - 'post_id_random', - 'account_id_random', - 'title', 'content', - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2024-09-27 - 'post_comment': { - 'tbl': 'post_comment', - 'tbl_default': 'v_post_comment', - 'tbl_alt': 'v_post_comment_detail', - 'tbl_update': 'post_comment', - 'mdl': Post_Comment_Base, - 'mdl_default': Post_Comment_Base, - 'mdl_in': Post_Comment_Base, - 'mdl_out': Post_Comment_Base, - # Legacy V2 keys: - 'table_name': 'v_post_comment', - 'table_name_alt': 'v_post_comment_detail', - 'tbl_name_update': 'post_comment', - 'base_name': Post_Comment_Base, - 'exp_default': [ - 'post_comment_id_random', - 'account_id_random', 'post_id_random', - 'content', - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - 'account': { - 'tbl': 'account', - 'tbl_default': 'account', - 'tbl_update': 'account', - 'mdl': Account_Base, - 'mdl_default': Account_Base, - 'mdl_in': Account_Base, - 'mdl_out': Account_Base, - # Legacy V2 keys: - 'table_name': 'account', - 'tbl_name_update': 'account', - 'base_name': Account_Base, - }, - 'account_cfg': { - 'tbl': 'account_cfg', - 'tbl_default': 'v_account_cfg', - 'tbl_update': 'account_cfg', - 'mdl': Account_Cfg_Base, - 'mdl_default': Account_Cfg_Base, - 'mdl_in': Account_Cfg_Base, - 'mdl_out': Account_Cfg_Base, - # Legacy V2 keys: - 'table_name': 'v_account_cfg', - 'tbl_name_update': 'account_cfg', - 'base_name': Account_Cfg_Base, - }, - 'address': { - 'tbl': 'address', - 'tbl_default': 'v_address', - 'tbl_update': 'address', - 'mdl': Address_Base, - 'mdl_default': Address_Base, - 'mdl_in': Address_Base, - 'mdl_out': Address_Base, - # Legacy V2 keys: - 'table_name': 'v_address', - 'tbl_name_update': 'address', - 'base_name': Address_Base, - }, - 'contact': { - 'tbl': 'contact', - 'tbl_default': 'v_contact', - 'tbl_update': 'contact', - 'mdl': Contact_Base, - 'mdl_default': Contact_Base, - 'mdl_in': Contact_Base, - 'mdl_out': Contact_Base, - # Legacy V2 keys: - 'table_name': 'v_contact', - 'tbl_name_update': 'contact', - 'base_name': Contact_Base, - }, - 'data_store': { - 'tbl': 'data_store', - 'tbl_default': 'v_data_store', - 'tbl_update': 'data_store', - 'mdl': Data_Store_Base, - 'mdl_default': Data_Store_Base, - 'mdl_in': Data_Store_Base, - 'mdl_out': Data_Store_Base, - # Legacy V2 keys: - 'table_name': 'v_data_store', - 'tbl_name_update': 'data_store', - 'base_name': Data_Store_Base, - }, - 'organization': { - 'tbl': 'organization', - 'tbl_default': 'v_organization', - 'tbl_update': 'organization', - 'mdl': Organization_Base, - 'mdl_default': Organization_Base, - 'mdl_in': Organization_Base, - 'mdl_out': Organization_Base, - # Legacy V2 keys: - 'table_name': 'v_organization', - 'tbl_name_update': 'organization', - 'base_name': Organization_Base, - }, - 'page': { - 'tbl': 'page', - 'tbl_default': 'page', - 'tbl_update': 'page', - 'mdl': Page_Base, - 'mdl_default': Page_Base, - 'mdl_in': Page_Base, - 'mdl_out': Page_Base, - # Legacy V2 keys: - 'table_name': 'page', - 'tbl_name_update': 'page', - 'base_name': Page_Base, - }, - 'site': { - 'tbl': 'site', - 'tbl_default': 'site', - 'tbl_update': 'site', - 'mdl': Site_Base, - 'mdl_default': Site_Base, - 'mdl_in': Site_Base, - 'mdl_out': Site_Base, - # Legacy V2 keys: - 'table_name': 'site', - 'tbl_name_update': 'site', - 'base_name': Site_Base, - }, - 'site_domain': { - 'tbl': 'site_domain', - 'tbl_default': 'v_site_domain', - 'tbl_alt': 'v_site_domain_fqdn_id', - 'tbl_update': 'site_domain', - 'mdl': Site_Domain_Base, - 'mdl_default': Site_Domain_Base, - 'mdl_alt': Site_Domain_FQDN_ID_Base, - 'mdl_in': Site_Domain_Base, - 'mdl_out': Site_Domain_Base, - # Legacy V2 keys: - 'table_name': 'v_site_domain', - 'table_name_alt': 'v_site_domain_fqdn_id', - 'tbl_name_update': 'site_domain', - 'base_name': Site_Domain_Base, - 'base_name_alt': Site_Domain_FQDN_ID_Base, - }, - 'order': { - 'tbl': 'order', - 'tbl_default': 'v_order', - 'tbl_update': 'order', - 'mdl': Order_Base, - 'mdl_default': Order_Base, - 'mdl_in': Order_DB_Base, - 'mdl_out': Order_Base, - # Legacy V2 keys: - 'table_name': 'v_order', - 'tbl_name_update': 'order', - 'base_name': Order_Base, - }, - 'order_line': { - 'tbl': 'order_line', - 'tbl_default': 'v_order_line', - 'tbl_update': 'order_line', - 'mdl': Order_Line_Base, - 'mdl_default': Order_Line_Base, - 'mdl_in': Order_Line_Base, - 'mdl_out': Order_Line_Base, - # Legacy V2 keys: - 'table_name': 'v_order_line', - 'tbl_name_update': 'order_line', - 'base_name': Order_Line_Base, - }, - # Include the lookup lists. - # Updated 2025-01-13 - 'lu_country': { - 'tbl': 'lu_country', - 'tbl_default': 'v_lu_country', - 'tbl_alt': None, - 'tbl_update': 'lu_country', - 'mdl': None, - 'mdl_default': None, - 'mdl_in': None, - 'mdl_out': None, - # Legacy V2 keys: - 'table_name': 'v_lu_country', - 'tbl_name_update': 'lu_country', - 'base_name': None, - }, - # Updated 2025-01-13 - 'lu_country_subdivision': { - 'tbl': 'lu_country_subdivision', - 'tbl_default': 'v_lu_country_subdivision', - 'tbl_alt': None, - 'tbl_update': 'lu_country_subdivision', - 'mdl': None, - 'mdl_default': None, - 'mdl_in': None, - 'mdl_out': None, - # Legacy V2 keys: - 'table_name': 'v_lu_country_subdivision', - 'tbl_name_update': 'lu_country_subdivision', - 'base_name': None, - }, - # Updated 2025-01-13 - 'lu_time_zone': { - 'tbl': 'lu_time_zone', - 'tbl_default': 'v_lu_time_zone', - 'tbl_alt': 'v_lu_time_zone_cust', - 'tbl_update': 'lu_time_zone', - 'mdl': None, - 'mdl_default': None, - 'mdl_in': None, - 'mdl_out': None, - # Legacy V2 keys: - 'table_name': 'v_lu_time_zone', - 'tbl_name_update': 'lu_time_zone', - 'base_name': None, - }, - # Updated 2025-04-04 - 'person': { - 'tbl': 'v_person', - 'tbl_default': 'v_person', - 'tbl_alt': 'v_person', - 'tbl_update': 'person', - 'mdl': Person_Base, - 'mdl_default': Person_Base, - 'mdl_in': Person_Base, # For input - 'mdl_out': Person_Base, # For output - # Legacy V2 keys: - 'table_name': 'v_person', - 'tbl_name_update': 'person', - 'base_name': Person_Base, - 'exp_default': [ - 'person_id_random', - 'given_name', 'middle_name', 'family_name', 'full_name', - 'primary_email', - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, - # Updated 2025-04-04 - 'user': { - 'tbl': 'v_user', - 'tbl_default': 'v_user', - 'tbl_alt': 'v_user', - 'tbl_update': 'user', - 'mdl': User_Base, - 'mdl_default': User_Base, - 'mdl_in': User_New_Base, # For input when creating a new user - 'mdl_out': User_Out_Base, # For output - # Legacy V2 keys: - 'table_name': 'v_user', - 'tbl_name_update': 'user', - 'base_name': User_Base, - 'exp_default': [ - 'user_id_random', - 'account_id_random', # Foreign key to account - 'username', 'name', 'email', - # Passwords should not be exported. - 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', - ], - }, + **core_obj_li, + **event_obj_li, + **journal_obj_li, + **order_obj_li, + **cms_obj_li, + **lu_obj_li, + **membership_obj_li, + **other_obj_li, } -# WARNING: These must be updated soon! - - -# New 2024-04-23 -# obj_type_kv_li['example_template'] = {'tbl': 'example_template', 'tbl_default': 'v_example_template', 'tbl_update': 'example_template', 'mdl': Example_Template_Base, 'mdl_in': Example_Template_In_Base, 'mdl_out': Example_Template_Out_Base } - -# obj_type_kv_li['sponsorship'] = {'tbl': 'sponsorship', 'tbl_default': 'v_sponsorship', 'tbl_update': 'sponsorship', 'mdl': Sponsorship_Base, 'mdl_in': None, 'mdl_out': None } -# obj_type_kv_li['sponsorship_cfg'] = {'table_name': 'v_sponsorship_cfg', 'tbl_name_update': 'sponsorship_cfg', 'base_name': Sponsorship_Cfg_Base} - - - -# ### Need to update everything below this line! ### - - -# ### Core module objects -# obj_type_kv_li['account'] = {'table_name': 'account', 'tbl_name_update': 'account', 'base_name': Account_Base} -# obj_type_kv_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_kv_li['address'] = {'table_name': 'v_address', 'tbl_name_update': 'address', 'base_name': Address_Base} -# obj_type_kv_li['contact'] = {'table_name': 'v_contact', 'tbl_name_update': 'contact', 'base_name': Contact_Base} - -# obj_type_kv_li['data_store'] = {'table_name': 'v_data_store', 'tbl_name_update': 'data_store', 'base_name': Data_Store_Base} - -obj_type_kv_li['log_client_viewing'] = {'table_name': 'log_client_viewing', 'tbl_name_update': 'log_client_viewing', 'base_name': Log_Client_Viewing_Base} - -# obj_type_kv_li['order'] = {'table_name': 'v_order', 'tbl_name_update': 'order', 'base_name': Order_Base} -obj_type_kv_li['order_cart'] = {'table_name': 'v_order_cart', 'tbl_name_update': 'order_cart', 'base_name': Order_Cart_Base} -obj_type_kv_li['order_cart_line'] = {'table_name': 'v_order_cart_line', 'tbl_name_update': 'order_cart_line', 'base_name': Order_Cart_Line_Base} -# obj_type_kv_li['order_line'] = {'table_name': 'v_order_line', 'tbl_name_update': 'order_line', 'base_name': Order_Line_Base} -#obj_type_kv_li['order_transaction'] = {'table_name': 'order_transaction', 'tbl_name_update': 'order_transaction', 'base_name': Order_Transaction_Base} - -# obj_type_kv_li['organization'] = {'table_name': 'v_organization', 'tbl_name_update': 'organization', 'base_name': Organization_Base} - -# obj_type_kv_li['page'] = {'table_name': 'page', 'tbl_name_update': 'page', 'base_name': Page_Base} - -# obj_type_kv_li['site'] = {'table_name': 'site', 'tbl_name_update': 'site', 'base_name': Site_Base} -# obj_type_kv_li['site_domain'] = {'table_name': 'v_site_domain', 'table_name_alt': 'v_site_domain_fqdn_id', 'tbl_name_update': 'site_domain', 'base_name': Site_Domain_Base, 'base_name_alt': Site_Domain_FQDN_ID_Base} # NOTE check view name: *_detail? - -obj_type_kv_li['user_role'] = {'table_name': 'v_user_role', 'tbl_name_update': 'user_role', 'base_name': User_Role_Base} # NOTE check view name: *_detail? - - -# ### Common shared lookup objects -# obj_type_kv_li['lu_country'] = {'table_name': 'lu_country', 'tbl_name_update': 'lu_country', 'base_name': None} -# obj_type_kv_li['lu_country_subdivision'] = {'table_name': 'lu_country_subdivision', 'tbl_name_update': 'lu_country_subdivision', 'base_name': None} -#obj_type_kv_li['lu_education_degree'] = {'table_name': 'lu_education_degree', 'tbl_name_update': 'lu_education_degree', 'base_name': Lu_Education_Degree_Base} -#obj_type_kv_li['lu_education_level'] = {'table_name': 'lu_education_level', 'tbl_name_update': 'lu_education_level', 'base_name': Lu_Education_Level_Base} -#obj_type_kv_li['lu_ethnicity'] = {'table_name': 'lu_ethnicity', 'tbl_name_update': 'lu_ethnicity', 'base_name': Lu_Ethnicity_Base} -#obj_type_kv_li['lu_file_purpose'] = {'table_name': 'lu_file_purpose', 'tbl_name_update': 'lu_file_purpose', 'base_name': Lu_File_Purpose_Base} -#obj_type_kv_li['lu_gender'] = {'table_name': 'lu_gender', 'tbl_name_update': 'lu_gender', 'base_name': Lu_Gender_Base} -#obj_type_kv_li['lu_html_color'] = {'table_name': 'lu_html_color', 'tbl_name_update': 'lu_html_color', 'base_name': Lu_Html_Color_Base} -#obj_type_kv_li['lu_media_type'] = {'table_name': 'lu_media_type', 'tbl_name_update': 'lu_media_type', 'base_name': Lu_Media_Type_Base} -#obj_type_kv_li['lu_membership_status'] = {'table_name': 'lu_membership_status', 'tbl_name_update': 'lu_membership_status', 'base_name': Lu_Membership_Status_Base} -#obj_type_kv_li['lu_membership_type'] = {'table_name': 'lu_membership_type', 'tbl_name_update': 'lu_membership_type', 'base_name': Lu_Membership_Type_Base} -#obj_type_kv_li['lu_order_status'] = {'table_name': 'lu_order_status', 'tbl_name_update': 'lu_order_status', 'base_name': Lu_Order_Status_Base} -#obj_type_kv_li['lu_post_topic'] = {'table_name': 'lu_post_topic', 'tbl_name_update': 'lu_post_topic', 'base_name': Lu_Post_Topic_Base} -#obj_type_kv_li['lu_product_type'] = {'table_name': 'lu_product_type', 'tbl_name_update': 'lu_product_type', 'base_name': Lu_Product_Type_Base} -#obj_type_kv_li['lu_pronoun'] = {'table_name': 'lu_pronoun', 'tbl_name_update': 'lu_pronoun', 'base_name': Lu_Pronoun_Base} -#obj_type_kv_li['lu_race'] = {'table_name': 'lu_race', 'tbl_name_update': 'lu_race', 'base_name': Lu_Race_Base} -# obj_type_kv_li['lu_time_zone'] = {'table_name': 'v_lu_time_zone', 'tbl_name_update': 'lu_time_zone', 'base_name': None} -#obj_type_kv_li['lu_user_role'] = {'table_name': 'lu_user_role', 'tbl_name_update': 'lu_user_role', 'base_name': Lu_User_Role_Base} -#obj_type_kv_li['lu_user_status'] = {'table_name': 'lu_user_status', 'tbl_name_update': 'lu_user_status', 'base_name': Lu_User_Status_Base} - - -# ### Additional module objects -# ARCHIVE MOVED UP -# obj_type_kv_li['archive'] = {'table_name': 'v_archive', 'table_name_alt': 'v_archive_w_content_count', 'tbl_name_update': 'archive', 'base_name': Archive_Base} -# ARCHIVE CONTENT MOVED UP -# obj_type_kv_li['archive_content'] = {'table_name': 'v_archive_content', 'tbl_name_update': 'archive_content', 'base_name': Archive_Content_Base} - -obj_type_kv_li['cont_edu_cert'] = {'table_name': 'v_cont_edu_cert', 'tbl_name_update': 'cont_edu_cert', 'base_name': Cont_Edu_Cert_Base} -obj_type_kv_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} - - -# EVENT MOVED UP -# EVENT DEVICE MOVED UP -# EVENT LOCATION MOVED UP -# EVENT PRESENTER MOVED UP -# EVENT SESSION MOVED UP - -obj_type_kv_li['event_abstract'] = {'table_name': 'v_event_abstract', 'tbl_name_update': 'event_abstract', 'base_name': Event_Abstract_In} -# obj_type_kv_li['event_badge'] = {'table_name': 'v_event_badge', 'table_name_alt': 'v_event_badge_only', 'tbl_name_update': 'event_badge', 'base_name': Event_Badge_Base, 'base_name_alt': Event_Badge_Basic_Base} -#obj_type_kv_li['event_badge_log'] = {'table_name': 'event_badge_log', 'tbl_name_update': 'event_badge_log', 'base_name': Event_Badge_Log_Base} -#obj_type_kv_li['event_badge_template'] = {'table_name': 'event_badge_template', 'tbl_name_update': 'event_badge_template', 'base_name': Event_Badge_Template_Base} - -obj_type_kv_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_kv_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: This will not pull in linked to details like a session name, presentation time, or presenter name. -obj_type_kv_li['event_person'] = {'table_name': 'v_event_person', 'tbl_name_update': 'event_person', 'base_name': Event_Person_Base} -obj_type_kv_li['event_person_tracking'] = {'table_name': 'v_event_person_tracking', 'tbl_name_update': 'event_person_tracking', 'base_name': Event_Person_Tracking_Base} - -# obj_type_kv_li['event_presenter'] = {'table_name': 'v_event_presenter', 'table_name_alt': 'v_event_presenter_w_file_count', 'tbl_name_update': 'event_presenter', 'base_name': Event_Presenter_Base} -obj_type_kv_li['event_registration'] = {'table_name': 'v_event_registration', 'tbl_name_update': 'event_registration', 'base_name': Event_Registration_Base} - -obj_type_kv_li['event_track'] = {'table_name': 'v_event_track', 'tbl_name_update': 'event_track', 'base_name': Event_Track_Base} - -obj_type_kv_li['grant'] = {'table_name': 'v_grant', 'tbl_name_update': 'grant', 'base_name': Grant_Base} - -# obj_type_kv_li['journal'] = {'table_name': 'v_journal', 'tbl_name_update': 'journal', 'base_name': Journal_Base} -# obj_type_kv_li['journal_entry'] = {'table_name': 'v_journal_entry', 'tbl_name_update': 'journal_entry', 'base_name': Journal_Entry_Base} -#obj_type_kv_li['log'] = {'table_name': 'log', 'tbl_name_update': 'log', 'base_name': Log_Base} #'v_log' - -obj_type_kv_li['membership_cfg'] = {'table_name': 'v_membership_cfg', 'tbl_name_update': 'membership_cfg', 'base_name': Membership_Cfg_Base} -obj_type_kv_li['membership_group'] = {'table_name': 'v_membership_group', 'tbl_name_update': 'membership_group', 'base_name': Membership_Group_Base} -obj_type_kv_li['membership_person_group'] = {'table_name': 'v_membership_person_group', 'tbl_name_update': 'membership_person_group', 'base_name': Membership_Person_Group_Base} -obj_type_kv_li['membership_person'] = {'table_name': 'v_membership_person', 'tbl_name_update': 'membership_person', 'base_name': Membership_Person_Base} -obj_type_kv_li['membership_person_profile'] = {'table_name': 'v_membership_person_profile', 'tbl_name_update': 'membership_person_profile', 'base_name': Membership_Person_Profile_Base} -obj_type_kv_li['membership_type'] = {'table_name': 'v_membership_type', 'tbl_name_update': 'membership_type', 'base_name': Membership_Type_Base} -obj_type_kv_li['membership_person_type'] = {'table_name': 'v_membership_person_type', 'tbl_name_update': 'membership_person_type', 'base_name': Membership_Person_Type_Base} - -#obj_type_kv_li['message'] = {'table_name': 'message', 'tbl_name_update': 'message', 'base_name': Message_Base} #'v_message' - - -# POST MOVED UP -# obj_type_kv_li['post'] = {'table_name': 'v_post', 'tbl_name_update': 'post', 'base_name': Post_Base} # NOTE check view name: *_detail? -# POST COMMENT MOVED UP -# obj_type_kv_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_kv_li['product'] = {'table_name': 'v_product', 'tbl_name_update': 'product', 'base_name': Product_Base} - - -#obj_type_kv_li['stripe_customer'] = {'table_name': 'stripe_customer', 'tbl_name_update': 'stripe_customer', 'base_name': Stripe_Customer_Base} -obj_type_kv_li['stripe_log'] = {'table_name': 'stripe_log', 'tbl_name_update': 'stripe_log', 'base_name': Stripe_Log_Base_In} - -# obj_type_kv_li['c_idda_membership_person_profile'] = {'table_name': 'c_idda_membership_person_profile', 'base_name': C_Idda_membership_person_profile_Base} -# obj_type_kv_li['c_osit_demo_membership_person_profile'] = {'table_name': 'c_osit_demo_membership_person_profile', 'base_name': C_Osit_Demo_membership_person_profile_Base} diff --git a/app/object_definitions/__init__.py b/app/object_definitions/__init__.py new file mode 100644 index 0000000..e69de29 diff --git a/app/object_definitions/cms.py b/app/object_definitions/cms.py new file mode 100644 index 0000000..4d8a76e --- /dev/null +++ b/app/object_definitions/cms.py @@ -0,0 +1,93 @@ +from app.models.page_models import * +from app.models.post_models import * +from app.models.post_comment_models import * +from app.models.site_models import * +from app.models.site_domain_models import * + +cms_obj_li = { + 'page': { + 'tbl': 'page', + 'tbl_default': 'page', + 'tbl_update': 'page', + 'mdl': Page_Base, + 'mdl_default': Page_Base, + 'mdl_in': Page_Base, + 'mdl_out': Page_Base, + # Legacy V2 keys: + 'table_name': 'page', + 'tbl_name_update': 'page', + 'base_name': Page_Base, + }, + 'post': { + 'tbl': 'post', + 'tbl_default': 'v_post', + 'tbl_alt': 'v_post_detail', + 'tbl_update': 'post', + 'mdl': Post_Base, + 'mdl_default': Post_Base, + 'mdl_in': Post_Base, + 'mdl_out': Post_Base, + # Legacy V2 keys: + 'table_name': 'v_post', + 'table_name_alt': 'v_post_detail', + 'tbl_name_update': 'post', + 'base_name': Post_Base, + 'exp_default': [ + 'post_id_random', + 'account_id_random', + 'title', 'content', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'post_comment': { + 'tbl': 'post_comment', + 'tbl_default': 'v_post_comment', + 'tbl_alt': 'v_post_comment_detail', + 'tbl_update': 'post_comment', + 'mdl': Post_Comment_Base, + 'mdl_default': Post_Comment_Base, + 'mdl_in': Post_Comment_Base, + 'mdl_out': Post_Comment_Base, + # Legacy V2 keys: + 'table_name': 'v_post_comment', + 'table_name_alt': 'v_post_comment_detail', + 'tbl_name_update': 'post_comment', + 'base_name': Post_Comment_Base, + 'exp_default': [ + 'post_comment_id_random', + 'account_id_random', 'post_id_random', + 'content', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'site': { + 'tbl': 'site', + 'tbl_default': 'site', + 'tbl_update': 'site', + 'mdl': Site_Base, + 'mdl_default': Site_Base, + 'mdl_in': Site_Base, + 'mdl_out': Site_Base, + # Legacy V2 keys: + 'table_name': 'site', + 'tbl_name_update': 'site', + 'base_name': Site_Base, + }, + 'site_domain': { + 'tbl': 'site_domain', + 'tbl_default': 'v_site_domain', + 'tbl_alt': 'v_site_domain_fqdn_id', + 'tbl_update': 'site_domain', + 'mdl': Site_Domain_Base, + 'mdl_default': Site_Domain_Base, + 'mdl_alt': Site_Domain_FQDN_ID_Base, + 'mdl_in': Site_Domain_Base, + 'mdl_out': Site_Domain_Base, + # Legacy V2 keys: + 'table_name': 'v_site_domain', + 'table_name_alt': 'v_site_domain_fqdn_id', + 'tbl_name_update': 'site_domain', + 'base_name': Site_Domain_Base, + 'base_name_alt': Site_Domain_FQDN_ID_Base, + }, +} diff --git a/app/object_definitions/core.py b/app/object_definitions/core.py new file mode 100644 index 0000000..9313494 --- /dev/null +++ b/app/object_definitions/core.py @@ -0,0 +1,159 @@ +from app.models.account_models import * +from app.models.account_cfg_models import * +from app.models.activity_log_models import * +from app.models.address_models import * +from app.models.contact_models import * +from app.models.data_store_models import * +from app.models.organization_models import * +from app.models.person_models import * +from app.models.user_models import * +from app.models.user_role_models import * +from app.models.log_client_viewing_models import Log_Client_Viewing_Base + +core_obj_li = { + 'activity_log': { + 'tbl': 'activity_log', + 'tbl_default': 'v_activity_log', + 'tbl_update': 'activity_log', + 'mdl': Activity_Log_Base, + 'mdl_default': Activity_Log_Base, + 'mdl_in': Activity_Log_Base, + 'mdl_out': Activity_Log_Base, + # Legacy V2 keys: + 'table_name': 'v_activity_log', + 'tbl_name_update': 'activity_log', + 'base_name': Activity_Log_Base, + }, + 'account': { + 'tbl': 'account', + 'tbl_default': 'account', + 'tbl_update': 'account', + 'mdl': Account_Base, + 'mdl_default': Account_Base, + 'mdl_in': Account_Base, + 'mdl_out': Account_Base, + # Legacy V2 keys: + 'table_name': 'account', + 'tbl_name_update': 'account', + 'base_name': Account_Base, + }, + 'account_cfg': { + 'tbl': 'account_cfg', + 'tbl_default': 'v_account_cfg', + 'tbl_update': 'account_cfg', + 'mdl': Account_Cfg_Base, + 'mdl_default': Account_Cfg_Base, + 'mdl_in': Account_Cfg_Base, + 'mdl_out': Account_Cfg_Base, + # Legacy V2 keys: + 'table_name': 'v_account_cfg', + 'tbl_name_update': 'account_cfg', + 'base_name': Account_Cfg_Base, + }, + 'address': { + 'tbl': 'address', + 'tbl_default': 'v_address', + 'tbl_update': 'address', + 'mdl': Address_Base, + 'mdl_default': Address_Base, + 'mdl_in': Address_Base, + 'mdl_out': Address_Base, + # Legacy V2 keys: + 'table_name': 'v_address', + 'tbl_name_update': 'address', + 'base_name': Address_Base, + }, + 'contact': { + 'tbl': 'contact', + 'tbl_default': 'v_contact', + 'tbl_update': 'contact', + 'mdl': Contact_Base, + 'mdl_default': Contact_Base, + 'mdl_in': Contact_Base, + 'mdl_out': Contact_Base, + # Legacy V2 keys: + 'table_name': 'v_contact', + 'tbl_name_update': 'contact', + 'base_name': Contact_Base, + }, + 'data_store': { + 'tbl': 'data_store', + 'tbl_default': 'v_data_store', + 'tbl_update': 'data_store', + 'mdl': Data_Store_Base, + 'mdl_default': Data_Store_Base, + 'mdl_in': Data_Store_Base, + 'mdl_out': Data_Store_Base, + # Legacy V2 keys: + 'table_name': 'v_data_store', + 'tbl_name_update': 'data_store', + 'base_name': Data_Store_Base, + }, + 'organization': { + 'tbl': 'organization', + 'tbl_default': 'v_organization', + 'tbl_update': 'organization', + 'mdl': Organization_Base, + 'mdl_default': Organization_Base, + 'mdl_in': Organization_Base, + 'mdl_out': Organization_Base, + # Legacy V2 keys: + 'table_name': 'v_organization', + 'tbl_name_update': 'organization', + 'base_name': Organization_Base, + }, + 'person': { + 'tbl': 'v_person', + 'tbl_default': 'v_person', + 'tbl_alt': 'v_person', + 'tbl_update': 'person', + 'mdl': Person_Base, + 'mdl_default': Person_Base, + 'mdl_in': Person_Base, + 'mdl_out': Person_Base, + # Legacy V2 keys: + 'table_name': 'v_person', + 'tbl_name_update': 'person', + 'base_name': Person_Base, + 'exp_default': [ + 'person_id_random', + 'given_name', 'middle_name', 'family_name', 'full_name', + 'primary_email', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'user': { + 'tbl': 'v_user', + 'tbl_default': 'v_user', + 'tbl_alt': 'v_user', + 'tbl_update': 'user', + 'mdl': User_Base, + 'mdl_default': User_Base, + 'mdl_in': User_New_Base, + 'mdl_out': User_Out_Base, + # Legacy V2 keys: + 'table_name': 'v_user', + 'tbl_name_update': 'user', + 'base_name': User_Base, + 'exp_default': [ + 'user_id_random', + 'account_id_random', + 'username', 'name', 'email', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'user_role': { + 'mdl': User_Role_Base, + # Legacy V2 keys: + 'table_name': 'v_user_role', + 'tbl_name_update': 'user_role', + 'base_name': User_Role_Base, + }, + 'log_client_viewing': { + 'mdl': Log_Client_Viewing_Base, + # Legacy V2 keys: + 'table_name': 'log_client_viewing', + 'tbl_name_update': 'log_client_viewing', + 'base_name': Log_Client_Viewing_Base, + }, +} diff --git a/app/object_definitions/events.py b/app/object_definitions/events.py new file mode 100644 index 0000000..5269333 --- /dev/null +++ b/app/object_definitions/events.py @@ -0,0 +1,267 @@ +from app.models.event_models import * +from app.models.event_abstract_models import * +from app.models.event_badge_models import * +from app.models.event_badge_template_models import * +from app.models.event_device_models import * +from app.models.event_exhibit_models import * +from app.models.event_exhibit_tracking_models import * +from app.models.event_file_models import * +from app.models.event_location_models import * +from app.models.event_person_models import * +from app.models.event_person_tracking_models import * +from app.models.event_presentation_models import * +from app.models.event_presenter_models import * +from app.models.event_registration_models import * +from app.models.event_session_models import * +from app.models.event_track_models import * + +event_obj_li = { + 'event': { + 'tbl': 'event', + 'tbl_default': 'v_event', + 'tbl_alt': 'v_event_w_file_count', + 'tbl_update': 'event', + 'mdl': Event_Base, + 'mdl_default': Event_Base, + 'mdl_alt': Event_Meeting_Flat_Base, + 'mdl_in': Event_Base, + 'mdl_out': Event_Base, + # Legacy V2 keys: + 'table_name': 'v_event', + 'table_name_alt': 'v_event_w_file_count', + 'tbl_name_update': 'event', + 'base_name': Event_Base, + 'base_name_alt': Event_Meeting_Flat_Base, + 'exp_default': [ + 'event_id_random', + 'conference', 'type', + 'name', 'description', + 'location_text', 'physical', 'virtual', + 'attend_url', 'attend_url_text', 'attend_url_passcode', 'attend_phone', 'attend_phone_passcode', 'attend_text', + 'contact_1_id', 'contact_2_id', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + 'exp_idaa': [ + 'event_id_random', + 'external_person_id', # IDAA Novi ID + 'conference', 'type', + 'name', 'description', + 'format', 'timezone', 'recurring', 'recurring_pattern', 'recurring_start_time', 'recurring_end_time', 'recurring_text', + 'weekday_sunday', 'weekday_monday', 'weekday_tuesday', 'weekday_wednesday', 'weekday_thursday', 'weekday_friday', 'weekday_saturday', + 'location_text', 'physical', 'virtual', + 'attend_url', 'attend_url_passcode', 'attend_phone', 'attend_phone_passcode', 'attend_text', + 'contact_1_id', 'contact_2_id', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'event_abstract': { + 'tbl': 'event_abstract', + 'tbl_default': 'v_event_abstract', + 'tbl_update': 'event_abstract', + 'mdl': Event_Abstract_In, + 'mdl_default': Event_Abstract_In, + 'mdl_in': Event_Abstract_In, + 'mdl_out': Event_Abstract_In, + # Legacy V2 keys: + 'table_name': 'v_event_abstract', + 'tbl_name_update': 'event_abstract', + 'base_name': Event_Abstract_In, + }, + 'event_badge': { + 'tbl': 'event_badge', + 'tbl_default': 'v_event_badge', + 'tbl_alt': 'v_event_badge_only', + 'tbl_update': 'event_badge', + 'mdl': Event_Badge_Base, + 'mdl_default': Event_Badge_Basic_Base, + # Legacy V2 keys: + 'table_name': 'v_event_badge', + 'table_name_alt': 'v_event_badge_only', + 'tbl_name_update': 'event_badge', + 'base_name': Event_Badge_Basic_Base, + }, + 'event_badge_template': { + 'tbl': 'event_badge_template', + 'tbl_default': 'v_event_badge_template', + 'tbl_update': 'event_badge_template', + 'mdl': Event_Badge_Template_Base, + 'mdl_default': Event_Badge_Template_Base, + 'mdl_in': Event_Badge_Template_Base, + 'mdl_out': Event_Badge_Template_Base, + # Legacy V2 keys: + 'table_name': 'v_event_badge_template', + 'tbl_name_update': 'event_badge_template', + 'base_name': Event_Badge_Template_Base, + }, + 'event_device': { + 'tbl': 'event_device', + 'tbl_default': 'v_event_device', + 'tbl_alt': 'v_event_device', + 'tbl_update': 'event_device', + 'mdl': Event_Device_Base, + 'mdl_default': Event_Device_Base, + 'mdl_in': Event_Device_Base, + 'mdl_out': Event_Device_Base, + # Legacy V2 keys: + 'table_name': 'v_event_device', + 'tbl_name_update': 'event_device', + 'base_name': Event_Device_Base, + }, + 'event_exhibit': { + 'tbl': 'event_exhibit', + 'tbl_default': 'v_event_exhibit', + 'tbl_update': 'event_exhibit', + 'mdl': Event_Exhibit_Base, + 'mdl_default': Event_Exhibit_Base, + 'mdl_in': Event_Exhibit_Base, + 'mdl_out': Event_Exhibit_Base, + # Legacy V2 keys: + 'table_name': 'v_event_exhibit', + 'tbl_name_update': 'event_exhibit', + 'base_name': Event_Exhibit_Base, + }, + 'event_exhibit_tracking': { + 'tbl': 'event_exhibit_tracking', + 'tbl_default': 'v_event_exhibit_tracking', + 'tbl_update': 'event_exhibit_tracking', + 'mdl': Event_Exhibit_Tracking_Base, + 'mdl_default': Event_Exhibit_Tracking_Base, + # Legacy V2 keys: + 'table_name': 'v_event_exhibit_tracking', + 'tbl_name_update': 'event_exhibit_tracking', + 'base_name': Event_Exhibit_Tracking_Base, + }, + 'event_file': { + 'tbl': 'event_file', + 'tbl_default': 'v_event_file_simple', + 'tbl_alt': 'v_event_file', + 'tbl_update': 'event_file', + 'mdl': Event_File_Base, + 'mdl_default': Event_File_Base, + 'mdl_in': Event_File_Base, + 'mdl_out': Event_File_Base, + # Legacy V2 keys: + 'table_name': 'v_event_file_simple', + 'table_name_alt': 'v_event_file', + 'tbl_name_update': 'event_file', + 'base_name': Event_File_Base, + }, + 'event_location': { + 'tbl': 'event_location', + 'tbl_default': 'v_event_location', + 'tbl_alt': 'v_event_location_w_file_count', + 'tbl_update': 'event_location', + 'mdl': Event_Location_Base, + 'mdl_default': Event_Location_Base, + 'mdl_in': Event_Location_Base, + 'mdl_out': Event_Location_Base, + # Legacy V2 keys: + 'table_name': 'v_event_location', + 'table_name_alt': 'v_event_location_w_file_count', + 'tbl_name_update': 'event_location', + 'base_name': Event_Location_Base, + }, + 'event_person': { + 'tbl': 'event_person', + 'tbl_default': 'v_event_person', + 'tbl_update': 'event_person', + 'mdl': Event_Person_Base, + 'mdl_default': Event_Person_Base, + 'mdl_in': Event_Person_Base, + 'mdl_out': Event_Person_Base, + # Legacy V2 keys: + 'table_name': 'v_event_person', + 'tbl_name_update': 'event_person', + 'base_name': Event_Person_Base, + }, + 'event_person_tracking': { + 'tbl': 'event_person_tracking', + 'tbl_default': 'v_event_person_tracking', + 'tbl_update': 'event_person_tracking', + 'mdl': Event_Person_Tracking_Base, + 'mdl_default': Event_Person_Tracking_Base, + # Legacy V2 keys: + 'table_name': 'v_event_person_tracking', + 'tbl_name_update': 'event_person_tracking', + 'base_name': Event_Person_Tracking_Base, + }, + 'event_presentation': { + 'tbl': 'event_presentation', + 'tbl_default': 'v_event_presentation', + 'tbl_alt': 'v_event_presentation_w_file_count', + 'tbl_update': 'event_presentation', + 'mdl': Event_Presentation_Base, + 'mdl_default': Event_Presentation_Base, + 'mdl_in': Event_Presentation_Base, + 'mdl_out': Event_Presentation_Base, + # Legacy V2 keys: + 'table_name': 'v_event_presentation', + 'table_name_alt': 'v_event_presentation_w_file_count', + 'tbl_name_update': 'event_presentation', + 'base_name': Event_Presentation_Base, + }, + 'event_presenter': { + 'tbl': 'event_presenter', + 'tbl_default': 'v_event_presenter', + 'tbl_alt': 'v_event_presenter_w_file_count', + 'tbl_update': 'event_presenter', + 'mdl': Event_Presenter_Base, + 'mdl_default': Event_Presenter_Base, + 'mdl_in': Event_Presenter_Base, + 'mdl_out': Event_Presenter_Out_Base, + # Legacy V2 keys: + 'table_name': 'v_event_presenter', + 'table_name_alt': 'v_event_presenter_w_file_count', + 'tbl_name_update': 'event_presenter', + 'base_name': Event_Presenter_Base, + 'exp_default': [ + 'event_presenter_id_random', + 'title_names', 'given_name', 'middle_name', 'family_name', 'designations', + 'professional_title', 'full_name', + 'affiliations', + 'email', 'biography', + 'agree', + 'comments', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'event_registration': { + 'tbl': 'event_registration', + 'tbl_default': 'v_event_registration', + 'tbl_update': 'event_registration', + 'mdl': Event_Registration_Base, + 'mdl_default': Event_Registration_Base, + 'mdl_in': Event_Registration_Base, + 'mdl_out': Event_Registration_Base, + # Legacy V2 keys: + 'table_name': 'v_event_registration', + 'tbl_name_update': 'event_registration', + 'base_name': Event_Registration_Base, + }, + 'event_session': { + 'tbl': 'event_session', + 'tbl_default': 'v_event_session', + 'tbl_alt': 'v_event_session_w_file_count', + 'tbl_update': 'event_session', + 'mdl': Event_Session_Base, + 'mdl_default': Event_Session_Base, + 'mdl_in': Event_Session_Base, + 'mdl_out': Event_Session_Base, + 'exclude_for_db': {'poc_person_id', 'file_count', 'internal_use_count', 'enable_from', 'enable_to', 'event_name', 'event_start_datetime', 'event_end_datetime', 'event_location_name', 'event_track_name', 'event_abstract_list', 'event_badge_list', 'event_device_list', 'event_file_list', 'event_file_internal_use_list', 'event_location', 'event_location_list', 'event_person_list', 'event_presenter_cat', 'event_presentation_list', 'event_presenter_list', 'event_track', 'poc_event_person'}, + # Legacy V2 keys: + 'table_name': 'v_event_session', + 'tbl_name_update': 'event_session', + 'base_name': Event_Session_Base, + }, + 'event_track': { + 'tbl': 'event_track', + 'tbl_default': 'v_event_track', + 'tbl_update': 'event_track', + 'mdl': Event_Track_Base, + 'mdl_default': Event_Track_Base, + # Legacy V2 keys: + 'table_name': 'v_event_track', + 'tbl_name_update': 'event_track', + 'base_name': Event_Track_Base, + }, +} diff --git a/app/object_definitions/journals.py b/app/object_definitions/journals.py new file mode 100644 index 0000000..fd2abdc --- /dev/null +++ b/app/object_definitions/journals.py @@ -0,0 +1,38 @@ +from app.models.journal_models import * +from app.models.journal_entry_models import * + +journal_obj_li = { + 'journal': { + 'tbl': 'journal', + 'tbl_default': 'v_journal', + 'tbl_update': 'journal', + 'mdl': Journal_Base, + 'mdl_default': Journal_Base, + 'mdl_in': Journal_Base, + 'mdl_out': Journal_Base, + # Legacy V2 keys: + 'table_name': 'v_journal', + 'tbl_name_update': 'journal', + 'base_name': Journal_Base, + 'exp_default': [ + 'journal_id_random', + 'title', 'description', + ], + }, + 'journal_entry': { + 'tbl': 'journal_entry', + 'tbl_default': 'v_journal_entry', + 'tbl_update': 'journal_entry', + 'mdl': Journal_Entry_Base, + 'mdl_default': Journal_Entry_Base, + 'mdl_in': Journal_Entry_Base, + 'mdl_out': Journal_Entry_Base, + # Legacy V2 keys: + 'table_name': 'v_journal_entry', + 'tbl_name_update': 'journal_entry', + 'base_name': Journal_Entry_Base, + 'exp_default': [ + 'journal_entry_id_random', + ], + }, +} diff --git a/app/object_definitions/lookups.py b/app/object_definitions/lookups.py new file mode 100644 index 0000000..9614b39 --- /dev/null +++ b/app/object_definitions/lookups.py @@ -0,0 +1,44 @@ +lu_obj_li = { + 'lu_country': { + 'tbl': 'lu_country', + 'tbl_default': 'v_lu_country', + 'tbl_alt': None, + 'tbl_update': 'lu_country', + 'mdl': None, + 'mdl_default': None, + 'mdl_in': None, + 'mdl_out': None, + # Legacy V2 keys: + 'table_name': 'v_lu_country', + 'tbl_name_update': 'lu_country', + 'base_name': None, + }, + 'lu_country_subdivision': { + 'tbl': 'lu_country_subdivision', + 'tbl_default': 'v_lu_country_subdivision', + 'tbl_alt': None, + 'tbl_update': 'lu_country_subdivision', + 'mdl': None, + 'mdl_default': None, + 'mdl_in': None, + 'mdl_out': None, + # Legacy V2 keys: + 'table_name': 'v_lu_country_subdivision', + 'tbl_name_update': 'lu_country_subdivision', + 'base_name': None, + }, + 'lu_time_zone': { + 'tbl': 'lu_time_zone', + 'tbl_default': 'v_lu_time_zone', + 'tbl_alt': 'v_lu_time_zone_cust', + 'tbl_update': 'lu_time_zone', + 'mdl': None, + 'mdl_default': None, + 'mdl_in': None, + 'mdl_out': None, + # Legacy V2 keys: + 'table_name': 'v_lu_time_zone', + 'tbl_name_update': 'lu_time_zone', + 'base_name': None, + }, +} diff --git a/app/object_definitions/membership.py b/app/object_definitions/membership.py new file mode 100644 index 0000000..af95ea2 --- /dev/null +++ b/app/object_definitions/membership.py @@ -0,0 +1,87 @@ +from app.models.membership_cfg_models import * +from app.models.membership_group_models import * +from app.models.membership_person_group_models import * +from app.models.membership_person_models import * +from app.models.membership_person_profile_models import * +from app.models.membership_type_models import * +from app.models.membership_person_type_models import * + +membership_obj_li = { + 'membership_cfg': { + 'tbl': 'membership_cfg', + 'tbl_default': 'v_membership_cfg', + 'tbl_update': 'membership_cfg', + 'mdl': Membership_Cfg_Base, + 'mdl_default': Membership_Cfg_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_cfg', + 'tbl_name_update': 'membership_cfg', + 'base_name': Membership_Cfg_Base, + }, + 'membership_group': { + 'tbl': 'membership_group', + 'tbl_default': 'v_membership_group', + 'tbl_update': 'membership_group', + 'mdl': Membership_Group_Base, + 'mdl_default': Membership_Group_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_group', + 'tbl_name_update': 'membership_group', + 'base_name': Membership_Group_Base, + }, + 'membership_person_group': { + 'tbl': 'membership_person_group', + 'tbl_default': 'v_membership_person_group', + 'tbl_update': 'membership_person_group', + 'mdl': Membership_Person_Group_Base, + 'mdl_default': Membership_Person_Group_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_person_group', + 'tbl_name_update': 'membership_person_group', + 'base_name': Membership_Person_Group_Base, + }, + 'membership_person': { + 'tbl': 'membership_person', + 'tbl_default': 'v_membership_person', + 'tbl_update': 'membership_person', + 'mdl': Membership_Person_Base, + 'mdl_default': Membership_Person_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_person', + 'tbl_name_update': 'membership_person', + 'base_name': Membership_Person_Base, + }, + 'membership_person_profile': { + 'tbl': 'membership_person_profile', + 'tbl_default': 'v_membership_person_profile', + 'tbl_update': 'membership_person_profile', + 'mdl': Membership_Person_Profile_Base, + 'mdl_default': Membership_Person_Profile_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_person_profile', + 'tbl_name_update': 'membership_person_profile', + 'base_name': Membership_Person_Profile_Base, + }, + 'membership_type': { + 'tbl': 'membership_type', + 'tbl_default': 'v_membership_type', + 'tbl_update': 'membership_type', + 'mdl': Membership_Type_Base, + 'mdl_default': Membership_Type_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_type', + 'tbl_name_update': 'membership_type', + 'base_name': Membership_Type_Base, + }, + 'membership_person_type': { + 'tbl': 'membership_person_type', + 'tbl_default': 'v_membership_person_type', + 'tbl_update': 'membership_person_type', + 'mdl': Membership_Person_Type_Base, + 'mdl_default': Membership_Person_Type_Base, + # Legacy V2 keys: + 'table_name': 'v_membership_person_type', + 'tbl_name_update': 'membership_person_type', + 'base_name': Membership_Person_Type_Base, + }, +} diff --git a/app/object_definitions/orders.py b/app/object_definitions/orders.py new file mode 100644 index 0000000..76c67e0 --- /dev/null +++ b/app/object_definitions/orders.py @@ -0,0 +1,51 @@ +from app.models.order_models import * +from app.models.order_cart_models import * + +order_obj_li = { + 'order': { + 'tbl': 'order', + 'tbl_default': 'v_order', + 'tbl_update': 'order', + 'mdl': Order_Base, + 'mdl_default': Order_Base, + 'mdl_in': Order_DB_Base, + 'mdl_out': Order_Base, + # Legacy V2 keys: + 'table_name': 'v_order', + 'tbl_name_update': 'order', + 'base_name': Order_Base, + }, + 'order_line': { + 'tbl': 'order_line', + 'tbl_default': 'v_order_line', + 'tbl_update': 'order_line', + 'mdl': Order_Line_Base, + 'mdl_default': Order_Line_Base, + 'mdl_in': Order_Line_Base, + 'mdl_out': Order_Line_Base, + # Legacy V2 keys: + 'table_name': 'v_order_line', + 'tbl_name_update': 'order_line', + 'base_name': Order_Line_Base, + }, + 'order_cart': { + 'tbl': 'order_cart', + 'tbl_default': 'v_order_cart', + 'tbl_update': 'order_cart', + 'mdl': Order_Cart_Base, + # Legacy V2 keys: + 'table_name': 'v_order_cart', + 'tbl_name_update': 'order_cart', + 'base_name': Order_Cart_Base, + }, + 'order_cart_line': { + 'tbl': 'order_cart_line', + 'tbl_default': 'v_order_cart_line', + 'tbl_update': 'order_cart_line', + 'mdl': Order_Cart_Line_Base, + # Legacy V2 keys: + 'table_name': 'v_order_cart_line', + 'tbl_name_update': 'order_cart_line', + 'base_name': Order_Cart_Line_Base, + }, +} diff --git a/app/object_definitions/other.py b/app/object_definitions/other.py new file mode 100644 index 0000000..688c47a --- /dev/null +++ b/app/object_definitions/other.py @@ -0,0 +1,171 @@ +from app.models.sponsorship_models import * +from app.models.sponsorship_cfg_models import * +from app.models.archive_models import * +from app.models.archive_content_models import * +from app.models.hosted_file_models import * +from app.models.e_stripe_models import * +from app.models.cont_edu_cert_models import * +from app.models.cont_edu_cert_person_models import * +from app.models.grant_models import * + +other_obj_li = { + 'sponsorship': { + 'tbl': 'sponsorship', + 'tbl_default': 'v_sponsorship', + 'tbl_update': 'sponsorship', + 'mdl': Sponsorship_Base, + 'mdl_default': Sponsorship_Base, + 'mdl_in': Sponsorship_Base, + 'mdl_out': Sponsorship_Base, + # Legacy V2 keys: + 'table_name': 'v_sponsorship', + 'tbl_name_update': 'sponsorship', + 'base_name': Sponsorship_Base, + 'exp_default': [ + 'sponsorship_id_random', + 'name', 'description', 'website_url', + 'level_num', 'level_str', + 'agree', + 'guest_li_json', + 'comments', + 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'sponsorship_cfg': { + 'tbl': 'sponsorship_cfg', + 'tbl_default': 'v_sponsorship_cfg', + 'tbl_update': 'sponsorship_cfg', + 'mdl': Sponsorship_Cfg_Base, + 'mdl_default': Sponsorship_Cfg_Base, + # Legacy V2 keys: + 'table_name': 'v_sponsorship_cfg', + 'tbl_name_update': 'sponsorship_cfg', + 'base_name': Sponsorship_Cfg_Base, + }, + 'archive': { + 'tbl': 'archive', + 'tbl_default': 'v_archive', + 'tbl_update': 'archive', + 'mdl': Archive_Base, + 'mdl_default': Archive_Base, + 'mdl_in': Archive_Base, + 'mdl_out': Archive_Base, + # Legacy V2 keys: + 'table_name': 'v_archive', + 'tbl_name_update': 'archive', + 'base_name': Archive_Base, + 'exp_default': [ + 'archive_id_random', + 'account_id_random', + 'archive_type_id_random', + 'name', 'description', + 'content_html', 'content_json', + 'url', 'url_text', + 'hosted_file_id_random', + 'file_path', + 'filename', 'file_extension', + 'original_datetime', 'original_timezone', 'original_location', 'original_address_id', + 'original_url', 'original_url_text', + 'meta_data', 'access_key', + 'sort_by', 'sort_by_desc', + 'enable', 'enable_from', 'enable_to', + 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'archive_content': { + 'tbl': 'archive_content', + 'tbl_default': 'v_archive_content', + 'tbl_update': 'archive_content', + 'mdl': Archive_Content_Base, + 'mdl_default': Archive_Content_Base, + 'mdl_in': Archive_Content_Base, + 'mdl_out': Archive_Content_Base, + # Legacy V2 keys: + 'table_name': 'v_archive_content', + 'tbl_name_update': 'archive_content', + 'base_name': Archive_Content_Base, + 'exp_default': [ + 'archive_content_id_random', + 'archive_id_random', + 'archive_content_type_id_random', + 'lu_media_type_id_random', + 'name', 'description', + 'content_html', 'content_json', + 'content_url', 'content_url_text', + 'hosted_file_id_random', + 'file_path', + 'filename', 'file_extension', + 'original_datetime', 'original_timezone', 'original_location', 'original_address_id', + 'original_url', 'original_url_text', + 'meta_data', 'access_key', + 'enable_for_public', + 'enable', 'enable_from', 'enable_to', + 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'hosted_file': { + 'tbl': 'hosted_file', + 'tbl_default': 'v_hosted_file', + 'tbl_update': 'hosted_file', + 'mdl': Hosted_File_Base, + 'mdl_default': Hosted_File_Base, + 'mdl_in': Hosted_File_Base, + 'mdl_out': Hosted_File_Base, + # Legacy V2 keys: + 'table_name': 'v_hosted_file', + 'tbl_name_update': 'hosted_file', + 'base_name': Hosted_File_Base, + 'exp_default': [ + 'hosted_file_id_random', + 'hash_sha256', + 'account_id_random', + 'title', 'description', + 'filename', 'extension', + 'content_type' + 'enable' + 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on', + ], + }, + 'stripe_log': { + 'tbl': 'stripe_log', + 'tbl_update': 'stripe_log', + 'mdl': Stripe_Log_Base_In, + # Legacy V2 keys: + 'table_name': 'stripe_log', + 'tbl_name_update': 'stripe_log', + 'base_name': Stripe_Log_Base_In, + }, + 'cont_edu_cert': { + 'tbl': 'cont_edu_cert', + 'tbl_default': 'v_cont_edu_cert', + 'tbl_update': 'cont_edu_cert', + 'mdl': Cont_Edu_Cert_Base, + 'mdl_default': Cont_Edu_Cert_Base, + # Legacy V2 keys: + 'table_name': 'v_cont_edu_cert', + 'tbl_name_update': 'cont_edu_cert', + 'base_name': Cont_Edu_Cert_Base, + }, + 'cont_edu_cert_person': { + 'tbl': 'cont_edu_cert_person', + 'tbl_default': 'v_cont_edu_cert_person', + 'tbl_update': 'cont_edu_cert_person', + 'mdl': Cont_Edu_Cert_Person_Base, + 'mdl_default': Cont_Edu_Cert_Person_Base, + # Legacy V2 keys: + 'table_name': 'v_cont_edu_cert_person', + 'tbl_name_update': 'cont_edu_cert_person', + 'base_name': Cont_Edu_Cert_Person_Base, + }, + 'grant': { + 'tbl': 'grant', + 'tbl_default': 'v_grant', + 'tbl_update': 'grant', + 'mdl': Grant_Base, + 'mdl_default': Grant_Base, + # Legacy V2 keys: + 'table_name': 'v_grant', + 'tbl_name_update': 'grant', + 'base_name': Grant_Base, + }, +}