diff --git a/src/lib/ae_events__event_file.ts b/src/lib/ae_events__event_file.ts index 624578a4..6fbcb56b 100644 --- a/src/lib/ae_events__event_file.ts +++ b/src/lib/ae_events__event_file.ts @@ -275,12 +275,108 @@ export async function update_ae_obj__event_file( } +// This new function is using CRUD v2. This should allow for more flexibility in the queries. +// Updated 2024-10-15 +export async function qry__event_file( + { + api_cfg, + event_id, + qry_created_on = null, // Example greater than: '2024-10-24' + qry_min_file_size = null, + enabled = 'enabled', + hidden = 'not_hidden', + limit = 50, + offset = 0, + order_by_li = {'priority': 'DESC', 'sort': 'DESC', 'created_on': 'DESC', 'updated_on': 'DESC', 'filename': 'ASC', 'extension': 'ASC', 'hosted_file_size': 'ASC'}, + params = {}, + try_cache = true, + log_lvl = 0 + }: { + api_cfg: any, + event_id: any, + qry_created_on?: null|string, + qry_min_file_size?: null|number, + enabled?: string, + hidden?: string, + limit?: number, + offset?: number, + order_by_li?: key_val, + params?: any, + try_cache?: boolean, + log_lvl?: number + } + ) { + if (log_lvl) { + console.log(`*** qry__event_file() *** event_id=${event_id}`); + } + + let params_json: key_val = {}; + + params_json['qry'] = []; + + if (qry_created_on) { + let qry_param = + { + type: "AND", + field: "created_on", + operator: ">", + value: qry_created_on + }; + params_json['qry'].push(qry_param); + } + + if (qry_min_file_size) { + console.log('qry_min_file_size:', qry_min_file_size); + let qry_param = + { + type: "AND", + field: "hosted_file_size", + operator: ">", + value: qry_min_file_size + }; + params_json['qry'].push(qry_param); + } + + ae_promises.load__event_file_obj_li = await api.get_ae_obj_li_for_obj_id_crud_v2({ + api_cfg: api_cfg, + obj_type: 'event_file', + for_obj_type: 'event', + for_obj_id: event_id, + use_alt_tbl: true, // NOTE: We want to use the alt table for file searching? + use_alt_mdl: false, + use_alt_exp: false, + enabled: enabled, + hidden: hidden, + order_by_li: order_by_li, + limit: limit, + offset: offset, + params_json: params_json, + params: params, + log_lvl: log_lvl + }) + .then(function (event_file_obj_li_get_result) { + if (event_file_obj_li_get_result) { + db_save_ae_obj_li__event_file({obj_type: 'event_file', obj_li: event_file_obj_li_get_result}); + return event_file_obj_li_get_result; + } else { + return []; + } + }); + + if (log_lvl) { + console.log('ae_promises.load__event_file_obj_li:', ae_promises.load__event_file_obj_li); + } + return ae_promises.load__event_file_obj_li; +} + + // Updated 2024-07-12 export async function search__event_file( { api_cfg, event_id, created_on = null, + min_file_size = null, fulltext_search_qry_str, ft_file_search_qry_str, like_search_qry_str = null, @@ -294,6 +390,7 @@ export async function search__event_file( api_cfg: any, event_id: any, created_on?: null|string, + min_file_size?: null|number, fulltext_search_qry_str?: null|string, ft_file_search_qry_str?: null|string, like_search_qry_str?: null|string, @@ -363,6 +460,10 @@ export async function search__event_file( // params_json['and_qry']['created_on'] = created_on; // } + if (min_file_size) { + params_json['and_qry'] = {'hosted_file_size': {'>': min_file_size}}; + } + ae_promises.load__event_file_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ api_cfg: api_cfg, obj_type: 'event_file', diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index f08ac64b..e34f92f3 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -9,6 +9,7 @@ import { delete_ae_obj_id__event_file, create_event_file_obj_from_hosted_file_async, update_ae_obj__event_file, + qry__event_file, search__event_file, db_save_ae_obj_li__event_file, } from "$lib/ae_events__event_file"; @@ -83,6 +84,7 @@ let export_obj = { load_ae_obj_li__event_file: load_ae_obj_li__event_file, delete_ae_obj_id__event_file: delete_ae_obj_id__event_file, update_ae_obj__event_file: update_ae_obj__event_file, + qry__event_file: qry__event_file, search__event_file: search__event_file, db_save_ae_obj_li__event_file: db_save_ae_obj_li__event_file, diff --git a/src/routes/events/[event_id]/reports/+page.svelte b/src/routes/events/[event_id]/reports/+page.svelte index 348e2819..7274be5e 100644 --- a/src/routes/events/[event_id]/reports/+page.svelte +++ b/src/routes/events/[event_id]/reports/+page.svelte @@ -63,20 +63,22 @@ onMount(() => { async function handle_search__event_file( { created_on = null, + min_file_size = null, // in bytes ft_search_str = '', lk_search_str = '', - params = { - 'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled', - 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', - 'qry__limit': $events_loc.pres_mgmt.qry_limit__files ?? 50, - }, - try_cache=true, - log_lvl=0, + // params = { + // 'qry__enabled': $events_loc.pres_mgmt.qry_enabled ?? 'enabled', + // 'qry__hidden': $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', + // 'qry__limit': $events_loc.pres_mgmt.qry_limit__files ?? 35, + // }, + try_cache = true, + log_lvl = 0, }: { created_on?: null|string, + min_file_size?: null|number, ft_search_str?: string, lk_search_str?: string, - params?: key_val, + // params?: key_val, try_cache?: boolean, log_lvl?: number, } @@ -86,14 +88,18 @@ async function handle_search__event_file( $events_sess.pres_mgmt.status_qry__search = 'loading'; $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt.show_report] = 'loading'; - ae_promises.search__event_file = events_func.search__event_file({ + ae_promises.search__event_file = events_func.qry__event_file({ api_cfg: $ae_api, event_id: $events_slct.event_id, - created_on: created_on, - fulltext_search_qry_str: ft_search_str, - like_search_qry_str: lk_search_str, + qry_created_on: created_on, + qry_min_file_size: min_file_size, + // fulltext_search_qry_str: ft_search_str, + // like_search_qry_str: lk_search_str, // external_event_id: $events_loc.pres_mgmt.default__external_registration_id, - params: params, + enabled: $events_loc.pres_mgmt.qry_enabled ?? 'enabled', + hidden: $events_loc.pres_mgmt.qry_hidden ?? 'not_hidden', + limit: $events_loc.pres_mgmt.qry_limit__files ?? 35, + // params: params, try_cache: try_cache, log_lvl: log_lvl, }) @@ -449,6 +455,7 @@ async function handle_qry__event_session(
+ + + + + - - - + + - + - + + + + + - -
@@ -673,7 +675,29 @@ async function handle_qry__event_session( {#if $events_sess.pres_mgmt.show_report == 'sessions_poc_agree' && event_session_id_random_li} -

Sessions POC {#if $events_loc.pres_mgmt.rpt__session_poc_agree}Agreed{:else}Not Agreed{/if}

+

+ Sessions POC {#if $events_loc.pres_mgmt.rpt__session_poc_agree}Agreed{:else}Not Agreed{/if} + +

{#if !$events_loc.pres_mgmt.rpt__session_poc_agree}

This report is not complete! Some records will be missing from these results. This report is being worked on.

{/if} @@ -699,10 +723,43 @@ async function handle_qry__event_session( {/if} + +{#if $events_sess.pres_mgmt.show_report == 'session_no_files' && event_session_id_random_li} +

Sessions without Files

+ + + +{/if} + + {#if $events_sess.pres_mgmt.show_report == 'presenters_agree' && event_presenter_id_random_li} -

Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if}

+

+ Presenters {#if $events_loc.pres_mgmt.rpt__presenter_agree}Agreed{:else}Not Agreed{/if} + +

{#if !$events_loc.pres_mgmt.rpt__presenter_agree}

This report is not complete! Some records will be missing from these results. This report is being worked on.

{/if} @@ -729,6 +786,7 @@ async function handle_qry__event_session( {/if} + {#if $events_sess.pres_mgmt.show_report == 'recent_files' && event_file_id_random_li}

Recent File Uploads

@@ -744,19 +802,48 @@ async function handle_qry__event_session( {/if} - -{#if $events_sess.pres_mgmt.show_report == 'session_no_files' && event_session_id_random_li} -

Sessions without Files

+ +{#if $events_sess.pres_mgmt.show_report == 'large_files' && event_file_id_random_li} +

+ Large File Uploads + +

- - + {/if} +