Complete editable fields whitelists for all remaining AE objects

- Created .editable_fields.ts files for Journals, Events, and Sponsorships modules
- Standardized the whitelist pattern across the entire codebase
- Updated TODO.md and GEMINI.md with recent accomplishments and learnings
This commit is contained in:
Scott Idem
2026-01-07 11:56:28 -05:00
parent 9c6df5c7f9
commit 5bd7c4756c
13 changed files with 317 additions and 20 deletions

View File

@@ -0,0 +1,33 @@
export const editable_fields__event_badge_template = [
'name',
'description',
'logo_filename',
'logo_path',
'header_path',
'secondary_header_path',
'footer_path',
'header_row_1',
'header_row_2',
'badge_type_list',
'ticket_list',
'ticket_1_text',
'ticket_2_text',
'ticket_3_text',
'ticket_4_text',
'ticket_5_text',
'ticket_6_text',
'ticket_7_text',
'ticket_8_text',
'wireless_ssid',
'wireless_password',
'show_qr_front',
'show_qr_back',
'layout',
'style_filename',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,32 @@
export const editable_fields__event_device = [
'code',
'name',
'description',
'passcode',
'local_file_cache_path',
'host_file_temp_path',
'recording_path',
'record_audio',
'record_video',
'trigger_open_file_id',
'trigger_open_session_id',
'trigger_recording_start',
'trigger_recording_stop',
'trigger_reset',
'trigger_show_admin',
'trigger_show_hidden',
'alert',
'alert_msg',
'status',
'status_msg',
'record_status',
'record_status_msg',
'meta_json',
'other_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,12 @@
export const editable_fields__event_file = [
'filename',
'extension',
'open_in_os',
'file_purpose',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,18 @@
export const editable_fields__event_location = [
'external_id',
'code',
'type_code',
'name',
'description',
'passcode',
'hide_event_launcher',
'alert',
'alert_msg',
'data_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,18 @@
export const editable_fields__event_presentation = [
'external_id',
'code',
'type_code',
'abstract_code',
'name',
'description',
'start_datetime',
'end_datetime',
'passcode',
'hide_event_launcher',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,27 @@
export const editable_fields__event_presenter = [
'external_id',
'code',
'pronouns',
'informal_name',
'title_names',
'given_name',
'middle_name',
'family_name',
'designations',
'professional_title',
'full_name',
'affiliations',
'email',
'biography',
'agree',
'comments',
'passcode',
'hide_event_launcher',
'data_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,23 @@
export const editable_fields__event_session = [
'external_id',
'code',
'type_code',
'poc_agree',
'poc_kv_json',
'name',
'description',
'start_datetime',
'end_datetime',
'passcode',
'hide_event_launcher',
'alert',
'alert_msg',
'data_json',
'ux_mode',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,32 @@
export const editable_fields__event_exhibit = [
'code',
'name',
'description',
'staff_passcode',
'data_json',
'leads_api_access',
'leads_custom_questions_json',
'leads_device_sm_qty',
'leads_device_lg_qty',
'license_max',
'license_li_json',
'cfg_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];
export const editable_fields__event_exhibit_tracking = [
'exhibitor_notes',
'responses_json',
'data_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,32 @@
export const editable_fields__journal = [
'code',
'type_code',
'name',
'short_name',
'summary',
'outline',
'description',
'description_html',
'description_json',
'timezone',
'alert',
'alert_msg',
'sort_by',
'sort_by_desc',
'cfg_json',
'data_json',
'passcode_read',
'passcode_read_expire',
'passcode_write',
'passcode_write_expire',
'passcode',
'passcode_timeout',
'private_passcode',
'auth_key',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,32 @@
export const editable_fields__journal_entry = [
'code',
'journal_entry_type',
'activity_code',
'category_code',
'type_code',
'topic_code',
'tags',
'public',
'private',
'personal',
'professional',
'name',
'short_name',
'summary',
'outline',
'content',
'content_html',
'content_json',
'history',
'alert',
'alert_msg',
'data_json',
'enable',
'hide',
'archive',
'archive_on',
'priority',
'sort',
'group',
'notes'
];

View File

@@ -0,0 +1,43 @@
export const editable_fields__sponsorship_cfg = [
'for_type',
'for_id',
'level_li_json',
'option_li_json',
'schedule_li_json',
'cfg_json',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];
export const editable_fields__sponsorship = [
'poc_person_id',
'poc_json',
'name',
'name_override',
'description',
'email',
'website_url',
'logo_li_json',
'media_li_json',
'social_li_json',
'address_li_json',
'contact_li_json',
'guest_li_json',
'level_num',
'level_str',
'amount',
'questions_li_json',
'agree',
'comments',
'staff_notes',
'enable',
'hide',
'priority',
'sort',
'group',
'notes'
];