Commit Graph

32 Commits

Author SHA1 Message Date
Scott Idem
0f4b4d2f51 feat: Implement V3 ID Vision and fields_to_exclude_from_db across core models
This commit refactors numerous Pydantic models to align with the V3 ID Vision standard, ensuring that primary and foreign key fields are represented as clean string IDs in the API. It also introduces and populates the  ClassVar in each model to prevent view-only fields and linked objects from being inadvertently written to the database during PATCH/POST operations.

Specifically, this includes:
- Adding  to exclude view-derived or joined fields such as , , nested objects (e.g., , ), and convenience fields (e.g., ).
- Adjusting root validators to correctly map string IDs and strip internal integer IDs for API responses.
- Resolving a KeyError by adding  to .

These changes are crucial for maintaining data integrity and consistency with the V3 API architecture.
2026-02-24 16:21:27 -05:00
Scott Idem
17a627a981 feat: Implement Event File Hosted Data Fix and API Guide Update
Address critical data visibility issues for Event Files and enhance frontend documentation.

This commit resolves the persistent problem where top-level hosted file convenience fields
(e.g., , , ) were
returning as  in V3 Event File API responses, even when .

Key changes include:
- Refactored  Pydantic model:
    - Removed redundant  definitions from top-level hosted file convenience fields,
      allowing direct mapping from SQL view columns.
    - Simplified  to focus solely on conditionally loading the nested
       object, as top-level fields are now populated directly by Pydantic
      from the  view.
    - Added comprehensive comments to clarify data flow, Pydantic's behavior, and the
      expected origin of these convenience fields from SQL views.
- Updated :
    - Introduced a new section detailing how to retrieve Event File data, including the
      use of  to get both top-level convenience fields and a nested
       object.
    - Clarified all ID references as random string IDs.
    - Renumbered the troubleshooting section.
- Copied updated guide to .
- Continued ID Vision compliance audit, ensuring consistent handling of random string IDs
  across various core and event models (Account, Address, Contact, DataStore, Event Badge Template).
- Consolidated ID Vision E2E tests and updated related documentation.
- Minor updates to  and
  to support Event File data retrieval with .
2026-02-19 15:22:17 -05:00
Scott Idem
2266f149f7 security(v3): harden multi-tenant isolation and enhance failure feedback 2026-02-13 18:45:20 -05:00
Scott Idem
6d5633dc86 fix(v3-vision): prevent process hang on lu_ tables missing id_random 2026-02-10 17:30:38 -05:00
Scott Idem
2a7c27ba80 fix(v3-vision): implement fallback resolution for relational IDs
1. Added fallback mechanism to Event_File_Base to resolve string IDs from integers when views return partial data.\n2. Added 'a2pPIT_W28o' as a permanent regression test target.\n3. Hardened lu_file_purpose_id stripping.
2026-02-06 18:13:40 -05:00
Scott Idem
8270f7ff7a fix(v3-actions): implement from_hosted_file and harden vision IDs
1. Implemented specialized 'from_hosted_file' action for Event Files.\n2. Fixed ValueError in Pydantic models by removing default/default_factory conflict.\n3. Hardened integer stripping to strictly enforce Vision Standards.\n4. Updated documentation for the new action route.
2026-02-06 16:23:18 -05:00
Scott Idem
f7a17b2f99 V3 API: Enhance privacy by hiding internal file sharding paths and fix syntax in object definitions 2026-01-26 18:50:22 -05:00
Scott Idem
802c75bad9 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.
2026-01-08 12:24:34 -05:00
Scott Idem
34dfea1379 Re-enabled the validator for for_id_random value missing. Probably for the 200th time... Made some changes so that it hopefully works correctly and does not break anything. 2024-08-09 16:01:15 -04:00
Scott Idem
30f3aaea27 Added more object type maps. Spelling fix in comment. 2024-08-09 14:39:20 -04:00
Scott Idem
9a01c1c2b0 More additional fields for event_file model. 2024-07-12 16:24:36 -04:00
Scott Idem
84b33bb21f Work on event sessions and related files. Internal use is a new thing. 2022-09-15 17:47:07 -04:00
Scott Idem
f3f53e73b4 Work on event files and related 2022-08-19 17:46:19 -04:00
Scott Idem
4048bd3a51 Work on event files and related 2022-08-17 18:49:37 -04:00
Scott Idem
42a9bd9f32 General clean up. Work on event files and event presenters. 2022-08-12 17:29:52 -04:00
Scott Idem
5066cd099d More again again again. Moving ID random generation to the SQL db instead. General clean up. 2022-06-30 17:00:17 -04:00
Scott Idem
57e3298dc6 Unknown 2022-03-09 17:42:24 -05:00
Scott Idem
f073dd337f Mostly adding event device model, methods, and routes. Also general clean up of code. 2022-03-09 13:05:19 -05:00
Scott Idem
0866fbbed6 Clean up 2021-12-29 19:42:27 -05:00
Scott Idem
093cc3913b Work on event related routes, methods, and models 2021-11-09 15:23:12 -05:00
Scott Idem
567223ed66 Work on event stuff 2021-11-09 11:59:18 -05:00
Scott Idem
70981e0c3f Work on event files and hosted files 2021-10-22 13:54:50 -04:00
Scott Idem
661e9ca417 Work on event launcher and related 2021-10-22 04:07:41 -04:00
Scott Idem
c96459a128 Working on file uploads and event files. 2021-10-06 23:15:09 -04:00
Scott Idem
7e5cdc3b7e Code clean up. Better debugging. Work on event files and related 2021-09-29 19:04:44 -04:00
Scott Idem
15fd32b252 Work on a lot of things. Mainly cleaning up person and profile related fields in multiple tables. 2021-09-10 18:12:24 -04:00
Scott Idem
acf6842017 Working on stuff related to session proposals. Lots of bug fixes....... 2021-08-26 04:21:39 -04:00
Scott Idem
683597e2bf General code clean up. 2021-08-23 12:54:27 -04:00
Scott Idem
824bdd29a2 Work on event, event_session, event_presentation, event_presenter, user, and person routes, methods, and models 2021-08-21 16:04:17 -04:00
Scott Idem
d85ab35812 Working on membership stuff 2021-06-24 17:50:11 -04:00
Scott Idem
e9399e107f Work on file uploads and session proposals 2021-06-16 15:08:05 -04:00
Scott Idem
0dc50e4509 Work on file uploads and listing event files. 2021-06-15 18:05:56 -04:00