feat(registry): standardize searchable_fields and add developer reminders

- Added id_random, account_id_random, created_on, and updated_on to searchable whitelists.
- Standardized field coverage for Core and Other (Archive/HostedFile) modules.
- Added Developer Handshake comments to prevent future whitelist/model desync.
- Verified via new E2E registry test suite.
This commit is contained in:
Scott Idem
2026-02-03 15:51:05 -05:00
parent 53db20f627
commit d43474ea4b
3 changed files with 103 additions and 24 deletions

View File

@@ -25,7 +25,8 @@ core_obj_li = {
'base_name': Activity_Log_Base,
# V3 Search Security:
'searchable_fields': [
'activity_log_id_random', 'account_id_random', 'person_id_random',
'id', 'account_id', 'person_id', 'user_id',
'id_random', 'activity_log_id_random', 'account_id_random', 'person_id_random',
'user_id_random', 'external_client_id', 'name', 'description',
'source', 'url_root', 'url_full_path', 'object_type',
'object_id_random', 'action', 'action_with', 'action_on_type',
@@ -66,7 +67,7 @@ core_obj_li = {
'base_name': Account_Cfg_Base,
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'account_cfg_id_random', 'account_id_random', 'account_code',
'id', 'account_id', 'id_random', 'account_cfg_id_random', 'account_id_random', 'account_code',
'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',
@@ -87,7 +88,7 @@ core_obj_li = {
'base_name': Address_Base,
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'contact_id', 'address_id_random', 'account_id_random',
'id', 'account_id', 'contact_id', 'id_random', 'address_id_random', 'account_id_random',
'for_type', 'for_id_random', 'contact_id_random', 'name', 'attention_to',
'organization_name', 'line_1', 'line_2', 'line_3', 'city', 'country_subdivision_code',
'country_subdivision_name', 'state_province', 'postal_code',
@@ -109,7 +110,7 @@ core_obj_li = {
'base_name': Contact_Base,
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'contact_id_random', 'account_id_random', 'for_type', 'for_id_random',
'id', 'account_id', 'id_random', 'contact_id_random', 'account_id_random', 'for_type', 'for_id_random',
'name', 'title', 'tagline', 'description', 'timezone_name',
'email', 'email_status', 'phone_mobile', 'phone_office',
'website_url', 'website_name', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
@@ -130,7 +131,7 @@ core_obj_li = {
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'person_id', 'user_id',
'data_store_id_random', 'account_id_random', 'for_type', 'for_id_random',
'id_random', 'data_store_id_random', 'account_id_random', 'for_type', 'for_id_random',
'person_id_random', 'user_id_random', 'code', 'name', 'description',
'type', 'text', 'meta_text', 'access', 'enable', 'hide', 'priority',
'sort', 'group', 'notes', 'created_on', 'updated_on'
@@ -151,7 +152,7 @@ core_obj_li = {
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'contact_id', 'person_id', 'user_id',
'organization_id_random', 'account_id_random', 'contact_id_random',
'id_random', 'organization_id_random', 'account_id_random', 'contact_id_random',
'person_id_random', 'user_id_random', 'name', 'tagline', 'description',
'company', 'nonprofit', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
],
@@ -178,7 +179,7 @@ core_obj_li = {
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'contact_id', 'organization_id', 'user_id', 'membership_person_id',
'person_id_random', 'account_id_random', 'contact_id_random',
'id_random', 'person_id_random', 'account_id_random', 'contact_id_random',
'organization_id_random', 'user_id_random', 'membership_person_id_random',
'title_names', 'given_name', 'middle_name',
'family_name', 'designations', 'professional_title', 'full_name',

View File

@@ -33,9 +33,9 @@ other_obj_li = {
],
# V3 Search Security:
'searchable_fields': [
'sponsorship_id_random', 'account_id_random', 'name', 'description',
'website_url', 'level_str', 'enable', 'hide', 'priority', 'group',
'created_on', 'updated_on'
'id', 'account_id', 'id_random', 'sponsorship_id_random', 'account_id_random',
'name', 'description', 'website_url', 'level_str', 'enable', 'hide',
'priority', 'group', 'created_on', 'updated_on'
],
},
'sponsorship_cfg': {
@@ -50,8 +50,9 @@ other_obj_li = {
'base_name': Sponsorship_Cfg_Base,
# V3 Search Security:
'searchable_fields': [
'sponsorship_cfg_id_random', 'account_id_random', 'name',
'description', 'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'id', 'account_id', 'id_random', 'sponsorship_cfg_id_random', 'account_id_random',
'name', 'description', 'enable', 'hide', 'priority', 'sort', 'group',
'notes', 'created_on', 'updated_on'
],
},
'archive': {
@@ -85,9 +86,10 @@ other_obj_li = {
],
# V3 Search Security:
'searchable_fields': [
'archive_id_random', 'account_id_random', 'archive_type_id_random',
'archive_type', 'name', 'description', 'filename', 'original_location', 'enable',
'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on'
'id', 'account_id', 'id_random', 'archive_id_random', 'account_id_random',
'archive_type_id_random', 'archive_type', 'name', 'description',
'filename', 'original_location', 'enable', 'hide', 'priority',
'sort', 'group', 'notes', 'created_on', 'updated_on'
],
},
'archive_content': {
@@ -105,7 +107,8 @@ other_obj_li = {
'public_read': True,
# V3 Search Security:
'searchable_fields': [
'archive_content_id_random', 'account_id_random', 'archive_id_random',
'id', 'account_id', 'archive_id', 'hosted_file_id',
'id_random', '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'
@@ -136,7 +139,7 @@ other_obj_li = {
],
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'hosted_file_id_random', 'account_id_random',
'id', 'account_id', 'id_random', 'hosted_file_id_random', 'account_id_random',
'hash_sha256', 'title', 'description', 'filename', 'extension',
'content_type', 'enable', 'hide', 'priority', 'sort', 'group',
'notes', 'created_on', 'updated_on'
@@ -156,7 +159,7 @@ other_obj_li = {
'base_name': Hosted_File_Link_Base,
# V3 Search Security:
'searchable_fields': [
'id', 'account_id', 'hosted_file_id', 'account_id_random',
'id', 'account_id', 'hosted_file_id', 'id_random', 'account_id_random',
'hosted_file_id_random', 'link_to_type', 'link_to_id_random',
'created_on', 'updated_on'
],
@@ -171,7 +174,8 @@ other_obj_li = {
'base_name': Stripe_Log_Base_In,
# V3 Search Security:
'searchable_fields': [
'stripe_log_id_random', 'account_id_random', 'person_id_random',
'id', 'account_id', 'person_id', 'user_id', 'event_id', 'order_id',
'id_random', 'stripe_log_id_random', 'account_id_random', 'person_id_random',
'user_id_random', 'event_id_random', 'order_id_random', 'type',
'status', 'created_on', 'updated_on'
],
@@ -188,7 +192,8 @@ other_obj_li = {
'base_name': Cont_Edu_Cert_Base,
# V3 Search Security:
'searchable_fields': [
'cont_edu_cert_id_random', 'account_id_random', 'event_id_random',
'id', 'account_id', 'event_id',
'id_random', 'cont_edu_cert_id_random', 'account_id_random', 'event_id_random',
'name', 'description', 'code', 'enable', 'hide', 'priority', 'sort',
'group', 'notes', 'created_on', 'updated_on'
],
@@ -205,7 +210,8 @@ other_obj_li = {
'base_name': Cont_Edu_Cert_Person_Base,
# V3 Search Security:
'searchable_fields': [
'cont_edu_cert_person_id_random', 'cont_edu_cert_id_random',
'id', 'cont_edu_cert_id', 'person_id',
'id_random', 'cont_edu_cert_person_id_random', 'cont_edu_cert_id_random',
'person_id_random', 'enable', 'hide', 'priority', 'sort', 'group', 'notes',
'created_on', 'updated_on'
],
@@ -222,9 +228,9 @@ other_obj_li = {
'base_name': Grant_Base,
# V3 Search Security:
'searchable_fields': [
'grant_id_random', 'account_id_random', 'code', 'name',
'description', 'enable', 'hide', 'priority', 'sort', 'group', 'notes',
'created_on', 'updated_on'
'id', 'account_id', 'id_random', 'grant_id_random', 'account_id_random',
'code', 'name', 'description', 'enable', 'hide', 'priority', 'sort',
'group', 'notes', 'created_on', 'updated_on'
],
},
}