diff --git a/src/lib/ae_events/ae_events__event_badge.ts b/src/lib/ae_events/ae_events__event_badge.ts index a800c4ab..2273ad84 100644 --- a/src/lib/ae_events/ae_events__event_badge.ts +++ b/src/lib/ae_events/ae_events__event_badge.ts @@ -1,173 +1,221 @@ import type { key_val } from '$lib/ae_stores'; import { api } from '$lib/api'; +import { db_save_ae_obj_li__ae_obj } from "$lib/ae_core/core__idb_dexie"; import { db_events } from "$lib/ae_events/db_events"; let ae_promises: key_val = {}; -// Updated 2024-03 -export async function handle_load_ae_obj_id__badge( - { - api_cfg, - badge_id, - try_cache=false, - log_lvl=0 - }: { - api_cfg: any, - badge_id: string, - try_cache?: boolean, - log_lvl?: number - } - ) { - console.log(`*** handle_load_ae_obj_id__badge() *** badge_id=${badge_id}`); - +// Updated 2025-10-06 +export async function load_ae_obj_id__event_badge({ + api_cfg, + event_badge_id, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_badge_id: string, + try_cache?: boolean, + log_lvl?: number + }) { + if (log_lvl) { + console.log(`*** load_ae_obj_id__event_badge() *** event_badge_id=${event_badge_id}`); + } let params = {}; - - // $events_sess.badges.status_load__badge_obj = 'loading'; - ae_promises.load__badge_obj = await api.get_ae_obj_id_crud({ - api_cfg: api_cfg, + ae_promises.load__event_badge_obj = await api.get_ae_obj_id_crud({ + api_cfg, obj_type: 'event_badge', - obj_id: badge_id, // NOTE: This is the FQDN, not normally the ID. - use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. - use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value in the API config. - params: params, - log_lvl: 0 - }) - .then(function (badge_obj_get_result) { + obj_id: event_badge_id, + use_alt_table: false, + use_alt_base: false, + params, + log_lvl + }) + .then(async function (badge_obj_get_result) { if (badge_obj_get_result) { - // This is expecting a list - handle_db_save_ae_obj_li__badge({obj_type: 'event_badge', obj_li: [badge_obj_get_result]}); + if (try_cache) { + let processed_obj_li = await process_ae_obj__event_badge_props({ + obj_li: [badge_obj_get_result], + log_lvl + }); + await db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li: processed_obj_li, + properties_to_save, + log_lvl, + }); + } return badge_obj_get_result; } else { - console.log('No results returned.'); + if (log_lvl) console.log('No results returned.'); return null; } }) .catch(function (error) { console.log('No results returned or failed.', error); }); - - return ae_promises.load__badge_obj; + return ae_promises.load__event_badge_obj; } -// Updated 2024-03-06 -export async function handle_load_ae_obj_li__badge( - { - api_cfg, - event_id, - params={}, - try_cache=true, - log_lvl=0 - }: { - api_cfg: any, - event_id: any, - params: any, - try_cache?: boolean, - log_lvl: number - }) { - console.log(`*** handle_load_ae_obj_li__badge() *** event_id=${event_id}`); - - let fulltext_search_qry_str = ''; // $events_sess.badges.fulltext_search_qry_str; - - let enabled: string = (params.qry__enabled ?? 'enabled'); // all, disabled, enabled - let hidden: string = (params.qry__hidden ?? 'not_hidden'); // all, hidden, not_hidden - let limit: number = (params.qry__limit ?? 99); // 99 - let offset: number = (params.qry__offset ?? 0); // 0 - - let params_json: key_val = {}; - if (fulltext_search_qry_str && fulltext_search_qry_str.length > 2) { - params_json['ft_qry'] = { - 'default_qry_str': fulltext_search_qry_str, - // 'location_address_json_ext': fulltext_search_qry_str, // JSON extracted text DB field - // 'contact_li_json_ext': fulltext_search_qry_str, // JSON extracted text DB field - }; +// Updated 2025-10-06 +export async function load_ae_obj_li__event_badge({ + api_cfg, + event_id, + enabled = 'enabled', + hidden = 'not_hidden', + limit = 99, + offset = 0, + order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC'}, + params = {}, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_id: string, + enabled?: string, + hidden?: string, + limit?: number, + offset?: number, + order_by_li?: key_val, + params?: key_val, + try_cache?: boolean, + log_lvl?: number + }) { + if (log_lvl) { + console.log(`*** load_ae_obj_li__event_badge() *** event_id=${event_id}`); } - - // console.log('params_json:', params_json); - // console.log(params_json); - - // $events_sess.badges.status_qry__search = 'loading'; + let params_json: key_val = {}; ae_promises.load__event_badge_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ - api_cfg: api_cfg, + api_cfg, obj_type: 'event_badge', for_obj_type: 'event', for_obj_id: event_id, - use_alt_table: false, // NOTE: This will use the table_name_alt value instead of the table_name value in the API config. - use_alt_base: false, // NOTE: This will use the base_name_alt value instead of the base_name value in the API config. - enabled: enabled, - hidden: hidden, - order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC'}, - // order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC'}, - limit: limit, - offset: offset, - params_json: params_json, - params: params, - log_lvl: log_lvl - }) - - .then(function (badge_obj_li_get_result) { - // console.log('Badge list:', badge_obj_li_get_result); + use_alt_table: false, + use_alt_base: false, + enabled, + hidden, + order_by_li, + limit, + offset, + params_json, + params, + log_lvl + }) + .then(async function (badge_obj_li_get_result) { if (badge_obj_li_get_result) { - // $slct.badge_obj_li = badge_obj_li_get_result; - handle_db_save_ae_obj_li__badge({obj_type: 'event_badge', obj_li: badge_obj_li_get_result}); + if (try_cache) { + let processed_obj_li = await process_ae_obj__event_badge_props({ + obj_li: badge_obj_li_get_result, + log_lvl + }); + await db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li: processed_obj_li, + properties_to_save, + log_lvl, + }); + } return badge_obj_li_get_result; } else { - // $slct.badge_obj_li = []; return []; } }) .catch(function (error) { console.log('No results returned or failed.', error); - }) - .finally(function () { - // $events_sess.badges.status_qry__search = 'done'; - - // console.log('Badge list:', badge_obj_li_get_result); - // return badge_obj_li_get_result; }); - - if (log_lvl) { - console.log('ae_promises.load__event_badge_obj_li:', ae_promises.load__event_badge_obj_li); - } return ae_promises.load__event_badge_obj_li; } -// Updated 2024-11-08 -export async function delete_ae_obj_id__event_badge( - { - api_cfg, - event_badge_id, - method = 'delete', // 'delete', 'disable', 'hide' - params = {}, - try_cache = true, - log_lvl = 0 - }: { - api_cfg: any, - event_badge_id: string, - method?: string, - params?: key_val, - try_cache?: boolean, - log_lvl?: number +// Updated 2025-10-06 +export async function create_ae_obj__event_badge({ + api_cfg, + event_id, + data_kv, + params = {}, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_id: string, + data_kv: key_val, + params?: key_val, + try_cache?: boolean, + log_lvl?: number + }) { + if (log_lvl) { + console.log(`*** create_ae_obj__event_badge() *** event_id=${event_id}`); + } + ae_promises.create__event_badge = await api.create_ae_obj_crud({ + api_cfg, + obj_type: 'event_badge', + fields: { + event_id_random: event_id, + ...data_kv + }, + key: api_cfg.api_crud_super_key, + params, + return_obj: true, + log_lvl + }) + .then(async function (event_badge_obj_create_result) { + if (event_badge_obj_create_result) { + if (try_cache) { + let processed_obj_li = await process_ae_obj__event_badge_props({ + obj_li: [event_badge_obj_create_result], + log_lvl + }); + db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li: processed_obj_li, + properties_to_save, + log_lvl, + }); + } + return event_badge_obj_create_result; + } else { + return null; } - ) { + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + return ae_promises.create__event_badge; +} + + +// Updated 2025-10-06 +export async function delete_ae_obj_id__event_badge({ + api_cfg, + event_badge_id, + method = 'delete', + params = {}, + try_cache = true, + log_lvl = 0 +}: { + api_cfg: any, + event_badge_id: string, + method?: string, + params?: key_val, + try_cache?: boolean, + log_lvl?: number +}) { if (log_lvl) { console.log(`*** delete_ae_obj_id__event_badge() *** event_badge_id=${event_badge_id}`); } - ae_promises.delete__event_badge_obj = await api.delete_ae_obj_id_crud({ - api_cfg: api_cfg, + api_cfg, obj_type: 'event_badge', obj_id: event_badge_id, key: api_cfg.api_crud_super_key, - params: params, - method: method, - log_lvl: log_lvl - }) - .then(function (event_badge_obj_delete_result) { - + params, + method, + log_lvl }) .catch(function (error) { console.log('No results returned or failed.', error); @@ -180,12 +228,229 @@ export async function delete_ae_obj_id__event_badge( db_events.badges.delete(event_badge_id); } }); + return ae_promises.delete__event_badge_obj; +} + +// Updated 2025-10-06 +export async function update_ae_obj__event_badge({ + api_cfg, + event_badge_id, + data_kv, + params = {}, + try_cache = true, + log_lvl = 0 +}: { + api_cfg: any, + event_badge_id: string, + data_kv: key_val, + params?: key_val, + try_cache?: boolean, + log_lvl?: number +}) { if (log_lvl) { - console.log('ae_promises.delete__event_badge_obj:', ae_promises.delete__event_badge_obj); + console.log(`*** update_ae_obj__event_badge() *** event_badge_id=${event_badge_id}`); + } + ae_promises.update__event_badge_obj = await api.update_ae_obj_id_crud({ + api_cfg, + obj_type: 'event_badge', + obj_id: event_badge_id, + fields: data_kv, + key: api_cfg.api_crud_super_key, + params, + return_obj: true, + log_lvl + }) + .then(async function (event_badge_obj_update_result) { + if (event_badge_obj_update_result) { + if (try_cache) { + let processed_obj_li = await process_ae_obj__event_badge_props({ + obj_li: [event_badge_obj_update_result], + log_lvl + }); + db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li: processed_obj_li, + properties_to_save, + log_lvl, + }); + } + return event_badge_obj_update_result; + } else { + return null; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + return ae_promises.update__event_badge_obj; +} + + +// Is this needed? +// Updated 2025-10-06 +export async function qry__event_badge({ + api_cfg, + event_id, + qry_str = null, + enabled = 'enabled', + hidden = 'not_hidden', + limit = 99, + offset = 0, + order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC'}, + params = {}, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_id: string, + qry_str?: null|string, + enabled?: string, + hidden?: string, + limit?: number, + offset?: number, + order_by_li?: key_val, + params?: key_val, + try_cache?: boolean, + log_lvl?: number + }) { + if (log_lvl) { + console.log(`*** qry__event_badge() *** event_id=${event_id}`); + } + let params_json: key_val = {}; + if (qry_str) { + params_json['ft_qry'] = { 'default_qry_str': qry_str }; + } + ae_promises.qry__event_badge_obj_li = await load_ae_obj_li__event_badge({ + api_cfg, + event_id, + enabled, + hidden, + limit, + offset, + order_by_li, + params: { ...params, ...params_json }, + try_cache, + log_lvl + }); + return ae_promises.qry__event_badge_obj_li; +} + + +// Updated 2025-10-06 +export async function search__event_badge({ + api_cfg, + event_id, + type_code = null, + fulltext_search_qry_str, + like_search_qry_str = null, + external_event_id, + enabled = 'enabled', + hidden = 'not_hidden', + limit = 25, + offset = 0, + order_by_li = {'print_count': 'ASC', 'priority': 'DESC', 'sort': 'DESC', 'given_name': 'ASC', 'family_name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'}, + params = {}, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_id: string, + type_code?: null|string, + external_event_id?: null|string, + fulltext_search_qry_str?: null|string, + like_search_qry_str?: null|string, + enabled?: string, + hidden?: string, + limit?: number, + offset?: number, + order_by_li?: key_val, + params?: key_val, + try_cache?: boolean, + log_lvl?: number + }) { + if (log_lvl) { + console.log(`*** search__event_badge() *** event_id=${event_id}`); } - return ae_promises.delete__event_badge_obj; + if (!fulltext_search_qry_str && !like_search_qry_str) { + console.log('No search string provided!!!'); + return false; // Returning false instead of [] because no search was performed. + } + + + let params_json: key_val = {}; + if (fulltext_search_qry_str && fulltext_search_qry_str.length > 2) { + params_json['ft_qry'] = { 'default_qry_str': fulltext_search_qry_str }; + // 'location_address_json_ext': fulltext_search_qry_str, // JSON extracted text DB field + // 'contact_li_json_ext': fulltext_search_qry_str, // JSON extracted text DB field + } + if (like_search_qry_str && like_search_qry_str.length > 2) { + // Old Python version that needs to be in JS + // # Strip (left right) whitespace then commas then semicolons + // query_str = query_str.strip().strip(',').strip(';') + // # Replace commas, semicolons, and then spaces with % + // query_str_like = query_str.replace(',', ' ').replace(';', ' ').replace(' ', '%').replace(' ', '%') + // # data['query_str'] = f'%{query_str}%' + // log.debug(query_str_like) + // data['query_str'] = f'%{query_str_like}%' + + // let like_search_qry_str_new = like_search_qry_str.trim().replace(',', ' ').replace(';', ' ').replace(' ', '%').replace(' ', '%'); + // like_search_qry_str_new = `%${like_search_qry_str_new}%`; + // console.log('like_search_qry_str_new:', like_search_qry_str_new); + + params_json['and_like'] = { 'default_qry_str': like_search_qry_str }; + } + + params_json['and_qry'] = {}; + if (external_event_id) { + params_json['and_qry']['external_event_id'] = external_event_id; + } + if (type_code) { // This is the event_badge.badge_type_code. There is also a member_type_code and registration_type_code that could be referenced in the future. + params_json['and_qry']['badge_type_code'] = type_code; + } + + ae_promises.search__event_badge_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ + api_cfg, + obj_type: 'event_badge', + for_obj_type: 'event', + for_obj_id: event_id, + use_alt_table: false, + use_alt_base: false, + enabled, + hidden, + order_by_li, + limit, + offset, + params_json, + params, + log_lvl + }) + .then(async function (badge_obj_li_get_result) { + if (badge_obj_li_get_result) { + if (try_cache) { + let processed_obj_li = await process_ae_obj__event_badge_props({ + obj_li: badge_obj_li_get_result, + log_lvl + }); + await db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li: processed_obj_li, + properties_to_save, + log_lvl, + }); + } + return badge_obj_li_get_result; + } else { + return []; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + return ae_promises.search__event_badge_obj_li; } @@ -334,9 +599,12 @@ export function handle_db_save_ae_obj_li__badge( try { const id_random = await db_events.badges.put({ - id_random: obj.event_badge_id_random, + id: obj.event_badge_id_random, + // id_random: obj.event_badge_id_random, + event_badge_id: obj.event_badge_id_random, event_badge_id_random: obj.event_badge_id_random, + event_id: obj.event_id_random, event_id_random: obj.event_id_random, pronouns: obj.pronouns, @@ -383,6 +651,8 @@ export function handle_db_save_ae_obj_li__badge( external_id: obj.external_id, external_person_id: obj.external_person_id, + alert: obj.alert, + enable: obj.enable, hide: obj.hide, priority: obj.priority, @@ -391,6 +661,19 @@ export function handle_db_save_ae_obj_li__badge( notes: obj.notes, created_on: obj.created_on, updated_on: obj.updated_on, + + tmp_sort_1: obj.tmp_sort_1, + tmp_sort_2: obj.tmp_sort_2, + + person_external_id: obj.person_external_id, + person_external_sys_id: obj.person_external_sys_id, + person_given_name: obj.person_given_name, + person_family_name: obj.person_family_name, + person_full_name: obj.person_full_name, + person_professional_title: obj.person_professional_title, + person_affiliations: obj.person_affiliations, + person_primary_email: obj.person_primary_email, + person_passcode: obj.person_passcode, }); // console.log(`Put obj with ID: ${obj.event_badge_id_random} or ${id_random}`); } catch (error) { @@ -405,3 +688,210 @@ export function handle_db_save_ae_obj_li__badge( return true; } } + + +// Updated 2025-10-06 +export async function db_save_ae_obj_li__event_badge({ + obj_type, + obj_li, + log_lvl = 0 +}: { + obj_type: string, + obj_li: any[], + log_lvl?: number +}) { + if (log_lvl) { + console.log(`*** db_save_ae_obj_li__event_badge() *** obj_type=${obj_type}`, obj_li); + } + if (!obj_li || obj_li.length === 0) { + if (log_lvl) console.log('No objects to save.'); + return []; + } + return await db_save_ae_obj_li__ae_obj({ + db_instance: db_events, + table_name: 'badges', + obj_li, + properties_to_save, + log_lvl, + }); +} + + +// Updated 2025-10-06 +export const properties_to_save = [ + 'id', + 'event_badge_id', + 'event_badge_id_random', + + 'event_id', + 'event_id_random', + + 'pronouns', + 'informal_name', + 'title_names', + 'given_name', + 'middle_name', + 'family_name', + 'designations', + + 'professional_title', + 'professional_title_override', + + 'full_name', + 'full_name_override', + + 'affiliations', + 'affiliations_override', + + 'email', + 'email_override', + + 'address_line_1', + 'address_line_2', + 'address_line_3', + 'city', + 'country_subdivision_code', + 'state_province', + 'state_province_abb', + 'postal_code', + 'country_alpha_2_code', + 'country', + 'full_address', + 'location', + 'location_override', + + 'query_str', + + 'badge_type', + 'badge_type_code', + 'badge_type_override', + 'badge_type_code_override', + 'external_event_id', + 'external_id', + 'external_person_id', + + 'alert', + + 'enable', + 'hide', + 'priority', + 'sort', + 'group', + 'notes', + 'created_on', + 'updated_on', + + // Generated fields for sorting locally only + 'tmp_sort_1', + 'tmp_sort_2', + + 'person_external_id', + 'person_external_sys_id', + 'person_given_name', + 'person_family_name', + 'person_full_name', + 'person_professional_title', + 'person_affiliations', + 'person_primary_email', + 'person_passcode', +]; + + +// Updated 2025-10-06 +export async function process_ae_obj__event_badge_props({ + obj_li, + log_lvl = 0, +}: { + obj_li: any[]; + log_lvl?: number; +}) { + if (log_lvl) { + console.log(`*** process_ae_obj__event_badge_props() ***`, obj_li); + } + if (!obj_li || obj_li.length === 0) { + if (log_lvl) console.log('No objects to process.'); + return []; + } + const processed_obj_li = []; + for (const obj of obj_li) { + if (log_lvl) console.log(`Processing ae_obj event_badge:`, obj); + let processed_obj = { + id: obj.event_badge_id_random, + event_badge_id: obj.event_badge_id_random, + event_badge_id_random: obj.event_badge_id_random, + + event_id: obj.event_id_random, + event_id_random: obj.event_id_random, + + pronouns: obj.pronouns, + informal_name: obj.informal_name, + title_names: obj.title_names, + given_name: obj.given_name, + middle_name: obj.middle_name, + family_name: obj.family_name, + designations: obj.designations, + + professional_title: obj.professional_title, + professional_title_override: obj.professional_title_override, + + full_name: obj.full_name, + full_name_override: obj.full_name_override, + + affiliations: obj.affiliations, + affiliations_override: obj.affiliations_override, + + email: obj.email, + email_override: obj.email_override, + + address_line_1: obj.address_line_1, + address_line_2: obj.address_line_2, + address_line_3: obj.address_line_3, + city: obj.city, + country_subdivision_code: obj.country_subdivision_code, + state_province: obj.state_province, + state_province_abb: obj.state_province_abb, + postal_code: obj.postal_code, + country_alpha_2_code: obj.country_alpha_2_code, + country: obj.country, + full_address: obj.full_address, + location: obj.location, + location_override: obj.location_override, + + query_str: obj.query_str, + + badge_type: obj.badge_type, + badge_type_code: obj.badge_type_code, + badge_type_override: obj.badge_type_override, + badge_type_code_override: obj.badge_type_code_override, + external_event_id: obj.external_event_id, + external_id: obj.external_id, + external_person_id: obj.external_person_id, + + alert: obj.alert, + + enable: obj.enable, + hide: obj.hide, + priority: obj.priority, + sort: obj.sort, + group: obj.group, + notes: obj.notes, + created_on: obj.created_on, + updated_on: obj.updated_on, + + tmp_sort_1: obj.tmp_sort_1, + tmp_sort_2: obj.tmp_sort_2, + + person_external_id: obj.person_external_id, + person_external_sys_id: obj.person_external_sys_id, + person_given_name: obj.person_given_name, + person_family_name: obj.person_family_name, + person_full_name: obj.person_full_name, + person_professional_title: obj.person_professional_title, + person_affiliations: obj.person_affiliations, + person_primary_email: obj.person_primary_email, + person_passcode: obj.person_passcode, + }; + processed_obj_li.push(processed_obj); + } + return processed_obj_li; +} \ No newline at end of file diff --git a/src/lib/ae_events/db_events.ts b/src/lib/ae_events/db_events.ts index 9f4c9699..2c6109c4 100644 --- a/src/lib/ae_events/db_events.ts +++ b/src/lib/ae_events/db_events.ts @@ -99,57 +99,64 @@ export interface Event { export interface Badge { - id?: number; - id_random: string; + id: number; + // id_random: string; event_badge_id: string; event_badge_id_random: string; event_id: string; event_id_random: string; - pronouns: null|string; - informal_name: null|string; - title_names: null|string; + pronouns?: null|string; + informal_name?: null|string; + title_names?: null|string; given_name: string; - middle_name: null|string; - family_name: null|string; - designations: null|string; + middle_name?: null|string; + family_name?: null|string; + designations?: null|string; - professional_title: null|string; - professional_title_override: null|string; + professional_title?: null|string; + professional_title_override?: null|string; - full_name: string; - full_name_override: null|string; + full_name?: string; + full_name_override?: null|string; - affiliations: string; - affiliations_override: null|string; + affiliations?: string; + affiliations_override?: null|string; - email: string; - email_override: null|string; + email?: string; + email_override?: null|string; - address_line_1: null|string; - address_line_2: null|string; - address_line_3: null|string; - city: null|string; - country_subdivision_code: null|string; - state_province: null|string; - state_province_abb: null|string; - postal_code: null|string; - country_alpha_2_code: null|string; - country: null|string; - full_address: null|string; - location: null|string; - location_override: null|string; + address_line_1?: null|string; + address_line_2?: null|string; + address_line_3?: null|string; + city?: null|string; + country_subdivision_code?: null|string; + state_province?: null|string; + state_province_abb?: null|string; + postal_code?: null|string; + country_alpha_2_code?: null|string; + country?: null|string; + full_address?: null|string; + location?: null|string; + location_override?: null|string; - query_str: null|string; + query_str?: null|string; - badge_type: string; - badge_type_code: string; - badge_type_code_override: null|string; - badge_type_override: null|string; - external_event_id: string; - external_id: string; - external_person_id: string; + badge_type?: string; + badge_type_code?: string; + badge_type_code_override?: null|string; + badge_type_override?: null|string; + + external_event_id?: string; + external_id?: string; + external_person_id?: string; + + // passcode?: null|string; + + // data_json?: null|string; + + alert?: null|boolean; enable: null|boolean; hide?: null|boolean; @@ -159,6 +166,21 @@ export interface Badge { notes?: null|string; created_on: Date; updated_on?: null|Date; + + // Generated fields for sorting locally only + tmp_sort_1?: null|string; + tmp_sort_2?: null|string; + + // Additional fields for convenience (database views) + person_external_id?: null|string; // This may be semi-random or unique only withing the account. + person_external_sys_id?: null|string; // Generated by an external system. Ideally this should be something like a UUID. It may be the same as the external_id if nothing given. + person_given_name?: string; + person_family_name?: null|string; + person_full_name?: null|string; + person_professional_title?: null|string; + person_affiliations?: null|string; + person_primary_email?: null|string; + person_passcode?: null|string; } @@ -551,6 +573,7 @@ export interface Presenter { professional_title?: null|string; full_name?: string; + full_name_override: null|string; affiliations?: null|string; @@ -684,7 +707,6 @@ export interface Session { poc_person_primary_email?: null|string; poc_person_passcode?: null|string; - event_name?: null|string; event_location_code?: null|string; @@ -737,6 +759,8 @@ 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, + alert, + tmp_sort_1, tmp_sort_2, enable, hide, priority, sort, group, notes, created_on, updated_on`, devices: ` @@ -825,6 +849,7 @@ export class MySubClassedDexie extends Dexie { name, start_datetime, end_datetime, hide_event_launcher, ux_mode, + alert, tmp_sort_1, tmp_sort_2, enable, hide, priority, sort, group, created_on, updated_on`, }); diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index 10bb6c6b..68853610 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -29,6 +29,7 @@ import * as event_badge from "$lib/ae_events/ae_events__event_badge"; let export_obj = { + // Events load_ae_obj_id__event: event.load_ae_obj_id__event, load_ae_obj_li__event: event.load_ae_obj_li__event, qry_ae_obj_li__event: event.qry_ae_obj_li__event, @@ -38,6 +39,20 @@ let export_obj = { // db_save_ae_obj_li__event: event.db_save_ae_obj_li__event, sync_config__event_pres_mgmt: event.sync_config__event_pres_mgmt, + // Event Badges + load_ae_obj_id__event_badge: event_badge.load_ae_obj_id__event_badge, + load_ae_obj_li__event_badge: event_badge.load_ae_obj_li__event_badge, + create_ae_obj__event_badge: event_badge.create_ae_obj__event_badge, + delete_ae_obj_id__event_badge: event_badge.delete_ae_obj_id__event_badge, + update_ae_obj__event_badge: event_badge.update_ae_obj__event_badge, + qry__event_badge: event_badge.qry__event_badge, + search__event_badge: event_badge.search__event_badge, + // handle_load_ae_obj_id__badge: event_badge.handle_load_ae_obj_id__badge, + // handle_load_ae_obj_li__badge: event_badge.handle_load_ae_obj_li__badge, + // handle_search__event_badge: event_badge.handle_search__event_badge, + // db_save_ae_obj_li__event_badge: event_badge.db_save_ae_obj_li__event_badge, + + // Event Devices load_ae_obj_id__event_device: event_device.load_ae_obj_id__event_device, load_ae_obj_li__event_device: event_device.load_ae_obj_li__event_device, create_ae_obj__event_device: event_device.create_ae_obj__event_device, @@ -45,6 +60,17 @@ let export_obj = { update_ae_obj__event_device: event_device.update_ae_obj__event_device, // db_save_ae_obj_li__event_device: event_device.db_save_ae_obj_li__event_device, + // Event Exhibits + handle_load_ae_obj_id__exhibit: handle_load_ae_obj_id__exhibit, + handle_load_ae_obj_li__exhibit: handle_load_ae_obj_li__exhibit, + handle_load_ae_obj_id__exhibit_tracking: handle_load_ae_obj_id__exhibit_tracking, + handle_load_ae_obj_li__exhibit_tracking: handle_load_ae_obj_li__exhibit_tracking, + handle_create_ae_obj__exhibit_tracking: handle_create_ae_obj__exhibit_tracking, + handle_update_ae_obj__exhibit_tracking: handle_update_ae_obj__exhibit_tracking, + handle_download_export__event_exhibit_tracking: handle_download_export__event_exhibit_tracking, + // handle_db_save_ae_obj_li__exhibitor: handle_db_save_ae_obj_li__exhibitor, + + // Event Files load_ae_obj_id__event_file: event_file.load_ae_obj_id__event_file, load_ae_obj_li__event_file: event_file.load_ae_obj_li__event_file, create_event_file_obj_from_hosted_file_async: event_file.create_event_file_obj_from_hosted_file_async, @@ -54,6 +80,7 @@ let export_obj = { search__event_file: event_file.search__event_file, // db_save_ae_obj_li__event_file: event_file.db_save_ae_obj_li__event_file, + // Event Locations load_ae_obj_id__event_location: event_location.load_ae_obj_id__event_location, load_ae_obj_li__event_location: event_location.load_ae_obj_li__event_location, create_ae_obj__event_location: event_location.create_ae_obj__event_location, @@ -61,6 +88,7 @@ let export_obj = { update_ae_obj__event_location: event_location.update_ae_obj__event_location, // db_save_ae_obj_li__event_location: event_location.db_save_ae_obj_li__event_location, + // Event Sessions load_ae_obj_id__event_session: event_session.load_ae_obj_id__event_session, load_ae_obj_li__event_session: event_session.load_ae_obj_li__event_session, create_ae_obj__event_session: event_session.create_ae_obj__event_session, @@ -71,6 +99,7 @@ let export_obj = { email_sign_in__event_session: event_session.email_sign_in__event_session, // db_save_ae_obj_li__event_session: event_session.db_save_ae_obj_li__event_session, + // Event Presentations load_ae_obj_id__event_presentation: event_presentation.load_ae_obj_id__event_presentation, load_ae_obj_li__event_presentation: event_presentation.load_ae_obj_li__event_presentation, create_ae_obj__event_presentation: event_presentation.create_ae_obj__event_presentation, @@ -78,6 +107,7 @@ let export_obj = { update_ae_obj__event_presentation: event_presentation.update_ae_obj__event_presentation, // db_save_ae_obj_li__event_presentation: event_presentation.db_save_ae_obj_li__event_presentation, + // Event Presenters load_ae_obj_id__event_presenter: event_presenter.load_ae_obj_id__event_presenter, load_ae_obj_li__event_presenter: event_presenter.load_ae_obj_li__event_presenter, create_ae_obj__event_presenter: event_presenter.create_ae_obj__event_presenter, @@ -87,18 +117,5 @@ let export_obj = { // db_save_ae_obj_li__event_presenter: event_presenter.db_save_ae_obj_li__event_presenter, email_sign_in__event_presenter: event_presenter.email_sign_in__event_presenter, - handle_load_ae_obj_id__badge: event_badge.handle_load_ae_obj_id__badge, - handle_load_ae_obj_li__badge: event_badge.handle_load_ae_obj_li__badge, - handle_search__event_badge: event_badge.handle_search__event_badge, - // handle_db_save_ae_obj_li__badge: event_badge.handle_db_save_ae_obj_li__badge, - - handle_load_ae_obj_id__exhibit: handle_load_ae_obj_id__exhibit, - handle_load_ae_obj_li__exhibit: handle_load_ae_obj_li__exhibit, - handle_load_ae_obj_id__exhibit_tracking: handle_load_ae_obj_id__exhibit_tracking, - handle_load_ae_obj_li__exhibit_tracking: handle_load_ae_obj_li__exhibit_tracking, - handle_create_ae_obj__exhibit_tracking: handle_create_ae_obj__exhibit_tracking, - handle_update_ae_obj__exhibit_tracking: handle_update_ae_obj__exhibit_tracking, - handle_download_export__event_exhibit_tracking: handle_download_export__event_exhibit_tracking, - // handle_db_save_ae_obj_li__exhibitor: handle_db_save_ae_obj_li__exhibitor, }; export let events_func = export_obj; diff --git a/src/routes/events_badges/review/+page.svelte b/src/routes/events_badges/review/+page.svelte index 240b4748..13f8d801 100644 --- a/src/routes/events_badges/review/+page.svelte +++ b/src/routes/events_badges/review/+page.svelte @@ -169,24 +169,18 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { } console.log(`"${search_str}"`); - let params = { - 'qry__enabled': 'enabled', - 'qry__hidden': 'not_hidden', - 'qry__limit': 35, - } + let enabled = 'enabled'; + let hidden = 'not_hidden'; + let limit = 35; if ($ae_loc.administrator_access) { - params['qry__enabled'] = 'all'; - params['qry__hidden'] = 'all'; - params['qry__limit'] = 150; + enabled = 'all'; + hidden = 'all'; + limit = 250; } else if ($ae_loc.trusted_access) { - params['qry__enabled'] = 'enabled'; - params['qry__hidden'] = 'all'; - params['qry__limit'] = 75; - } else { - params['qry__enabled'] = 'enabled'; - params['qry__hidden'] = 'not_hidden'; - params['qry__limit'] = 35; + enabled = 'enabled'; + hidden = 'all'; + limit = 150; } if ($events_sess.status_qry__search == 'loading') { @@ -197,15 +191,16 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { $events_sess.status_qry__search = 'loading'; - search_submit_results = events_func.handle_search__event_badge({ + search_submit_results = events_func.search__event_badge({ api_cfg: $ae_api, event_id: $events_slct.event_id, type_code: type_code, fulltext_search_qry_str: ft_search_str_new, like_search_qry_str: lk_search_str_new, external_event_id: $events_loc.badges.default__external_registration_id, - params: params, - try_cache: false + enabled: enabled, + hidden: hidden, + limit: limit, }) .then(function (search_results) { $events_slct.badge_obj_li = search_results; @@ -218,15 +213,16 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { $events_sess.status_qry__search = 'loading'; - search_submit_results = events_func.handle_search__event_badge({ + search_submit_results = events_func.search__event_badge({ api_cfg: $ae_api, event_id: $events_slct.event_id, type_code: type_code, fulltext_search_qry_str: ft_search_str_new, like_search_qry_str: lk_search_str_new, external_event_id: $events_loc.badges.default__external_registration_id, - params: params, - try_cache: false + enabled: enabled, + hidden: hidden, + limit: limit, }) .then(function (search_results) { $events_slct.badge_obj_li = search_results; diff --git a/src/routes/events_badges/stats/+page.svelte b/src/routes/events_badges/stats/+page.svelte index f98792e2..07b9c75f 100644 --- a/src/routes/events_badges/stats/+page.svelte +++ b/src/routes/events_badges/stats/+page.svelte @@ -176,24 +176,18 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { } console.log(`"${search_str}"`); - let params = { - 'qry__enabled': 'enabled', - 'qry__hidden': 'not_hidden', - 'qry__limit': 35, - } + let enabled = 'enabled'; + let hidden = 'not_hidden'; + let limit = 35; if ($ae_loc.administrator_access) { - params['qry__enabled'] = 'all'; - params['qry__hidden'] = 'all'; - params['qry__limit'] = 150; + enabled = 'all'; + hidden = 'all'; + limit = 250; } else if ($ae_loc.trusted_access) { - params['qry__enabled'] = 'enabled'; - params['qry__hidden'] = 'all'; - params['qry__limit'] = 75; - } else { - params['qry__enabled'] = 'enabled'; - params['qry__hidden'] = 'not_hidden'; - params['qry__limit'] = 35; + enabled = 'enabled'; + hidden = 'all'; + limit = 150; } if ($events_sess.status_qry__search == 'loading') { @@ -204,15 +198,16 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { $events_sess.status_qry__search = 'loading'; - search_submit_results = events_func.handle_search__event_badge({ + search_submit_results = events_func.search__event_badge({ api_cfg: $ae_api, event_id: $events_slct.event_id, type_code: type_code, fulltext_search_qry_str: ft_search_str_new, like_search_qry_str: lk_search_str_new, external_event_id: $events_loc.badges.default__external_registration_id, - params: params, - try_cache: false + enabled: enabled, + hidden: hidden, + limit: limit, }) .then(function (search_results) { $events_slct.badge_obj_li = search_results; @@ -225,15 +220,16 @@ $: if ($events_trigger == 'load__event_badge_obj_li' && $events_slct.event_id) { $events_sess.status_qry__search = 'loading'; - search_submit_results = events_func.handle_search__event_badge({ + search_submit_results = events_func.search__event_badge({ api_cfg: $ae_api, event_id: $events_slct.event_id, type_code: type_code, fulltext_search_qry_str: ft_search_str_new, like_search_qry_str: lk_search_str_new, external_event_id: $events_loc.badges.default__external_registration_id, - params: params, - try_cache: false + enabled: enabled, + hidden: hidden, + limit: limit, }) .then(function (search_results) { $events_slct.badge_obj_li = search_results; diff --git a/src/routes/events_leads/exhibit/[slug]/leads_add_scan backup.svelte b/src/routes/events_leads/exhibit/[slug]/leads_add_scan backup.svelte index 887a7d38..6cd14aed 100644 --- a/src/routes/events_leads/exhibit/[slug]/leads_add_scan backup.svelte +++ b/src/routes/events_leads/exhibit/[slug]/leads_add_scan backup.svelte @@ -77,7 +77,12 @@ async function handle_submit_form_search(event) { let search_str = $events_sess.leads.entered_search_str.trim(); console.log(search_str); - search_submit_results = await events_func.handle_search__event_badge({api_cfg: $ae_api, event_id: $event_exhibit_obj.event_id_random, fulltext_search_qry_str: search_str, external_event_id: $events_loc.leads.default__external_registration_id}); + search_submit_results = await events_func.search__event_badge({ + api_cfg: $ae_api, + event_id: $event_exhibit_obj.event_id_random, + fulltext_search_qry_str: search_str, + external_event_id: $events_loc.leads.default__external_registration_id + }); console.log(search_submit_results); $events_slct.badge_obj_li = search_submit_results; diff --git a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte index c9cad048..cd7dcd4a 100644 --- a/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte +++ b/src/routes/events_leads/exhibit/[slug]/leads_add_scan.svelte @@ -82,7 +82,12 @@ async function handle_submit_form_search(event) { let search_str = $events_sess.leads.entered_search_str.trim(); console.log(search_str); - search_submit_results = await events_func.handle_search__event_badge({api_cfg: $ae_api, event_id: $event_exhibit_obj.event_id_random, fulltext_search_qry_str: search_str, external_event_id: $events_loc.leads.default__external_registration_id}); + search_submit_results = await events_func.search__event_badge({ + api_cfg: $ae_api, + event_id: $event_exhibit_obj.event_id_random, + fulltext_search_qry_str: search_str, + external_event_id: $events_loc.leads.default__external_registration_id + }); console.log(search_submit_results); $events_slct.badge_obj_li = search_submit_results;