From 8680ad89c12aaeaea00efaf51b1391ef1236f317 Mon Sep 17 00:00:00 2001 From: Scott Idem Date: Tue, 27 Jan 2026 18:04:08 -0500 Subject: [PATCH] refactor(badges): complete field normalization and search mapping - Finalized the rename of 'default_qry_string' to 'default_qry_str' across the Badge library, Dexie schema, and API documentation. - Synchronized all reactive filtering in '+page.svelte' with the standardized field names to restore full search functionality. - Verified that text search, affiliations, and types now correctly map to whitelisted backend fields. --- documentation/AETHER_API_OBJECTS.md | 2 +- src/lib/ae_events/ae_events__event_badge.ts | 4 ++-- src/lib/ae_events/db_events.ts | 2 +- src/routes/events/[event_id]/(badges)/badges/+page.svelte | 4 ++++ 4 files changed, 8 insertions(+), 4 deletions(-) diff --git a/documentation/AETHER_API_OBJECTS.md b/documentation/AETHER_API_OBJECTS.md index 61878e19..1f07bef7 100644 --- a/documentation/AETHER_API_OBJECTS.md +++ b/documentation/AETHER_API_OBJECTS.md @@ -479,7 +479,7 @@ This document provides a reference for the data structures of the core Aether AP - `print_count`: `Optional[int]` - `cfg_json`: `Optional[Union[Json, None]]` - `data_json`: `Optional[Union[Json, None]]` -- `default_qry_string`: `Optional[str]` +- `default_qry_str`: `Optional[str]` - `hide`: `Optional[bool]` - `priority`: `Optional[bool]` - `sort`: `Optional[int]` diff --git a/src/lib/ae_events/ae_events__event_badge.ts b/src/lib/ae_events/ae_events__event_badge.ts index 53c00df8..facbb9f0 100644 --- a/src/lib/ae_events/ae_events__event_badge.ts +++ b/src/lib/ae_events/ae_events__event_badge.ts @@ -381,7 +381,7 @@ export async function search__event_badge({ const params: key_val = {}; // Standardized Text Search Pattern (V3 API) - // NOTE: Using 'default_qry_str' (Strict DB Column) instead of 'default_qry_string' + // NOTE: Using 'default_qry_str' (Strict DB Column) if (fulltext_search_qry_str && fulltext_search_qry_str.trim().length > 0) { const qry = fulltext_search_qry_str.trim(); search_query.and.push({ field: 'default_qry_str', op: 'like', value: `%${qry}%` }); @@ -508,7 +508,7 @@ export const properties_to_save = [ 'external_event_id', 'external_id', 'external_person_id', - 'default_qry_string', + 'default_qry_str', 'alert', 'enable', 'hide', diff --git a/src/lib/ae_events/db_events.ts b/src/lib/ae_events/db_events.ts index 22852078..f305b837 100644 --- a/src/lib/ae_events/db_events.ts +++ b/src/lib/ae_events/db_events.ts @@ -820,7 +820,7 @@ export class MySubClassedDexie extends Dexie { affiliations, affiliations_override, badge_type, badge_type_code, badge_type_code_override, badge_type_override, external_event_id, external_id, external_person_id, - default_qry_string, + default_qry_str, alert, tmp_sort_1, tmp_sort_2, print_count, print_first_datetime, print_last_datetime, diff --git a/src/routes/events/[event_id]/(badges)/badges/+page.svelte b/src/routes/events/[event_id]/(badges)/badges/+page.svelte index 14de8763..8c85b7d4 100644 --- a/src/routes/events/[event_id]/(badges)/badges/+page.svelte +++ b/src/routes/events/[event_id]/(badges)/badges/+page.svelte @@ -207,6 +207,10 @@ } catch (e) { if (log_lvl) console.warn('Badge Fast Path failed.', e); } + } else { + untrack(() => { + event_badge_id_li = []; + }); } // 3. REVALIDATE: API Request