V3: Standardize Primary AE Objects and Synchronize Search Whitelists.

- Synchronized searchable_fields (V3 whitelists) across all Primary and Active AE objects (Identity, People, Events, Journals, Posts, Archives, Business).
- Standardized Pydantic models for core objects to include the 10 common fields (id, id_random, enable, hide, priority, sort, group, notes, created_on, updated_on).
- Fixed field aliases and uncommented valid database columns in User_Base and Organization_Base.
- Pruned non-existent fields from searchable lists in legacy or config-specific definitions (account_cfg, user_role, log_client_viewing).
- Added system discovery and validation tools:
    - ae_object_info.py: AE object status and metadata browser.
    - export_all_interfaces.py: E2E TypeScript interface generator.
    - Verification scripts for searchable field consistency.
- Updated Jan 8 milestone progress and platform roadmap in GEMINI.md.
This commit is contained in:
Scott Idem
2026-01-08 12:24:34 -05:00
parent 59d5b81da0
commit 802c75bad9
17 changed files with 343 additions and 81 deletions

View File

@@ -49,7 +49,7 @@ cms_obj_li = {
'post_id_random', 'account_id_random', 'organization_id_random',
'person_id_random', 'user_id_random', 'title', 'content',
'type_code', 'topic_code', 'category_code', 'tags', 'location',
'enable', 'hide', 'priority', 'sort', 'group', 'notes',
'enable', 'hide', 'priority', 'sort', 'group', 'notes',
'archive_on', 'created_on', 'updated_on'
],
},

View File

