diff --git a/src/lib/elements/element_manage_event_file_li_all.svelte b/src/lib/elements/element_manage_event_file_li_all.svelte index 5d5c3ac7..59634dec 100644 --- a/src/lib/elements/element_manage_event_file_li_all.svelte +++ b/src/lib/elements/element_manage_event_file_li_all.svelte @@ -48,6 +48,15 @@ let results = await db_events.file .where(dq__where_val) .equals(dq__where_eq_val) + .or('for_id') + .equals(dq__where_eq_val) + .filter((file) => { + // If using for_id, we should also verify for_type to avoid accidental cross-links + if (file.for_id === dq__where_eq_val) { + return file.for_type === link_to_type; + } + return true; + }) .reverse() .sortBy('created_on'); // .toArray() diff --git a/src/lib/elements/element_manage_event_file_li_direct.svelte b/src/lib/elements/element_manage_event_file_li_direct.svelte index 0eeb4948..91b12457 100644 --- a/src/lib/elements/element_manage_event_file_li_direct.svelte +++ b/src/lib/elements/element_manage_event_file_li_direct.svelte @@ -39,8 +39,9 @@ ae_tmp.show__direct_download = false; // let ae_triggers: key_val = {}; - let dq__where_val: string = `${link_to_type}_id`; - let dq__where_eq_val: string = link_to_id; + let dq__where_val: string = `for_type`; + let dq__where_eq_val: string = link_to_type; + let dq__where_for_id_eq_val: string = link_to_id; // This should only include files that are directly linked to an object (event, location, session, presenter, etc.). // I am not sure why, but doing reverse() and then sortBy() seems to sort in descending order. @@ -49,6 +50,7 @@ let results = await db_events.file .where(dq__where_val) .equals(dq__where_eq_val) + .and((file) => file.for_id == dq__where_for_id_eq_val) .reverse() .sortBy('created_on'); // .toArray()