The search is working better now. Also better and less debug logging.
This commit is contained in:
@@ -101,7 +101,7 @@ export let get_object = async function get_object(
|
|||||||
console.log('URL params:');
|
console.log('URL params:');
|
||||||
}
|
}
|
||||||
for (const prop in params) {
|
for (const prop in params) {
|
||||||
if (log_lvl) {
|
if (log_lvl > 1) {
|
||||||
console.log(`URL param: ${prop}: ${params[prop]}`);
|
console.log(`URL param: ${prop}: ${params[prop]}`);
|
||||||
}
|
}
|
||||||
if (params[prop] === null ) {
|
if (params[prop] === null ) {
|
||||||
@@ -119,7 +119,7 @@ export let get_object = async function get_object(
|
|||||||
let percent_completed = Math.round(
|
let percent_completed = Math.round(
|
||||||
(progressEvent.loaded * 100) / progressEvent.total
|
(progressEvent.loaded * 100) / progressEvent.total
|
||||||
);
|
);
|
||||||
if (log_lvl) {
|
if (log_lvl > 1) {
|
||||||
console.log('GET Data Progress:', progressEvent.progress, 'Total:', progressEvent.total, 'Loaded:', progressEvent.loaded, 'Percent Completed', percent_completed);
|
console.log('GET Data Progress:', progressEvent.progress, 'Total:', progressEvent.total, 'Loaded:', progressEvent.loaded, 'Percent Completed', percent_completed);
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -206,6 +206,20 @@ export let get_object = async function get_object(
|
|||||||
}
|
}
|
||||||
})
|
})
|
||||||
.catch(function (error) {
|
.catch(function (error) {
|
||||||
|
// Handle the common and expected 404 "error" first
|
||||||
|
if (error.response && error.response.status === 404) {
|
||||||
|
if (log_lvl) {
|
||||||
|
console.log('The response was a 404 not found "error". Returning null.');
|
||||||
|
}
|
||||||
|
if (log_lvl > 1) {
|
||||||
|
console.log(error.response);
|
||||||
|
}
|
||||||
|
if (log_lvl > 2) {
|
||||||
|
console.log(error);
|
||||||
|
}
|
||||||
|
return null; // Returning null since there were no results
|
||||||
|
}
|
||||||
|
|
||||||
if (log_lvl) {
|
if (log_lvl) {
|
||||||
console.log(`Base URL: ${api_cfg['base_url']} | Endpoint: ${endpoint}`);
|
console.log(`Base URL: ${api_cfg['base_url']} | Endpoint: ${endpoint}`);
|
||||||
console.log('Error Message:', error.message); // Is this needed here or below in the in the else portion???
|
console.log('Error Message:', error.message); // Is this needed here or below in the in the else portion???
|
||||||
@@ -230,18 +244,6 @@ export let get_object = async function get_object(
|
|||||||
console.log(error.config);
|
console.log(error.config);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (error.response && error.response.status === 404) {
|
|
||||||
if (log_lvl) {
|
|
||||||
console.log('The response was a 404 not found "error". Returning null.');
|
|
||||||
}
|
|
||||||
if (log_lvl > 1) {
|
|
||||||
console.log(error.response);
|
|
||||||
}
|
|
||||||
if (log_lvl > 2) {
|
|
||||||
console.log(error);
|
|
||||||
}
|
|
||||||
return null; // Returning null since there were no results
|
|
||||||
}
|
|
||||||
if (error.code === 'ECONNABORTED') {
|
if (error.code === 'ECONNABORTED') {
|
||||||
// Timeout Error (You can implement retry here where suitable)
|
// Timeout Error (You can implement retry here where suitable)
|
||||||
console.log('Timeout Error: ', error.message);
|
console.log('Timeout Error: ', error.message);
|
||||||
@@ -265,7 +267,9 @@ export let get_object = async function get_object(
|
|||||||
return response_data_promise;
|
return response_data_promise;
|
||||||
} else if (response_data_promise === null) {
|
} else if (response_data_promise === null) {
|
||||||
// Less common, but expected response if no results were returned.
|
// Less common, but expected response if no results were returned.
|
||||||
console.log('Returning null. This is expected if no results were found.');
|
if (log_lvl) {
|
||||||
|
console.log('Returning null. This is expected if no results were found.');
|
||||||
|
}
|
||||||
return response_data_promise;
|
return response_data_promise;
|
||||||
} else if (response_data_promise === false) {
|
} else if (response_data_promise === false) {
|
||||||
// Not common, but expected response if the request to the API had an issue.
|
// Not common, but expected response if the request to the API had an issue.
|
||||||
|
|||||||
@@ -81,6 +81,7 @@ export async function load_ae_obj_li__event(
|
|||||||
inc_presenter_li = false,
|
inc_presenter_li = false,
|
||||||
inc_session_li = false,
|
inc_session_li = false,
|
||||||
order_by_li = {'start_datetime': 'DESC', 'name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'},
|
order_by_li = {'start_datetime': 'DESC', 'name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'},
|
||||||
|
params_json = null,
|
||||||
params = {},
|
params = {},
|
||||||
try_cache = true,
|
try_cache = true,
|
||||||
log_lvl = 0
|
log_lvl = 0
|
||||||
@@ -96,6 +97,7 @@ export async function load_ae_obj_li__event(
|
|||||||
inc_presenter_li?: boolean,
|
inc_presenter_li?: boolean,
|
||||||
inc_session_li?: boolean,
|
inc_session_li?: boolean,
|
||||||
order_by_li?: key_val,
|
order_by_li?: key_val,
|
||||||
|
params_json?: null|key_val,
|
||||||
params?: key_val,
|
params?: key_val,
|
||||||
try_cache?: boolean,
|
try_cache?: boolean,
|
||||||
log_lvl?: number
|
log_lvl?: number
|
||||||
@@ -108,19 +110,31 @@ export async function load_ae_obj_li__event(
|
|||||||
let limit: number = (params.qry__limit ?? 99); // 99
|
let limit: number = (params.qry__limit ?? 99); // 99
|
||||||
let offset: number = (params.qry__offset ?? 0); // 0
|
let offset: number = (params.qry__offset ?? 0); // 0
|
||||||
|
|
||||||
|
// There is probably a better way to handle this. I don't want to just start a new object if it is not passed. However, the qry_conference and qry_str are sort of a special case. -2024-10-01
|
||||||
let params_json: key_val = {};
|
if (!params_json) {
|
||||||
|
params_json = {};
|
||||||
params_json['and_qry'] = {};
|
}
|
||||||
|
|
||||||
if (qry_conference) {
|
if (qry_conference) {
|
||||||
|
if (!params_json['and_qry']) {
|
||||||
|
params_json['and_qry'] = {};
|
||||||
|
}
|
||||||
|
|
||||||
params_json['and_qry']['conference'] = qry_conference;
|
params_json['and_qry']['conference'] = qry_conference;
|
||||||
} else if (qry_conference === false) {
|
} else if (qry_conference === false) {
|
||||||
|
if (!params_json['and_qry']) {
|
||||||
|
params_json['and_qry'] = {};
|
||||||
|
}
|
||||||
|
|
||||||
console.log('qry_conference is false!');
|
console.log('qry_conference is false!');
|
||||||
params_json['and_qry']['conference'] = qry_conference;
|
params_json['and_qry']['conference'] = qry_conference;
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qry_str) {
|
if (qry_str) {
|
||||||
|
if (!params_json['ft_qry']) {
|
||||||
|
params_json['ft_qry'] = {};
|
||||||
|
}
|
||||||
|
|
||||||
params_json['ft_qry'] = {};
|
params_json['ft_qry'] = {};
|
||||||
params_json['ft_qry']['default_qry_str'] = qry_str;
|
params_json['ft_qry']['default_qry_str'] = qry_str;
|
||||||
params_json['ft_qry']['location_address_json_ext'] = qry_str;
|
params_json['ft_qry']['location_address_json_ext'] = qry_str;
|
||||||
@@ -191,8 +205,8 @@ export async function qry_ae_obj_li__event(
|
|||||||
for_obj_type = 'account',
|
for_obj_type = 'account',
|
||||||
for_obj_id,
|
for_obj_id,
|
||||||
qry_conference = true,
|
qry_conference = true,
|
||||||
qry_virtual = null,
|
|
||||||
qry_physical = null,
|
qry_physical = null,
|
||||||
|
qry_virtual = null,
|
||||||
qry_type = null,
|
qry_type = null,
|
||||||
qry_str = null,
|
qry_str = null,
|
||||||
inc_file_li = false,
|
inc_file_li = false,
|
||||||
@@ -209,8 +223,8 @@ export async function qry_ae_obj_li__event(
|
|||||||
for_obj_type: string,
|
for_obj_type: string,
|
||||||
for_obj_id: string,
|
for_obj_id: string,
|
||||||
qry_conference?: null|boolean,
|
qry_conference?: null|boolean,
|
||||||
qry_virtual?: null|boolean,
|
|
||||||
qry_physical?: null|boolean,
|
qry_physical?: null|boolean,
|
||||||
|
qry_virtual?: null|boolean,
|
||||||
qry_type?: null|string,
|
qry_type?: null|string,
|
||||||
qry_str?: null|string,
|
qry_str?: null|string,
|
||||||
inc_file_li?: boolean,
|
inc_file_li?: boolean,
|
||||||
@@ -231,29 +245,28 @@ export async function qry_ae_obj_li__event(
|
|||||||
let limit: number = (params.qry__limit ?? 99); // 99
|
let limit: number = (params.qry__limit ?? 99); // 99
|
||||||
let offset: number = (params.qry__offset ?? 0); // 0
|
let offset: number = (params.qry__offset ?? 0); // 0
|
||||||
|
|
||||||
|
// Build the params_json object. This needs to be documented better! -2024-10-01
|
||||||
let params_json: key_val = {};
|
let params_json: key_val = {};
|
||||||
|
|
||||||
params_json['and_qry'] = {};
|
params_json['and_qry'] = {};
|
||||||
|
|
||||||
if (qry_conference) {
|
// This is handled in the actual load_ae_obj_li__event() function. For now...?
|
||||||
params_json['and_qry']['conference'] = qry_conference;
|
// if (qry_conference) {
|
||||||
} else if (qry_conference === false) {
|
// params_json['and_qry']['conference'] = qry_conference;
|
||||||
console.log('qry_conference is false!');
|
// } else if (qry_conference === false) {
|
||||||
params_json['and_qry']['conference'] = qry_conference;
|
// console.log('qry_conference is false!');
|
||||||
}
|
// params_json['and_qry']['conference'] = qry_conference;
|
||||||
|
// }
|
||||||
|
|
||||||
if (qry_virtual) {
|
if (qry_physical && qry_virtual) {
|
||||||
params_json['and_qry']['virtual'] = qry_virtual;
|
// Ignore both if both are set to true.
|
||||||
} else if (qry_virtual === false) {
|
} else if (qry_physical || qry_virtual) {
|
||||||
console.log('qry_virtual is false!');
|
if (qry_physical) {
|
||||||
params_json['and_qry']['virtual'] = qry_virtual;
|
params_json['and_qry']['physical'] = qry_physical;
|
||||||
}
|
}
|
||||||
|
if (qry_virtual) {
|
||||||
if (qry_physical) {
|
params_json['and_qry']['virtual'] = qry_virtual;
|
||||||
params_json['and_qry']['physical'] = qry_physical;
|
}
|
||||||
} else if (qry_physical === false) {
|
|
||||||
console.log('qry_physical is false!');
|
|
||||||
params_json['and_qry']['physical'] = qry_physical;
|
|
||||||
}
|
}
|
||||||
|
|
||||||
if (qry_type) {
|
if (qry_type) {
|
||||||
@@ -283,6 +296,7 @@ export async function qry_ae_obj_li__event(
|
|||||||
inc_presenter_li: inc_presenter_li,
|
inc_presenter_li: inc_presenter_li,
|
||||||
inc_session_li: inc_session_li,
|
inc_session_li: inc_session_li,
|
||||||
order_by_li: order_by_li,
|
order_by_li: order_by_li,
|
||||||
|
params_json: params_json,
|
||||||
params: params,
|
params: params,
|
||||||
try_cache: try_cache,
|
try_cache: try_cache,
|
||||||
log_lvl: log_lvl
|
log_lvl: log_lvl
|
||||||
|
|||||||
@@ -73,6 +73,7 @@ import {
|
|||||||
let export_obj = {
|
let export_obj = {
|
||||||
handle_load_ae_obj_id__event: events.load_ae_obj_id__event,
|
handle_load_ae_obj_id__event: events.load_ae_obj_id__event,
|
||||||
load_ae_obj_li__event: events.load_ae_obj_li__event,
|
load_ae_obj_li__event: events.load_ae_obj_li__event,
|
||||||
|
qry_ae_obj_li__event: events.qry_ae_obj_li__event,
|
||||||
create_ae_obj__event: events.create_ae_obj__event,
|
create_ae_obj__event: events.create_ae_obj__event,
|
||||||
update_ae_obj__event: events.update_ae_obj__event,
|
update_ae_obj__event: events.update_ae_obj__event,
|
||||||
handle_db_save_ae_obj_li__event: events.db_save_ae_obj_li__event,
|
handle_db_save_ae_obj_li__event: events.db_save_ae_obj_li__event,
|
||||||
|
|||||||
@@ -54,7 +54,8 @@ $: lq_new__event_obj_li = liveQuery(async () => {
|
|||||||
let link_to_id: string = $slct.account_id;
|
let link_to_id: string = $slct.account_id;
|
||||||
console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`);
|
console.log(`link_to_type: ${link_to_type}; link_to_id: ${link_to_id}`);
|
||||||
|
|
||||||
if (event_id_random_li?.length) {
|
// Check if event_id_random_li is an array and not undefined
|
||||||
|
if (event_id_random_li) {
|
||||||
console.log(`Trying bulkGet:`, event_id_random_li);
|
console.log(`Trying bulkGet:`, event_id_random_li);
|
||||||
let results = await db_events.events
|
let results = await db_events.events
|
||||||
.bulkGet(event_id_random_li);
|
.bulkGet(event_id_random_li);
|
||||||
|
|||||||
@@ -40,20 +40,21 @@ $: if (ae_trigger == 'load__event_obj_li') {
|
|||||||
setTimeout(() => {
|
setTimeout(() => {
|
||||||
console.log("Delayed for X second.");
|
console.log("Delayed for X second.");
|
||||||
// ae_trigger = null;
|
// ae_trigger = null;
|
||||||
handle_search__event({lk_search_str: $idaa_loc.recovery_meetings.qry__fulltext_str});
|
handle_qry__event({ft_qry_str: $idaa_loc.recovery_meetings.qry__fulltext_str});
|
||||||
}, 250);
|
}, 250);
|
||||||
} else {
|
} else {
|
||||||
console.log('*** $idaa_sess.recovery_meetings.qry_status != loading ***');
|
console.log('*** $idaa_sess.recovery_meetings.qry_status != loading ***');
|
||||||
// ae_trigger = null;
|
// ae_trigger = null;
|
||||||
handle_search__event({lk_search_str: $idaa_loc.recovery_meetings.qry__fulltext_str});
|
handle_qry__event({ft_qry_str: $idaa_loc.recovery_meetings.qry__fulltext_str});
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
async function handle_search__event(
|
async function handle_qry__event(
|
||||||
{
|
{
|
||||||
ft_search_str = '',
|
ft_qry_str = '',
|
||||||
lk_search_str = '',
|
and_physical = $idaa_loc.recovery_meetings.qry__physical,
|
||||||
and_lk_location_name = '',
|
and_virtual = $idaa_loc.recovery_meetings.qry__virtual,
|
||||||
|
and_type = $idaa_loc.recovery_meetings.qry__type,
|
||||||
search_delay = 0,
|
search_delay = 0,
|
||||||
max_tries = 5,
|
max_tries = 5,
|
||||||
params = {
|
params = {
|
||||||
@@ -61,12 +62,13 @@ async function handle_search__event(
|
|||||||
'qry__hidden': $idaa_loc.recovery_meetings.qry__hidden ?? 'not_hidden',
|
'qry__hidden': $idaa_loc.recovery_meetings.qry__hidden ?? 'not_hidden',
|
||||||
'qry__limit': $idaa_loc.recovery_meetings.qry__limit ?? 35,
|
'qry__limit': $idaa_loc.recovery_meetings.qry__limit ?? 35,
|
||||||
},
|
},
|
||||||
try_cache=false,
|
try_cache = false,
|
||||||
log_lvl=1,
|
log_lvl = 1,
|
||||||
}: {
|
}: {
|
||||||
ft_search_str?: string,
|
ft_qry_str?: string,
|
||||||
lk_search_str?: string,
|
and_physical?: null|boolean,
|
||||||
and_lk_location_name?: string,
|
and_virtual?: null|boolean,
|
||||||
|
and_type?: null|string,
|
||||||
search_delay?: number, // In milliseconds
|
search_delay?: number, // In milliseconds
|
||||||
max_tries?: number,
|
max_tries?: number,
|
||||||
params?: key_val,
|
params?: key_val,
|
||||||
@@ -74,19 +76,19 @@ async function handle_search__event(
|
|||||||
log_lvl?: number,
|
log_lvl?: number,
|
||||||
}
|
}
|
||||||
) {
|
) {
|
||||||
console.log('handle_search__event()');
|
console.log('handle_qry__event()');
|
||||||
|
|
||||||
if ($idaa_sess.recovery_meetings?.qry__status != null && $idaa_sess.recovery_meetings?.qry__status != 'done') {
|
if ($idaa_sess.recovery_meetings?.qry__status != null && $idaa_sess.recovery_meetings?.qry__status != 'done') {
|
||||||
console.log('*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status != done ***');
|
console.log('*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status != done ***');
|
||||||
// WARNING: This is a temporary fix for the search string. It needs to be fixed in the future. Using lk_search_str for now.
|
// WARNING: This is a temporary fix for the search string. It needs to be fixed in the future. Using lk_search_str for now.
|
||||||
$idaa_sess.recovery_meetings.status_qry__last_request_str = lk_search_str;
|
$idaa_sess.recovery_meetings.status_qry__last_request_str = ft_qry_str;
|
||||||
|
|
||||||
// We want to delay the initial search request to give the previous search request to finish.
|
// We want to delay the initial search request to give the previous search request to finish.
|
||||||
let random_delay = Math.floor(Math.random() * 50);
|
let random_delay = Math.floor(Math.random() * 50);
|
||||||
search_delay += 50+random_delay;
|
search_delay += 50+random_delay;
|
||||||
}
|
}
|
||||||
|
|
||||||
log_lvl = 2;
|
log_lvl = 1;
|
||||||
|
|
||||||
let count = 0;
|
let count = 0;
|
||||||
let request_loop = setInterval(() => {
|
let request_loop = setInterval(() => {
|
||||||
@@ -103,30 +105,35 @@ async function handle_search__event(
|
|||||||
let random_delay = Math.floor(Math.random() * 25);
|
let random_delay = Math.floor(Math.random() * 25);
|
||||||
search_delay += 25+random_delay;
|
search_delay += 25+random_delay;
|
||||||
console.log(`*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status == loading wait *** search_delay=${search_delay}`);
|
console.log(`*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status == loading wait *** search_delay=${search_delay}`);
|
||||||
// $idaa_sess.status_qry__last_request_str = lk_search_str;
|
// $idaa_sess.status_qry__last_request_str = ft_qry_str;
|
||||||
} else {
|
} else {
|
||||||
console.log('*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status != loading ***');
|
console.log('*** TEST SEARCH - $idaa_sess.recovery_meetings.qry__status != loading ***');
|
||||||
|
|
||||||
$idaa_sess.recovery_meetings.qry__status = 'loading';
|
$idaa_sess.recovery_meetings.qry__status = 'loading';
|
||||||
|
|
||||||
search_submit_results = events_func.load_ae_obj_li__event({
|
(and_physical) ?? null;
|
||||||
|
(and_virtual) ?? null;
|
||||||
|
(and_type) ?? null;
|
||||||
|
// if (and_type) and_type = and_type;
|
||||||
|
// if (!and_type) {
|
||||||
|
// and_type = null;
|
||||||
|
// }
|
||||||
|
|
||||||
|
console.log(`TEST - and_physical: ${and_physical}; and_virtual: ${and_virtual}; and_type: ${and_type}; ft_qry_str: ${ft_qry_str}; params:`, params);
|
||||||
|
|
||||||
|
search_submit_results = events_func.qry_ae_obj_li__event({
|
||||||
api_cfg: $ae_api,
|
api_cfg: $ae_api,
|
||||||
for_obj_type: 'account',
|
for_obj_type: 'account',
|
||||||
for_obj_id: $ae_loc.account_id,
|
for_obj_id: $ae_loc.account_id,
|
||||||
order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC', 'name': 'ASC'},
|
order_by_li: {'priority': 'DESC', 'sort': 'DESC', 'updated_on': 'DESC', 'created_on': 'DESC', 'name': 'ASC'},
|
||||||
qry_conference: false,
|
qry_conference: false,
|
||||||
qry_str: lk_search_str,
|
qry_physical: and_physical,
|
||||||
// type_code: type_code,
|
qry_virtual: and_virtual,
|
||||||
// qry__fulltext_str: ft_search_str,
|
qry_type: and_type,
|
||||||
// ft_presenter_search_qry_str: null,
|
qry_str: ft_qry_str,
|
||||||
// like_search_qry_str: lk_search_str,
|
|
||||||
// like_presentation_search_qry_str: lk_search_str,
|
|
||||||
// like_presenter_search_qry_str: lk_search_str,
|
|
||||||
// external_event_id: $idaa_loc.recovery_meetings.default__external_registration_id,
|
|
||||||
// location_name: and_lk_location_name,
|
|
||||||
params: params,
|
params: params,
|
||||||
try_cache: try_cache,
|
try_cache: try_cache,
|
||||||
log_lvl: 0,
|
log_lvl: log_lvl,
|
||||||
})
|
})
|
||||||
.then(function (search_results) {
|
.then(function (search_results) {
|
||||||
// Processing the results from the search.
|
// Processing the results from the search.
|
||||||
|
|||||||
Reference in New Issue
Block a user