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.
126 lines
5.0 KiB
Python
126 lines
5.0 KiB
Python
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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_cfg_id_random', 'account_id_random', 'name', 'description',
|
|
'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_group_id_random', 'account_id_random', 'code', 'name',
|
|
'description', 'enable', 'hide', 'priority', 'group', 'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_person_group_id_random', 'membership_person_id_random',
|
|
'membership_group_id_random', 'enable', 'hide', 'priority', 'group',
|
|
'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_person_id_random', 'account_id_random', 'person_id_random',
|
|
'status', 'enable', 'hide', 'priority', 'group', 'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_person_profile_id_random', 'membership_person_id_random',
|
|
'informal_name', 'given_name', 'family_name', 'full_name',
|
|
'email', 'enable', 'hide', 'priority', 'group', 'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_type_id_random', 'account_id_random', 'code', 'name',
|
|
'description', 'enable', 'hide', 'priority', 'group', 'created_on', 'updated_on'
|
|
],
|
|
},
|
|
'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,
|
|
# V3 Search Security:
|
|
'searchable_fields': [
|
|
'membership_person_type_id_random', 'membership_person_id_random',
|
|
'membership_type_id_random', 'enable', 'hide', 'priority', 'group',
|
|
'created_on', 'updated_on'
|
|
],
|
|
},
|
|
}
|