Key Accomplishments:
1. Badge Model Updates: Added print_count, print_first_datetime, and print_last_datetime to the
Event_Badge_Basic_Base model.
2. Soft Delete in V3 CRUD: Implemented a method query parameter (delete, hide, disable) for the DELETE
endpoints in api_crud_v3.py.
3. Security Hardening: Populated searchable_fields allowlists for all objects across the V3 CRUD
definitions (core.py, events.py, orders.py, cms.py, lookups.py, membership.py, other.py).
4. Shared Documentation: Created /home/scott/agents_sync/Aether/api_v3.md to coordinate these V3 API
features with the Svelte agent and other tools.
This commit is contained in:
@@ -23,6 +23,15 @@ core_obj_li = {
|
||||
'table_name': 'v_activity_log',
|
||||
'tbl_name_update': 'activity_log',
|
||||
'base_name': Activity_Log_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'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',
|
||||
'action_on_id_random', 'action_on_code', 'code', 'type_name',
|
||||
'details', 'enable', 'hide', 'priority', 'group', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'account': {
|
||||
'tbl': 'account',
|
||||
@@ -36,6 +45,11 @@ core_obj_li = {
|
||||
'table_name': 'account',
|
||||
'tbl_name_update': 'account',
|
||||
'base_name': Account_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'account_id_random', 'code', 'name', 'short_name', 'description',
|
||||
'enable', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'account_cfg': {
|
||||
'tbl': 'account_cfg',
|
||||
@@ -49,6 +63,14 @@ core_obj_li = {
|
||||
'table_name': 'v_account_cfg',
|
||||
'tbl_name_update': 'account_cfg',
|
||||
'base_name': Account_Cfg_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'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',
|
||||
'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'address': {
|
||||
'tbl': 'address',
|
||||
@@ -62,6 +84,14 @@ core_obj_li = {
|
||||
'table_name': 'v_address',
|
||||
'tbl_name_update': 'address',
|
||||
'base_name': Address_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'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',
|
||||
'country_alpha_2_code', 'country_name', 'timezone', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'contact': {
|
||||
'tbl': 'contact',
|
||||
@@ -75,6 +105,13 @@ core_obj_li = {
|
||||
'table_name': 'v_contact',
|
||||
'tbl_name_update': 'contact',
|
||||
'base_name': Contact_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'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', 'priority', 'group', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'data_store': {
|
||||
'tbl': 'data_store',
|
||||
@@ -88,6 +125,13 @@ core_obj_li = {
|
||||
'table_name': 'v_data_store',
|
||||
'tbl_name_update': 'data_store',
|
||||
'base_name': Data_Store_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'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',
|
||||
'group', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'organization': {
|
||||
'tbl': 'organization',
|
||||
@@ -101,6 +145,12 @@ core_obj_li = {
|
||||
'table_name': 'v_organization',
|
||||
'tbl_name_update': 'organization',
|
||||
'base_name': Organization_Base,
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'organization_id_random', 'account_id_random', 'contact_id_random',
|
||||
'person_id_random', 'user_id_random', 'name', 'tagline', 'description',
|
||||
'company', 'nonprofit', 'priority', 'group', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'person': {
|
||||
'tbl': 'v_person',
|
||||
@@ -121,6 +171,17 @@ core_obj_li = {
|
||||
'primary_email',
|
||||
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on',
|
||||
],
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'person_id_random', 'account_id_random', 'contact_id_random',
|
||||
'organization_id_random', 'user_id_random', 'membership_person_id_random',
|
||||
'pronouns', 'informal_name', 'title_names', 'given_name', 'middle_name',
|
||||
'family_name', 'designations', 'professional_title', 'full_name',
|
||||
'informal_full_name', 'professional_full_name', 'affiliations',
|
||||
'primary_email', 'tagline', 'lu_gender_name', 'source_code',
|
||||
'external_id', 'status', 'hide', 'priority', 'group', 'enable',
|
||||
'created_on', 'updated_on', 'username', 'user_name', 'user_email'
|
||||
],
|
||||
},
|
||||
'user': {
|
||||
'tbl': 'v_user',
|
||||
@@ -141,6 +202,13 @@ core_obj_li = {
|
||||
'username', 'name', 'email',
|
||||
'enable', 'hide', 'priority', 'sort', 'group', 'notes', 'created_on', 'updated_on',
|
||||
],
|
||||
# V3 Search Security:
|
||||
'searchable_fields': [
|
||||
'user_id_random', 'account_id_random', 'contact_id_random',
|
||||
'organization_id_random', 'person_id_random', 'username', 'name',
|
||||
'email', 'enable', 'super', 'manager', 'administrator', 'public',
|
||||
'verified', 'status_name', 'group', 'created_on', 'updated_on'
|
||||
],
|
||||
},
|
||||
'user_role': {
|
||||
'mdl': User_Role_Base,
|
||||
|
||||
Reference in New Issue
Block a user