@@ -69,7 +69,7 @@ core_obj_li = {
'account_name', 'account_short_name', 'default_no_reply_email',
'default_no_reply_name', 'confirm_email', 'help_event_email',
'help_general_email', 'help_tech_email', 'stripe_account_id',
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'created_on', 'updated_on'
],
},
'address': {
@@ -220,7 +220,7 @@ core_obj_li = {
# V3 Search Security:
'searchable_fields': [
'user_id_random', 'for_type', 'for_id_random', 'code', 'name',
'description', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'description', 'enable', 'notes', 'created_on', 'updated_on'
],
},
'log_client_viewing': {
@@ -233,7 +233,7 @@ core_obj_li = {
'searchable_fields': [
'log_client_viewing_id_random', 'account_id_random', 'person_id_random',
'user_id_random', 'external_client_id', 'name', 'source', 'url_root',
'url_full_path', 'object_type', 'object_id', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'url_full_path', 'object_type', 'object_id', 'created_on', 'updated_on'
],
},
}

View File

@@ -69,7 +69,7 @@ events_general_obj_li = {
'event_exhibit_id_random', 'event_location_id_random',
'event_presentation_id_random', 'event_presenter_id_random',
'event_session_id_random', 'event_track_id_random', 'filename',
'title', 'description', 'file_purpose', 'enable', 'hide',
'extension', 'title', 'description', 'file_purpose', 'enable', 'hide',
'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
@@ -90,7 +90,8 @@ events_general_obj_li = {
'searchable_fields': [
'event_device_id_random', 'account_id_random', 'event_id_random',
'event_location_id_random', 'code', 'name', 'description', 'app_mode',
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'enable', 'hide', 'priority', 'sort', 'group', 'event_notes', 'notes',
'created_on', 'updated_on'
],
},
'event_cfg': {
@@ -107,9 +108,8 @@ events_general_obj_li = {
'base_name': Event_Cfg_Base,
# V3 Search Security:
'searchable_fields': [
'event_cfg_id_random', 'event_id_random', 'enable', 'conference',
'status', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on',
'updated_on'
'event_cfg_id_random', 'event_id_random',
'status', 'notes', 'updated_on'
],
},
}

View File

@@ -42,8 +42,9 @@ events_presentation_obj_li = {
# V3 Search Security:
'searchable_fields': [
'event_location_id_random', 'event_id_random', 'code', 'name',
'description', 'location_type', 'enable', 'hide', 'priority',
'sort', 'group', 'notes', 'created_on', 'updated_on'
'description', 'location_type', 'internal_use', 'enable', 'hide',
'public', 'public_hide', 'hide_event_launcher', 'priority', 'sort',
'group', 'notes', 'created_on', 'updated_on'
],
},
'event_presentation': {
@@ -65,8 +66,9 @@ events_presentation_obj_li = {
'event_presentation_id_random', 'event_id_random',
'event_abstract_id_random', 'event_location_id_random',
'event_session_id_random', 'event_track_id_random', 'code', 'name',
'description', 'type_code', 'enable', 'hide', 'priority', 'sort', 'group',
'notes', 'created_on', 'updated_on'
'description', 'type_code', 'enable', 'hide', 'public', 'public_hide',
'hide_event_launcher', 'priority', 'sort', 'group', 'notes',
'created_on', 'updated_on'
],
},
'event_presenter': {
@@ -97,9 +99,10 @@ events_presentation_obj_li = {
'searchable_fields': [
'event_presenter_id_random', 'event_id_random',
'event_person_id_random', 'event_presentation_id_random',
'event_session_id_random', 'person_id_random', 'code', 'title_names',
'event_session_id_random', 'person_id_random', 'code', 'informal_name',
'given_name', 'family_name', 'full_name', 'email', 'role', 'enable',
'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'hide', 'public', 'public_hide', 'hide_event_launcher', 'priority',
'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
'event_session': {
@@ -121,8 +124,8 @@ events_presentation_obj_li = {
'event_session_id_random', 'event_id_random',
'event_location_id_random', 'event_track_id_random', 'code', 'name',
'description', 'type_code', 'start_datetime', 'end_datetime',
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on',
'updated_on'
'enable', 'hide', 'public', 'public_hide', 'hide_event_launcher',
'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
'event_track': {
@@ -139,8 +142,8 @@ events_presentation_obj_li = {
'searchable_fields': [
'event_track_id_random', 'event_id_random',
'event_location_id_random', 'name', 'description', 'track_type',
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on',
'updated_on'
'enable', 'hide', 'public', 'public_hide', 'hide_event_launcher',
'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
}

View File

@@ -44,8 +44,8 @@ events_registration_obj_li = {
# V3 Search Security:
'searchable_fields': [
'event_badge_template_id_random', 'event_id_random', 'name',
'description', 'layout', 'notes', 'enable', 'hide', 'priority',
'sort', 'group', 'created_on', 'updated_on'
'description', 'layout', 'notes', 'enable',
'created_on', 'updated_on'
],
},
'event_person': {
@@ -87,7 +87,7 @@ events_registration_obj_li = {
'contact_id_random', 'event_id_random', 'event_person_id_random',
'organization_id_random', 'pronouns', 'informal_name', 'given_name',
'family_name', 'professional_title', 'full_name', 'affiliations',
'email', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on',
'email', 'enable', 'priority', 'sort', 'group', 'notes', 'created_on',
'updated_on'
],
},
@@ -105,8 +105,7 @@ events_registration_obj_li = {
'searchable_fields': [
'event_person_tracking_id_random', 'event_id_random',
'event_session_id_random', 'event_person_id_random',
'check_in_out', 'in_datetime', 'out_datetime', 'enable', 'hide',
'priority', 'sort', 'group', 'notes',
'check_in_out', 'in_datetime', 'out_datetime', 'enable', 'notes',
'created_on', 'updated_on'
],
},
@@ -126,7 +125,7 @@ events_registration_obj_li = {
'searchable_fields': [
'event_registration_id_random', 'account_id_random',
'event_id_random', 'organization_id_random', 'contact_id_random',
'person_id_random', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on',
'person_id_random', 'notes', 'created_on',
'updated_on'
],
},

View File

@@ -86,7 +86,7 @@ other_obj_li = {
# V3 Search Security:
'searchable_fields': [
'archive_id_random', 'account_id_random', 'archive_type_id_random',
'name', 'description', 'filename', 'original_location', 'enable',
'archive_type', 'name', 'description', 'filename', 'original_location', 'enable',
'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
@@ -102,29 +102,12 @@ other_obj_li = {
'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',
],
# V3 Search Security:
'searchable_fields': [
'archive_content_id_random', 'archive_id_random', 'name',
'description', 'filename', 'original_location', 'enable', 'hide',
'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'archive_content_id_random', 'account_id_random', 'archive_id_random',
'archive_content_type', 'lu_media_type', 'name', 'description',
'filename', 'file_extension', 'original_location', 'original_url',
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
'hosted_file': {
@@ -170,9 +153,8 @@ other_obj_li = {
'base_name': Hosted_File_Link_Base,
# V3 Search Security:
'searchable_fields': [
'hosted_file_link_id_random', 'hosted_file_id_random', 'for_type',
'for_id_random', 'enable', 'hide', 'priority', 'sort', 'group', 'notes',
'created_on', 'updated_on'
'id', 'account_id_random', 'hosted_file_id_random', 'link_to_type',
'link_to_id_random', 'created_on', 'updated_on'
],
},
'stripe_log': {