Commit Graph

18 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
817bb80f87 ID Vision Phase 2: Standardize Page, Post, Person, Organization, and Hosted File objects 2026-01-19 18:04:17 -05:00
Scott Idem
1c0922ace2 Enhance API robustness: Add model validators, view-field filtering, and test suite.
- Added validators to Person_Base, Journal_Base, Journal_Entry_Base, Address_Base, and Contact_Base to handle null values and unsafe lookups.
- Implemented 'fields_to_exclude_from_db' ClassVar in Journal models to prevent view-only fields from causing DB errors.
- Updated Contact object map to align with DB schema.
- Added comprehensive test suite in 'tests/' directory (model validation, filtering logic).
- Updated GEMINI.md with progress.
2026-01-09 15:36:28 -05:00
Scott Idem
45f6303219 feat(v3): robust search wildcards, smart status filtering, and fixed ID population 2026-01-06 15:54:31 -05:00
Scott Idem
493f4a7365 Moving ID random generation to the SQL db instead. General clean up. 2022-06-30 15:04:19 -04:00
Scott Idem
4abf02aa15 Working on general code clean up and Cvent API related 2022-02-01 12:17:25 -05:00
Scott Idem
0866fbbed6 Clean up 2021-12-29 19:42:27 -05:00
Scott Idem
59c151f639 Working on event (meet) and related updates 2021-06-30 15:47:31 -04:00
Scott Idem
a0514b5179 Working on membership, person, user, and order 2021-06-28 14:23:06 -04:00
Scott Idem
f55d9c2c62 Working on membership, person, and user 2021-06-25 18:49:08 -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
4e6fedcffd Work on better way to update objects. A lot of work! Also a lot of clean up. 2021-06-10 17:42:31 -04:00
Scott Idem
2788546cc8 A lot of work on event related modules 2021-06-04 17:10:09 -04:00
Scott Idem
443d2bab77 A lot of general clean up of everything. 2021-05-28 03:52:31 -04:00
Scott Idem
2167c7e897 General clean up of everything. 2021-05-28 03:23:52 -04:00
Scott Idem
e46032a00b General clean up of models and methods. 2021-05-28 01:30:56 -04:00