diff --git a/src/lib/ae_core_functions.ts b/src/lib/ae_core_functions.ts index a143dffd..97e2244e 100644 --- a/src/lib/ae_core_functions.ts +++ b/src/lib/ae_core_functions.ts @@ -225,6 +225,70 @@ async function handle_load_ae_obj_code__data_store( } + + + +// Updated 2024-05-24 +async function handle_load_ae_obj_li__person( + { + api_cfg, + account_id, + params={}, + try_cache=true, + log_lvl=0 + } : { + api_cfg: any, + account_id: string, + params?: key_val, + try_cache?: boolean, + log_lvl?: number + } + ) { + console.log(`*** handle_load_ae_obj_li__person() *** account_id=${account_id}`); + + 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 = {}; + + // console.log('params_json:', params_json); + + ae_promises.load__person_obj_li = await api.get_ae_obj_li_for_obj_id_crud({ + api_cfg: api_cfg, + obj_type: 'person', + for_obj_type: 'account', + for_obj_id: account_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 + enabled: enabled, + hidden: hidden, + order_by_li: {'given_name': 'ASC', 'family_name': 'ASC', 'updated_on': 'DESC', 'created_on': 'DESC'}, + limit: limit, + offset: offset, + params_json: params_json, + params: params, + log_lvl: log_lvl + }) + .then(function (person_obj_li_get_result) { + if (person_obj_li_get_result) { + // handle_db_save_ae_obj_li__person({obj_type: 'person', obj_li: person_obj_li_get_result}); + return person_obj_li_get_result; + } else { + return []; + } + }) + .catch(function (error) { + console.log('No results returned or failed.', error); + }); + + console.log('ae_promises.load__person_obj_li:', ae_promises.load__person_obj_li); + return ae_promises.load__person_obj_li; +} + + // Updated 2024-03-27 async function handle_update_ae_obj_id_crud( { @@ -348,6 +412,7 @@ async function handle_download_export__obj_type( let export_obj = { handle_load_ae_obj_id__site_domain: handle_load_ae_obj_id__site_domain, handle_load_ae_obj_code__data_store: handle_load_ae_obj_code__data_store, + handle_load_ae_obj_li__person: handle_load_ae_obj_li__person, handle_update_ae_obj_id_crud: handle_update_ae_obj_id_crud, handle_download_export__obj_type: handle_download_export__obj_type, }; diff --git a/src/lib/ae_events_functions.ts b/src/lib/ae_events_functions.ts index bdeeef64..2bc8428f 100644 --- a/src/lib/ae_events_functions.ts +++ b/src/lib/ae_events_functions.ts @@ -1225,16 +1225,20 @@ function handle_db_save_ae_obj_li__event({obj_type, obj_li}) { try { const id_random = await db_events.events.put({ - id_random: obj.event_id_random, + id: obj.event_id_random, + // id_random: obj.event_id_random, + event_id: obj.event_id_random, event_id_random: obj.event_id_random, - account_id_random: obj.account_id_random, - code: obj.event_code, + account_id: obj.account_id_random, + account_id_random: obj.account_id_random, + conference: obj.conference, type: obj.type, name: obj.name, + summary: obj.summary, description: obj.description, start_datetime: obj.start_datetime, @@ -1256,6 +1260,9 @@ function handle_db_save_ae_obj_li__event({obj_type, obj_li}) { notes: obj.notes, created_on: obj.created_on, updated_on: obj.updated_on, + + // From SQL view + file_count: obj.file_count, }); // console.log(`Put obj with ID: ${obj.event_id_random} or ${id_random}`); } catch (error) { @@ -1490,12 +1497,15 @@ function handle_db_save_ae_obj_li__event_file({obj_type, obj_li}) { const id_random = await db_events.files.put({ id: obj.event_file_id_random, id_random: obj.event_file_id_random, + event_file_id: obj.event_file_id_random, event_file_id_random: obj.event_file_id_random, + hosted_file_id: obj.hosted_file_id_random, hosted_file_id_random: obj.hosted_file_id_random, hash_sha256: obj.hash_sha256, // Renamed with alias in FastAPI model for_type: obj.for_type, + for_id: obj.for_id_id_random, for_id_random: obj.for_id_random, event_id_random: obj.event_id_random, @@ -1552,7 +1562,6 @@ function handle_db_save_ae_obj_li__event_session({obj_type, obj_li}) { try { const id_random = await db_events.sessions.put({ id: obj.event_session_id_random, - // id_random: obj.event_session_id_random, event_session_id: obj.event_session_id_random, event_session_id_random: obj.event_session_id_random, @@ -1560,13 +1569,17 @@ function handle_db_save_ae_obj_li__event_session({obj_type, obj_li}) { code: obj.code, for_type: obj.for_type, + for_id: obj.for_id_id_random, for_id_random: obj.for_id_random, type_code: obj.type_code, + event_id: obj.event_id_random, event_id_random: obj.event_id_random, + event_location_id: obj.event_location_id_random, event_location_id_random: obj.event_location_id_random, + poc_person_id: obj.poc_person_id_random, poc_person_id_random: obj.poc_person_id_random, name: obj.name, @@ -1594,7 +1607,6 @@ function handle_db_save_ae_obj_li__event_session({obj_type, obj_li}) { updated_on: obj.updated_on, // From SQL view - // event_name: obj.event_name, file_count: obj.file_count, poc_person_given_name: obj.poc_person_given_name, @@ -1604,6 +1616,8 @@ function handle_db_save_ae_obj_li__event_session({obj_type, obj_li}) { poc_person_passcode: obj.poc_person_passcode, poc_kv_json: obj.poc_kv_json, + event_name: obj.event_name, + event_location_code: obj.event_location_code, event_location_name: obj.event_location_name, }); @@ -1633,18 +1647,25 @@ function handle_db_save_ae_obj_li__event_presentation({obj_type, obj_li}) { try { const id_random = await db_events.presentations.put({ - id_random: obj.event_presentation_id_random, + id: obj.event_presentation_id_random, + // id_random: obj.event_presentation_id_random, + event_presentation_id: obj.event_presentation_id_random, event_presentation_id_random: obj.event_presentation_id_random, + external_id: obj.external_id, code: obj.code, for_type: obj.for_type, + for_id: obj.for_id_random, for_id_random: obj.for_id_random, type_code: obj.type_code, + event_id: obj.event_id_random, event_id_random: obj.event_id_random, + event_session_id: obj.event_session_id_random, event_session_id_random: obj.event_session_id_random, + event_abstract_id: obj.event_abstract_id_random, event_abstract_id_random: obj.event_abstract_id_random, abstract_code: obj.abstract_code, @@ -1659,8 +1680,6 @@ function handle_db_save_ae_obj_li__event_presentation({obj_type, obj_li}) { hide_event_launcher: obj.hide_event_launcher, - // data_json: obj.data_json, - enable: obj.enable, hide: obj.hide, priority: obj.priority, @@ -1669,6 +1688,10 @@ function handle_db_save_ae_obj_li__event_presentation({obj_type, obj_li}) { notes: obj.notes, created_on: obj.created_on, updated_on: obj.updated_on, + + // From SQL view + event_session_code: obj.event_session_code, + event_session_name: obj.event_session_name, }); // console.log(`Put obj with ID: ${obj.event_presentation_id_random} or ${id_random}`); } catch (error) { diff --git a/src/lib/db_events.ts b/src/lib/db_events.ts index bc83b7a4..8e5368d2 100644 --- a/src/lib/db_events.ts +++ b/src/lib/db_events.ts @@ -4,8 +4,14 @@ import Dexie, { type Table } from 'dexie'; // kv = key value list export interface Event { - id_random: string; + id: string; + // id_random: string; + event_id: string; + event_id_random: string; + code: string; + + account_id: string; account_id_random: string; conference: boolean; @@ -181,12 +187,15 @@ export interface Exhibit_tracking { export interface File { id: string; id_random: string; + event_file_id: string; event_file_id_random: string; + hosted_file_id: string; hosted_file_id_random: string; hash_sha256: string; for_type: string; + for_id: string; for_id_random: string; event_id_random: string; @@ -278,6 +287,8 @@ export interface Session { poc_person_passcode: null|string; poc_kv_json: null|string; + event_name: null|string; + event_location_code: null|string; event_location_name: null|string; } @@ -285,7 +296,7 @@ export interface Session { // Updated 2024-06-10 export interface Presentation { id: string; - id_random: string; + // id_random: string; event_presentation_id: string; event_presentation_id_random: string; @@ -313,6 +324,8 @@ export interface Presentation { start_datetime: null|Date; end_datetime: null|Date; + passcode: null|string; + hide_event_launcher: null|boolean; enable: null|boolean; @@ -418,13 +431,13 @@ export class MySubClassedDexie extends Dexie { super('ae_events_db'); this.version(1).stores({ events: ` - id_random, event_id_random, - code, account_id_random, + id, event_id, event_id_random, + code, + account_id, account_id_random, conference, type, name, start_datetime, end_datetime, - timezone, location_address_json, - mod_abstracts_json, mod_badges_json, mod_exhibits_json, mod_pres_mgmt_json, + timezone, cfg_json, enable, hide, priority, sort, group, notes, created_on, updated_on`, @@ -450,7 +463,7 @@ export class MySubClassedDexie extends Dexie { enable, hide, priority, sort, group, notes, created_on, updated_on`, sessions: ` - event_session_id, event_session_id_random, + id, event_session_id, event_session_id_random, external_id, code, for_type, for_id, for_id_random, type_code, @@ -463,25 +476,27 @@ export class MySubClassedDexie extends Dexie { enable, hide, priority, sort, group, created_on, updated_on`, files: ` - id_random, event_file_id_random, hosted_file_id_random, hash_sha256, - for_type, for_id_random, + id, id_random, event_file_id, event_file_id_random, + hosted_file_id, hosted_file_id_random, + hash_sha256, + for_type, for_id, for_id_random, event_id_random, event_session_id_random, event_presentation_id_random, event_presenter_id_random, event_location_id_random, filename, extension, - open_in_os, lu_file_purpose_id, lu_event_file_purpose_name, file_purpose, enable, hide, priority, sort, group, notes, created_on, updated_on`, presentations: ` - id_random, event_presentation_id_random, external_id, code, - for_type, for_id_random, type_code, + id, event_presentation_id, event_presentation_id_random, + external_id, code, + for_type, for_id, for_id_random, + type_code, event_id_random, event_session_id_random, event_abstract_id_random, abstract_code, name, description, start_datetime, end_datetime, hide_event_launcher, - enable, hide, priority, sort, group, notes, created_on, updated_on - `, + enable, hide, priority, sort, group, notes, created_on, updated_on`, presenters: ` - event_presenter_id, event_presenter_id_random, + id, event_presenter_id, event_presenter_id_random, external_id, code, event_id, event_session_id, event_person_id, event_presentation_id, event_id_random, event_session_id_random, event_person_id_random, event_presentation_id_random, @@ -489,11 +504,9 @@ export class MySubClassedDexie extends Dexie { person_id_random, person_profile_id_random, given_name, family_name, full_name, affiliations, email, - agree + agree, hide_event_launcher, - data_json, - enable, hide, priority, sort, group, notes, created_on, updated_on - `, + enable, hide, priority, sort, group, notes, created_on, updated_on`, }); } } diff --git a/src/routes/events_pres_mgmt/event/[slug]/+page.svelte b/src/routes/events_pres_mgmt/event/[slug]/+page.svelte index 6f1bb37f..28637125 100644 --- a/src/routes/events_pres_mgmt/event/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/event/[slug]/+page.svelte @@ -222,7 +222,7 @@ $: if ($events_trigger == 'load__event_session_obj_li' && $events_slct.event_id) bind:value={$events_sess.pres_mgmt.fulltext_search_qry_str} class="input text-1xl hover:text-2xl font-bold font-mono w-80 transition-all" on:keyup={() => { - if ($events_sess.pres_mgmt.fulltext_search_qry_str.length >= 3) { + if ($events_sess.pres_mgmt?.fulltext_search_qry_str && $events_sess.pres_mgmt.fulltext_search_qry_str.length >= 3) { $events_trigger = 'load__event_session_obj_li'; } }} diff --git a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte index aafff4bd..5a368a92 100644 --- a/src/routes/events_pres_mgmt/session/[slug]/+page.svelte +++ b/src/routes/events_pres_mgmt/session/[slug]/+page.svelte @@ -14,12 +14,12 @@ import { api, send_email } from '$lib/api'; import Element_data_store from '$lib/element_data_store.svelte'; import Element_ae_crud from '$lib/element_ae_crud.svelte'; -// These will likely be used for patch/update triggers. Maybe delete? +let ae_promises: key_val = {}; +let ae_tmp: key_val = {}; let ae_triggers: key_val = {}; -let ae_promises: key_val = {}; // Promise; - import { liveQuery } from "dexie"; +import { core_func } from '$lib/ae_core_functions'; import { db_events } from "$lib/db_events"; import { ae_loc, ae_sess, ae_api, ae_trig, slct, slct_trigger } from '$lib/ae_stores'; import { events_loc, events_sess, events_slct, events_trigger } from '$lib/ae_events_stores'; @@ -442,7 +442,90 @@ function send_sign_in_poc_email( Location/Room: {$lq__event_session_obj.event_location_name ? $lq__event_session_obj.event_location_name : '-- not set --'}
  • - Moderator/Champion: {$lq__event_session_obj.poc_person_full_name ? $lq__event_session_obj.poc_person_full_name : '-- not set --'} + Moderator/Champion: + + {$lq__event_session_obj.poc_person_full_name ? $lq__event_session_obj.poc_person_full_name : '-- not set --'} + + + {#if $ae_loc.trusted_access } + { + console.log(`ae_crud_updated:`, e.detail); + + // Wait 1 second to make sure it saved...? + + // events_func.handle_load_ae_obj_id__event_session({api_cfg: $ae_api, event_session_id: $lq__event_session_obj?.event_session_id_random, log_lvl: 1}) + // .then(function (load_results) { + // // Wait and then close + // // $events_loc.pres_mgmt.show_content__agree_text = null; + + // // Maybe reload page... to get the outline view to refresh? + // window.location.reload(); + // }); + }} + > + {#if ae_tmp?.show__edit_poc_person} + + POC: + {#await $slct.person_obj_li} + + {:then person_obj_li} + {#if person_obj_li && person_obj_li.length > 0} + + {/if} + {/await} + + + {/if} + + + + + + {/if} {#if $events_loc.auth__kv.session[$events_slct.event_session_id]}