863 lines
25 KiB
TypeScript
863 lines
25 KiB
TypeScript
import Dexie, { type Table } from 'dexie';
|
|
|
|
import type { key_val } from '../ae_stores';
|
|
|
|
// li = list
|
|
// kv = key value list
|
|
|
|
// Updated 2024-10-16
|
|
export interface Event {
|
|
id: string;
|
|
// id_random: string;
|
|
event_id: string;
|
|
event_id_random: string;
|
|
|
|
code: string;
|
|
|
|
account_id: string;
|
|
account_id_random: string;
|
|
|
|
conference: boolean;
|
|
type: string;
|
|
name: string;
|
|
summary?: null|string;
|
|
description?: null|string;
|
|
|
|
start_datetime?: Date;
|
|
end_datetime?: Date;
|
|
timezone?: null|string;
|
|
location_address_json?: null|string;
|
|
location_text?: null|string;
|
|
|
|
attend_json?: null|string;
|
|
attend_text?: null|string;
|
|
|
|
status?: null|string; // draft, active, inactive, archived, unknown; currently only used with IDAA
|
|
// review?: null|boolean;
|
|
// approve?: null|boolean;
|
|
// ready?: null|boolean;
|
|
// ready_on?: null|Date;
|
|
// archive?: null|boolean;
|
|
// archive_on?: null|Date;
|
|
|
|
mod_abstracts_json?: null|key_val;
|
|
mod_badges_json?: null|key_val;
|
|
mod_exhibits_json?: null|key_val;
|
|
mod_meetings_json?: null|key_val;
|
|
mod_pres_mgmt_json?: null|key_val;
|
|
cfg_json?: null|key_val;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// IDAA Recovery Meetings:
|
|
// Currently only really used for IDAA
|
|
contact_li_json?: null|string[]; // full_name, email, phone_mobile, phone_home, phone_office, other_text
|
|
// contact_li_json_ext?: null|string;
|
|
external_person_id?: null|string;
|
|
|
|
physical?: null|boolean;
|
|
virtual?: null|boolean;
|
|
|
|
recurring?: null|boolean;
|
|
recurring_pattern?: null|string;
|
|
recurring_start_time?: null|string;
|
|
recurring_end_time?: null|string;
|
|
recurring_text?: null|string;
|
|
|
|
weekday_sunday?: null|boolean;
|
|
weekday_monday?: null|boolean;
|
|
weekday_tuesday?: null|boolean;
|
|
weekday_wednesday?: null|boolean;
|
|
weekday_thursday?: null|boolean;
|
|
weekday_friday?: null|boolean;
|
|
weekday_saturday?: null|boolean;
|
|
|
|
attend_url?: null|string;
|
|
attend_url_text?: null|string;
|
|
attend_url_code?: null|string; // Meeting ID, Conference ID, etc.
|
|
attend_url_passcode?: null|string;
|
|
attend_phone?: null|string;
|
|
attend_phone_passcode?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
file_count?: null|number;
|
|
file_count_all?: null|number;
|
|
internal_use_count?: null|number;
|
|
event_file_id_li_json?: null|string;
|
|
}
|
|
|
|
|
|
// Updated 2025-10-06
|
|
export interface Badge {
|
|
id: number;
|
|
// id_random: string;
|
|
event_badge_id: string;
|
|
event_badge_id_random: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
|
|
pronouns?: null|string;
|
|
informal_name?: null|string;
|
|
title_names?: null|string;
|
|
given_name: string;
|
|
middle_name?: null|string;
|
|
family_name?: null|string;
|
|
designations?: null|string;
|
|
|
|
professional_title?: null|string;
|
|
professional_title_override?: null|string;
|
|
|
|
full_name?: string;
|
|
full_name_override?: null|string;
|
|
|
|
affiliations?: string;
|
|
affiliations_override?: null|string;
|
|
|
|
email?: string;
|
|
email_override?: null|string;
|
|
|
|
address_line_1?: null|string;
|
|
address_line_2?: null|string;
|
|
address_line_3?: null|string;
|
|
city?: null|string;
|
|
country_subdivision_code?: null|string;
|
|
state_province?: null|string;
|
|
state_province_abb?: null|string;
|
|
postal_code?: null|string;
|
|
country_alpha_2_code?: null|string;
|
|
country?: null|string;
|
|
full_address?: null|string;
|
|
location?: null|string;
|
|
location_override?: null|string;
|
|
|
|
query_str?: null|string;
|
|
|
|
badge_type?: string;
|
|
badge_type_code?: string;
|
|
badge_type_code_override?: null|string;
|
|
badge_type_override?: null|string;
|
|
|
|
external_event_id?: string;
|
|
external_id?: string;
|
|
external_person_id?: string;
|
|
|
|
// passcode?: null|string;
|
|
|
|
// data_json?: null|string;
|
|
|
|
default_qry_string?: null|string;
|
|
|
|
alert?: null|boolean;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
person_external_id?: null|string; // This may be semi-random or unique only withing the account.
|
|
person_external_sys_id?: null|string; // Generated by an external system. Ideally this should be something like a UUID. It may be the same as the external_id if nothing given.
|
|
person_given_name?: string;
|
|
person_family_name?: null|string;
|
|
person_full_name?: null|string;
|
|
person_professional_title?: null|string;
|
|
person_affiliations?: null|string;
|
|
person_primary_email?: null|string;
|
|
person_passcode?: null|string;
|
|
}
|
|
|
|
|
|
// Updated 2024-10-16
|
|
export interface Device {
|
|
id: number;
|
|
// id_random: string;
|
|
event_device_id: string;
|
|
// event_device_id_random: string;
|
|
|
|
event_id: string;
|
|
// event_id_random: string;
|
|
event_location_id?: string;
|
|
// event_location_id_random?: string;
|
|
|
|
code?: string;
|
|
name: string;
|
|
description?: null|string;
|
|
|
|
passcode?: null|string;
|
|
|
|
local_file_cache_path?: null|string;
|
|
host_file_temp_path?: null|string;
|
|
recording_path?: null|string;
|
|
|
|
record_audio?: null|boolean;
|
|
record_video?: null|boolean;
|
|
|
|
trigger_open_file_id?: null|string;
|
|
trigger_open_session_id?: null|string;
|
|
trigger_recording_start?: null|boolean;
|
|
trigger_recording_stop?: null|boolean;
|
|
trigger_reset?: null|boolean;
|
|
trigger_show_admin?: null|boolean;
|
|
trigger_show_hidden?: null|boolean;
|
|
|
|
alert?: null|boolean;
|
|
alert_msg?: null|string;
|
|
alert_on?: null|string;
|
|
status?: null|string;
|
|
status_msg?: null|string;
|
|
status_on?: null|Date;
|
|
record_status?: null|string;
|
|
record_status_msg?: null|string;
|
|
record_status_on?: null|Date;
|
|
heartbeat?: null|string;
|
|
|
|
info_hostname?: null|string;
|
|
info_ip_list?: null|string; // Semi-colon separated list of IP addresses
|
|
|
|
meta_json?: null|string;
|
|
other_json?: null|string;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
event_name?: string;
|
|
event_location_code?: string;
|
|
event_location_name?: string;
|
|
}
|
|
|
|
|
|
export interface Exhibit {
|
|
id?: number;
|
|
id_random: string;
|
|
event_exhibit_id: string;
|
|
event_exhibit_id_random: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
|
|
code: string;
|
|
name: string;
|
|
// tagline: null|string;
|
|
description: null|string;
|
|
staff_passcode: null
|
|
data_json: null|string;
|
|
|
|
leads_api_access: null|boolean;
|
|
leads_custom_questions_json: null|string;
|
|
leads_device_sm_qty: null|number;
|
|
leads_device_lg_qty: null|number;
|
|
license_max: number;
|
|
license_li_json: null|string;
|
|
cfg_json: string;
|
|
|
|
enable: null|boolean;
|
|
hide: null|boolean;
|
|
priority: null|boolean
|
|
sort: null|number;
|
|
group: null|string;
|
|
notes: null|string;
|
|
created_on: Date;
|
|
updated_on: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
// tmp_sort_1?: null|string;
|
|
// tmp_sort_2?: null|string;
|
|
}
|
|
|
|
|
|
export interface Exhibit_tracking {
|
|
id?: number;
|
|
id_random: string;
|
|
event_exhibit_tracking_id: string
|
|
event_exhibit_tracking_id_random: string;
|
|
|
|
event_exhibit_id: string;
|
|
event_exhibit_id_random: string;
|
|
event_badge_id: string;
|
|
event_badge_id_random: string;
|
|
event_person_id: string;
|
|
event_person_id_random: null|string; // Is this needed?
|
|
|
|
external_person_id: null|string; // This is an email address
|
|
|
|
exhibitor_notes: null|string;
|
|
|
|
responses_json: null|string;
|
|
data_json: null|string;
|
|
|
|
event_exhibit_name: string; // Extra field for convenience
|
|
|
|
event_badge_title_names: null|string;
|
|
event_badge_given_name: string;
|
|
event_badge_family_name: null|string;
|
|
event_badge_designations: null|string;
|
|
event_badge_full_name: string;
|
|
event_badge_full_name_override: null|string;
|
|
|
|
event_badge_professional_title: null|string;
|
|
event_badge_professional_title_override: null|string;
|
|
|
|
event_badge_affiliations: null|string;
|
|
event_badge_affiliations_override: null|string;
|
|
|
|
event_badge_email: null|string;
|
|
event_badge_email_override: null|string;
|
|
|
|
event_badge_location: null|string;
|
|
event_badge_location_override: null|string;
|
|
|
|
event_badge_country: null|string;
|
|
|
|
enable: null|boolean;
|
|
hide: null|boolean;
|
|
priority: null|boolean
|
|
sort: null|number;
|
|
group: null|string;
|
|
notes: null|string;
|
|
created_on: Date;
|
|
updated_on: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
// tmp_sort_1?: null|string;
|
|
// tmp_sort_2?: null|string;
|
|
}
|
|
|
|
|
|
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: string;
|
|
event_id_random: string;
|
|
event_session_id?: string;
|
|
event_session_id_random?: string;
|
|
event_presentation_id?: string;
|
|
event_presentation_id_random?: string;
|
|
event_presenter_id?: string;
|
|
event_presenter_id_random?: string;
|
|
event_location_id?: string;
|
|
event_location_id_random?: string;
|
|
|
|
filename: string;
|
|
extension: string;
|
|
|
|
open_in_os?: null|string; // null, empty, 'mac', or 'win'
|
|
|
|
lu_file_purpose_id: string;
|
|
lu_event_file_purpose_name: string;
|
|
file_purpose: string;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
filename_no_ext: string;
|
|
filename_w_ext: string;
|
|
hosted_file_content_type: string;
|
|
file_size: number; // In bytes
|
|
hosted_file_size?: number; // In bytes
|
|
|
|
event_location_code?: null|string;
|
|
event_location_name?: null|string;
|
|
event_session_code?: null|string;
|
|
event_session_type_code?: null|string;
|
|
event_session_name?: string;
|
|
event_session_start_datetime?: null|Date;
|
|
event_session_end_datetime?: null|Date;
|
|
event_presentation_code?: null|string;
|
|
event_presentation_type_code?: null|string;
|
|
event_presentation_name?: string;
|
|
event_presentation_start_datetime?: null|Date;
|
|
event_presentation_end_datetime?: null|Date;
|
|
event_presenter_given_name?: null|string;
|
|
event_presenter_family_name?: null|string;
|
|
event_presenter_full_name?: null|string;
|
|
event_presenter_email?: null|string;
|
|
}
|
|
|
|
|
|
// Updated 2024-06-25
|
|
export interface Location {
|
|
id: string;
|
|
// id_random: string;
|
|
event_location_id: string;
|
|
event_location_id_random: string;
|
|
|
|
external_id?: null|string;
|
|
code?: null|string;
|
|
|
|
type_code?: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
|
|
name: string;
|
|
description?: null|string;
|
|
|
|
passcode?: null|string;
|
|
|
|
hide_event_launcher?: null|boolean;
|
|
|
|
alert?: null|boolean;
|
|
alert_msg?: null|string;
|
|
|
|
data_json?: null|string;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
file_count?: null|number;
|
|
file_count_all?: null|number;
|
|
internal_use_count?: null|number;
|
|
event_file_id_li_json?: null|string;
|
|
|
|
event_name?: null|string;
|
|
|
|
// A key value list of the sessions
|
|
event_session_kv?: null|key_val;
|
|
// A key value list of the files
|
|
event_file_kv?: null|key_val;
|
|
}
|
|
|
|
|
|
// Updated 2024-06-10
|
|
export interface Presentation {
|
|
id: string;
|
|
// id_random: string;
|
|
event_presentation_id: string;
|
|
event_presentation_id_random: string;
|
|
|
|
external_id?: null|string;
|
|
code?: null|string;
|
|
|
|
for_type?: string;
|
|
for_id?: string;
|
|
for_id_random?: string;
|
|
|
|
type_code?: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
event_session_id: string;
|
|
event_session_id_random: string;
|
|
event_abstract_id?: null|string;
|
|
event_abstract_id_random?: null|string;
|
|
|
|
abstract_code?: null|string;
|
|
|
|
name: string;
|
|
description?: null|string;
|
|
|
|
start_datetime?: null|Date;
|
|
end_datetime?: null|Date;
|
|
|
|
passcode?: null|string;
|
|
|
|
hide_event_launcher?: null|boolean;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean;
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
// file_count: null|number;
|
|
|
|
event_session_code?: null|string;
|
|
event_session_name?: null|string;
|
|
|
|
// A key value list of the presenters
|
|
event_presenter_kv?: null|key_val;
|
|
event_presenter_li?: null|Array<any>;
|
|
}
|
|
|
|
|
|
// Updated 2024-06-10
|
|
export interface Presenter {
|
|
id: string;
|
|
// id_random: string;
|
|
event_presenter_id: string;
|
|
event_presenter_id_random: string;
|
|
|
|
external_id?: string;
|
|
code?: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
event_session_id: string;
|
|
event_session_id_random: string;
|
|
event_person_id?: null|string;
|
|
event_person_id_random?: null|string;
|
|
event_presentation_id: string;
|
|
event_presentation_id_random: string;
|
|
person_id?: null|string;
|
|
person_id_random?: null|string;
|
|
person_profile_id?: null|string;
|
|
person_profile_id_random?: null|string; // The new table person_profile will be used soon...
|
|
|
|
pronouns?: null|string;
|
|
informal_name?: null|string;
|
|
title_names?: null|string;
|
|
given_name: string;
|
|
middle_name?: null|string;
|
|
family_name?: null|string;
|
|
designations?: null|string;
|
|
|
|
professional_title?: null|string;
|
|
|
|
full_name?: string;
|
|
full_name_override: null|string;
|
|
|
|
affiliations?: null|string;
|
|
|
|
email?: string;
|
|
|
|
biography?: null|string;
|
|
|
|
agree?: null|boolean; // General catchall for agreement or consent
|
|
comments?: null|string;
|
|
|
|
passcode?: null|string;
|
|
|
|
hide_event_launcher?: null|boolean;
|
|
|
|
data_json?: null|string;
|
|
|
|
enable: null|boolean;
|
|
hide?: null|boolean;
|
|
priority?: null|boolean
|
|
sort?: null|number;
|
|
group?: null|string;
|
|
notes?: null|string;
|
|
created_on?: Date;
|
|
updated_on?: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
file_count?: null|number;
|
|
// file_count_all?: null|number;
|
|
// internal_use_count?: null|number;
|
|
event_file_id_li_json?: null|string;
|
|
|
|
event_session_code?: null|string;
|
|
event_session_name?: string;
|
|
event_session_start_datetime?: null|Date;
|
|
event_presentation_code?: null|string;
|
|
event_presentation_name?: string;
|
|
event_presentation_start_datetime?: null|Date;
|
|
|
|
person_external_id?: null|string; // This may be semi-random or unique only withing the account.
|
|
person_external_sys_id?: null|string; // Generated by an external system. Ideally this should be something like a UUID. It may be the same as the external_id if nothing given.
|
|
person_given_name?: string;
|
|
person_family_name?: null|string;
|
|
person_full_name?: null|string;
|
|
person_professional_title?: null|string;
|
|
person_affiliations?: null|string;
|
|
person_primary_email?: null|string;
|
|
person_passcode?: null|string;
|
|
|
|
// A key value list of the files
|
|
event_file_kv?: null|key_val;
|
|
}
|
|
|
|
|
|
|
|
export interface Registration {
|
|
// Nothing here yet
|
|
}
|
|
|
|
|
|
// Updated 2024-06-19
|
|
export interface Session {
|
|
id: string;
|
|
// id_random: string;
|
|
event_session_id: string;
|
|
event_session_id_random: string;
|
|
|
|
external_id: null|string;
|
|
code: null|string;
|
|
|
|
for_type: string;
|
|
for_id: string;
|
|
for_id_random: string;
|
|
|
|
type_code?: string;
|
|
|
|
event_id: string;
|
|
event_id_random: string;
|
|
event_location_id?: null|string;
|
|
event_location_id_random?: null|string;
|
|
|
|
poc_person_id?: null|string;
|
|
poc_person_id_random?: null|string;
|
|
poc_agree?: null|boolean; // General catchall for agreement or consent by the POC
|
|
poc_kv_json?: null|key_val; // Key value list of the POC by type (examples: 'advocate', 'chair', 'champion', 'moderator', 'organizer')
|
|
|
|
name: string;
|
|
description?: null|string;
|
|
|
|
start_datetime?: null|Date;
|
|
end_datetime?: null|Date;
|
|
|
|
passcode?: null|string;
|
|
|
|
hide_event_launcher?: null|boolean;
|
|
|
|
alert?: null|boolean;
|
|
alert_msg?: null|string;
|
|
|
|
data_json?: null|string;
|
|
|
|
ux_mode?: null|string; // 'colloquium', 'lecture', 'panel', 'poster', 'symposium', 'workshop'
|
|
// colloquium - Specialists present on related topics with questions
|
|
// symposium - A discussion, less formal
|
|
|
|
enable: null|boolean;
|
|
hide: null|boolean;
|
|
priority: null|boolean
|
|
sort: null|number;
|
|
group: null|string;
|
|
notes: null|string;
|
|
created_on: Date;
|
|
updated_on: null|Date;
|
|
|
|
// Generated fields for sorting locally only
|
|
tmp_sort_1?: null|string;
|
|
tmp_sort_2?: null|string;
|
|
|
|
// Additional fields for convenience (database views)
|
|
file_count?: null|number; // Only files directly under a session
|
|
file_count_all?: null|number; // All files under a session
|
|
internal_use_count?: null|number; // Files marked for internal use
|
|
event_file_id_li_json?: null|string;
|
|
|
|
poc_person_given_name?: null|string;
|
|
poc_person_family_name?: null|string;
|
|
poc_person_full_name?: null|string;
|
|
poc_person_primary_email?: null|string;
|
|
poc_person_passcode?: null|string;
|
|
|
|
event_name?: null|string;
|
|
|
|
event_location_code?: null|string;
|
|
event_location_name?: null|string;
|
|
|
|
// A key value list of the presentations
|
|
event_presentation_kv?: null|key_val;
|
|
event_presentation_li?: null|[any];
|
|
// A key value list of the files
|
|
event_file_kv?: null|key_val;
|
|
event_file_li?: null|[any];
|
|
}
|
|
|
|
|
|
// Updated 2024-10-16
|
|
export class MySubClassedDexie extends Dexie {
|
|
// 'badge' is added by dexie when declaring the stores()
|
|
// We just tell the typing system this is the case
|
|
event!: Table<Event>;
|
|
badge!: Table<Badge>;
|
|
device!: Table<Device>;
|
|
exhibit!: Table<Exhibit>;
|
|
exhibit_tracking!: Table<Exhibit_tracking>;
|
|
file!: Table<File>;
|
|
location!: Table<Location>;
|
|
presentation!: Table<Presentation>;
|
|
presenter!: Table<Presenter>;
|
|
session!: Table<Session>;
|
|
|
|
constructor() {
|
|
super('ae_events_db');
|
|
this.version(6).stores({
|
|
event: `
|
|
id, event_id, event_id_random,
|
|
code,
|
|
account_id, account_id_random,
|
|
conference, type,
|
|
name,
|
|
start_datetime, end_datetime,
|
|
timezone,
|
|
cfg_json,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, notes, created_on, updated_on`,
|
|
|
|
// badge: '++id, full_name, email' // Primary key and indexed props
|
|
badge: `
|
|
id, id_random, event_badge_id, event_badge_id_random,
|
|
event_id, event_id_random,
|
|
full_name, full_name_override, email, email_override,
|
|
affiliations, affiliations_override,
|
|
badge_type, badge_type_code, badge_type_code_override, badge_type_override,
|
|
external_event_id, external_id, external_person_id,
|
|
default_qry_string,
|
|
alert,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, notes, created_on, updated_on`,
|
|
|
|
device: `
|
|
id, id_random, event_device_id_random, event_device_id,
|
|
event_id, event_id_random, event_location_id, event_location_id_random,
|
|
code, name,
|
|
for_type, for_id, for_id_random,
|
|
alert,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, notes, created_on, updated_on`,
|
|
|
|
exhibit: `
|
|
id, id_random, event_exhibit_id, event_exhibit_id_random,
|
|
event_id, event_id_random,
|
|
code, name, description, staff_passcode,
|
|
data_json, license_max, license_li_json, cfg_json,
|
|
enable, hide, priority, sort, group, notes, created_on, updated_on, [priority+name]`,
|
|
|
|
exhibit_tracking: `
|
|
id, id_random, event_exhibit_tracking_id, event_exhibit_tracking_id_random,
|
|
event_exhibit_id, event_exhibit_id_random,
|
|
event_badge_id, event_badge_id_random, event_person_id, event_person_id_random,
|
|
exhibitor_notes, responses_json, data_json,
|
|
event_badge_full_name, event_badge_email,
|
|
enable, hide, priority, sort, group, notes, created_on, updated_on`,
|
|
|
|
file: `
|
|
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, event_session_id, event_presentation_id, event_presenter_id, event_location_id,
|
|
event_id_random, event_session_id_random, event_presentation_id_random, event_presenter_id_random, event_location_id_random,
|
|
filename, extension,
|
|
lu_file_purpose_id, lu_event_file_purpose_name, file_purpose,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, created_on, updated_on`,
|
|
|
|
location: `
|
|
id, event_location_id, event_location_id_random,
|
|
external_id, code,
|
|
event_id, event_id_random,
|
|
name, description,
|
|
passcode,
|
|
hide_event_launcher,
|
|
alert, alert_msg,
|
|
data_json,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, created_on, updated_on`,
|
|
|
|
presentation: `
|
|
id, event_presentation_id, event_presentation_id_random,
|
|
external_id, code,
|
|
for_type, for_id, for_id_random,
|
|
type_code,
|
|
event_id, event_session_id, event_abstract_id,
|
|
event_id_random, event_session_id_random, event_abstract_id_random,
|
|
abstract_code, name, description, start_datetime, end_datetime,
|
|
hide_event_launcher,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, created_on, updated_on`,
|
|
|
|
presenter: `
|
|
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,
|
|
person_id, person_profile_id,
|
|
person_id_random, person_profile_id_random,
|
|
given_name, family_name,
|
|
full_name, affiliations, email,
|
|
agree,
|
|
hide_event_launcher,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, created_on, updated_on`,
|
|
|
|
session: `
|
|
id, event_session_id, event_session_id_random,
|
|
external_id, code,
|
|
for_type, for_id, for_id_random,
|
|
type_code,
|
|
event_id, event_location_id,
|
|
poc_person_id,
|
|
event_id_random, event_location_id_random,
|
|
poc_person_id_random,
|
|
name, start_datetime, end_datetime,
|
|
hide_event_launcher,
|
|
ux_mode,
|
|
alert,
|
|
tmp_sort_1, tmp_sort_2,
|
|
enable, hide, priority, sort, group, created_on, updated_on`,
|
|
});
|
|
}
|
|
}
|
|
|
|
export const db_events = new MySubClassedDexie(); |