Fix: Harden V3 search logic and restore specialized business mapping

- API: Updated `search_ae_obj_v3` to correctly serialize complex URL parameters (JSON).
- Events: Restored "sacred" business logic for Event Badge and Session searches using `ft_qry` and `lk_qry`.
- PWA: Fixed manifest path in `app.html` to resolve 404 errors.
- Documentation: Updated `GEMINI.md` and `TODO.md` with recent search hardening accomplishments.
This commit is contained in:
Scott Idem
2026-01-21 15:27:53 -05:00
parent 95f2ab79be
commit 09c7d2440a
7 changed files with 92 additions and 277 deletions

View File

@@ -361,7 +361,7 @@ export async function update_ae_obj__event_session({
return result;
}
// Updated 2026-01-21 to Restore Full Aether Search Logic
// Updated 2026-01-21 to Restore Full Aether Search logic
export async function search__event_session({
api_cfg,
event_id,
@@ -405,16 +405,14 @@ export async function search__event_session({
console.log(`*** search__event_session() *** [V3] event_id=${event_id} ft=${fulltext_search_qry_str}`);
}
// 1. Build the search query body
const search_query: any = {
q: '', // Default query string
q: '',
and: [{ field: 'event_id_random', op: 'eq', value: event_id }]
};
// 2. Build the params object for special flags (the 'params_json' equivalent)
const params: key_val = {};
// 3. Restore the Fulltext Logic
// Restore Fulltext logic
if (fulltext_search_qry_str || ft_presenter_search_qry_str) {
params['ft_qry'] = {};
if (fulltext_search_qry_str && fulltext_search_qry_str.length > 2) {
@@ -425,7 +423,7 @@ export async function search__event_session({
}
}
// 4. Restore the 'Like' Logic
// Restore Like logic
if (like_search_qry_str || like_presentation_search_qry_str || like_presenter_search_qry_str || like_poc_name_qry_str) {
params['lk_qry'] = {};
if (like_search_qry_str) params['lk_qry']['default_qry_str'] = like_search_qry_str;
@@ -449,7 +447,7 @@ export async function search__event_session({
obj_type: 'event_session',
search_query,
order_by_li,
params, // Pass the special flags into the V3 params
params, // Important: pass through special Aether params
limit,
offset,
log_lvl