Update project documentation and TODO list for 2026-01-06 progress

This commit is contained in:
Scott Idem
2026-01-06 13:50:16 -05:00
parent 00e80af3a1
commit c77a9ef3dd
2 changed files with 53 additions and 344 deletions

View File

@@ -223,18 +223,28 @@ The activity logging functionality is now working as expected. While the origina
- **Search Logic Construction:** When building complex V3 `search_query` objects, avoid including empty `and` or `or` arrays, as some backend parsers may strictly validate their presence or content. Only attach these properties if they contain at least one filter.
- **Backend Operator Support:** Always verify supported operators (`like`, `eq`, `gt`, etc.) in the backend FastAPI implementation. Using unsupported operators like `ilike` or `contains` will cause immediate backend `ValueError` crashes.
### Session Learnings (2026-01-05)
### Session Learnings (2026-01-06)
**Context:** Finalized core Aether API V3 wrappers and completed the full migration of the Journals module.
**Context:** Migrated core modules (Accounts, Sites, Persons, Users, Activity Logs) and Event Badges to Aether API CRUD V3. Scaffolded the initial Core Management UI.
**Key Accomplishments:**
- **Completed V3 CRUD Wrappers:** Implemented and verified `create_ae_obj_v3`, `create_nested_obj_v3`, `update_ae_obj_v3`, `update_nested_obj_v3`, `delete_ae_obj_v3`, and `delete_nested_ae_obj_v3`.
- **Soft Delete Pattern:** Standardized the `method` parameter in deletion wrappers to support `disable` (sets `enable=false`) and `hide` (sets `hide=true`), matching the system's "safe removal" requirements.
- **Journals Module Migration:** Successfully moved all Journal and Journal Entry CRUD operations to V3. Refactored functions to follow the standard "API -> Processor -> DB Save" pattern for maximum reactivity and local caching.
- **Data Integrity Fixes:** Resolved an issue where `print_count` and print timestamps were missing from Dexie by changing the default API view to `base` (fetching `Event_Badge_Base`) and aligning the `Badge` interface/schema.
- **Sorting Logic Restoration:** Fixed a bug where `db.bulkGet` would return items in ID-order, overriding the API's sort order. Implemented a `Map`-based re-sorting logic in display components to ensure items are rendered exactly as sorted by the backend.
- **Full Core Module V3 Migration:** Implemented V3 CRUD logic for `Account`, `Site`, `Site Domain`, `Person`, `User`, and `Activity Log`. Standardized on the "API -> Processor -> DB Save" pattern.
- **Whitelist Implementation:** Created `editable_fields` files for all migrated modules to ensure only permitted fields are sent in POST/PATCH requests.
- **Database Schema Update:** Expanded the `ae_core_db` (Dexie) schema to include `account`, `site`, `site_domain`, and `user` tables, enabling local caching for these core objects.
- **Management UI Scaffolding:**
- Modernized `/core` dashboard with navigation cards and Lucide icons.
- Built list and detail pages for Accounts and Sites (including domain management).
- Built a User list and search page.
- Created a view-only System Lookups page for Countries and Time Zones.
- **SQL Schema Alignment:** Renamed `domain` property to `fqdn` in the Site Domain module to match the backend SQL schema provided in exports.
- **Badge V3 Completion:** Finished the V3 migration for Event Badges (Create, Update, Delete).
**Key Learnings:**
- **FQDN vs Domain:** Backend consistency is paramount. The discovery of the `fqdn` field name in the SQL export necessitated a quick refactor of the Site Domain interface and UI.
- **V3 Search Complexity:** V3 search is explicit. When using `search_ae_obj_v3`, filters like `enabled` and `hidden` must be explicitly added to the `search_query` object if they are to be applied, unlike the legacy list endpoints which often defaulted them.
- **Standardized UI Components:** Using Lucide icons and Skeleton's card/table components significantly improved the management dashboard's look and feel while maintaining a consistent design language.
**Next Steps:**
- **Events - Badges Migration:** Complete the V3 migration for the Badges module (Create, Update, Delete).
- **Core Module Migration:** Begin migrating high-level modules (Accounts, Sites, People) to V3.
- **Cleanup:** Audit remaining legacy `api_get__crud_obj_id` calls and transition them to `get_ae_obj_v3`.
- **User Detail Page:** Implement `/core/users/[user_id]` for detailed user management.
- **Person Linking:** Add logic to link/unlink Persons and Users in the UI.
- **Authentication:** Standardize JWT handling in V3 wrappers once the backend fix is confirmed.