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(
+
-
- {
- handle_qry__event_session({
- qry_poc_kv_json: true,
- qry_poc_bios: true,
- });
- $events_sess.pres_mgmt.show_report = 'session_no_bio';
- }}
- class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
- title="Show sessions without POC bios."
- >
- {#if $events_sess.pres_mgmt?.show_report == 'session_no_bio' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
-
- {/if}
-
- Session {$events_loc.pres_mgmt?.label__session_poc_name} Bios
-
-
+
+
{
- $events_loc.pres_mgmt.rpt__presenter_agree = !$events_loc.pres_mgmt.rpt__presenter_agree;
+ handle_search__event_presenter({
+ biography: true,
+ ft_search_str: '',
+ lk_search_str: '',
+ log_lvl: log_lvl,
+ });
+ $events_sess.pres_mgmt.show_report = 'presenters_biography';
+ // $events_sess.pres_mgmt.show_report__presenters_biography = !$events_sess.pres_mgmt.show_report__presenters_biography;
+ // $events_sess.pres_mgmt.show_report__presenters_agree = false;
+ // $events_sess.pres_mgmt.show_report__recent_files = false;
}}
- class="btn btn-sm variant-glass-warning hover:variant-ghost-warning transition-all m-1"
+ class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
+ title="NOT READY YET: Show presenters with bios."
>
- {#if $events_loc.pres_mgmt.rpt__presenter_agree}
-
-
- Agreed
- {:else}
-
-
- Not Agreed
+ {#if $events_sess.pres_mgmt?.show_report == 'presenters_biography' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
+
{/if}
+
+ Presenter Bios
+
- {
- handle_search__event_presenter({
- biography: true,
- ft_search_str: '',
- lk_search_str: '',
- log_lvl: log_lvl,
- });
- $events_sess.pres_mgmt.show_report = 'presenters_biography';
- // $events_sess.pres_mgmt.show_report__presenters_biography = !$events_sess.pres_mgmt.show_report__presenters_biography;
- // $events_sess.pres_mgmt.show_report__presenters_agree = false;
- // $events_sess.pres_mgmt.show_report__recent_files = false;
- }}
- class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
- title="NOT READY YET: Show presenters with bios."
- >
- {#if $events_sess.pres_mgmt?.show_report == 'presenters_biography' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
-
- {/if}
-
- Presenter Bios
-
+
- {
- handle_search__event_file({
- created_on: null,
- ft_search_str: '',
- lk_search_str: '',
- log_lvl: log_lvl,
- });
- $events_sess.pres_mgmt.show_report = 'recent_files';
- // $events_sess.pres_mgmt.show_report__presenters_agree = false;
- // $events_sess.pres_mgmt.show_report__presenters_biography = false;
- // $events_sess.pres_mgmt.show_report__recent_files = !$events_sess.pres_mgmt.show_report__recent_files;
- }}
- class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
- title="Show recent file uploads."
- >
- {#if $events_sess.pres_mgmt?.show_report == 'recent_files' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
-
- {/if}
-
- Recent File Uploads
-
+ {
+ handle_search__event_file({
+ created_on: null,
+ // ft_search_str: '',
+ // lk_search_str: '',
+ log_lvl: log_lvl,
+ });
+ $events_sess.pres_mgmt.show_report = 'recent_files';
+ // $events_sess.pres_mgmt.show_report__presenters_agree = false;
+ // $events_sess.pres_mgmt.show_report__presenters_biography = false;
+ // $events_sess.pres_mgmt.show_report__recent_files = !$events_sess.pres_mgmt.show_report__recent_files;
+ }}
+ class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
+ title="Show recent file uploads."
+ >
+ {#if $events_sess.pres_mgmt?.show_report == 'recent_files' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
+
+ {:else}
+
+ {/if}
+ Recent File Uploads
+
+
+ {
+ handle_search__event_file({
+ created_on: null,
+ min_file_size: $events_loc.pres_mgmt.qry__files_min_size ?? 100000000, // in bytes
+ // ft_search_str: '',
+ // lk_search_str: '',
+ log_lvl: log_lvl,
+ });
+ $events_sess.pres_mgmt.show_report = 'large_files';
+ }}
+ class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
+ title="Show large file uploads."
+ >
+ {#if $events_sess.pres_mgmt?.show_report == 'large_files' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
+
+ {/if}
+
+ Large File Uploads
+
+
+
-
- {
- handle_qry__event_session({
- qry_files: false,
- });
- $events_sess.pres_mgmt.show_report = 'session_no_files';
- }}
- class="btn btn-sm variant-ghost-success hover:variant-filled-success transition-all m-1"
- title="Show sessions without files uploaded."
- >
- {#if $events_sess.pres_mgmt?.show_report == 'session_no_files' && $events_sess.pres_mgmt.status_rpt[$events_sess.pres_mgmt?.show_report] == 'loading'}
-
- {/if}
-
- Sessions without Files
-
@@ -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}
+ {
+ $events_loc.pres_mgmt.rpt__session_poc_agree = !$events_loc.pres_mgmt.rpt__session_poc_agree;
+
+ ae_promises.handle_qry__event_session = handle_qry__event_session({
+ qry_poc_agree: $events_loc.pres_mgmt.rpt__session_poc_agree ?? false,
+ })
+ $events_sess.pres_mgmt.show_report = 'sessions_poc_agree';
+ }}
+ class="btn btn-sm variant-glass-warning hover:variant-ghost-warning transition-all m-1"
+ >
+ {#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}
+ {
+ $events_loc.pres_mgmt.rpt__presenter_agree = !$events_loc.pres_mgmt.rpt__presenter_agree;
+ }}
+ class="btn btn-sm variant-glass-warning hover:variant-ghost-warning transition-all m-1"
+ >
+ {#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}
+