Update project documentation and TODO list for 2026-01-06 progress
This commit is contained in:
30
GEMINI.md
30
GEMINI.md
@@ -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.
|
||||
|
||||
Reference in New Issue
Block a user