Moving things to SK. Added events and sessions.

This commit is contained in:
Scott Idem
2024-05-24 19:02:52 -04:00
parent d9ff625db6
commit 359c147167
6 changed files with 397 additions and 19 deletions

View File

@@ -1,5 +1,37 @@
import Dexie, { type Table } from 'dexie';
export interface Event {
id_random: string;
code: 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;
mod_abstracts_json: null|string;
mod_badges_json: null|string;
mod_exhibits_json: null|string;
mod_pres_mgmt_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;
}
export interface Badge {
// id?: number;
id_random: string;
@@ -140,6 +172,38 @@ export interface Exhibit_tracking {
updated_on: null|Date;
}
export interface Session {
id_random: string;
event_session_id_random: string;
external_id: string;
code: string;
for_type: string;
for_id_random: string;
type_code: string;
event_id_random: string;
event_location_id_random: string;
name: string;
description: null|string;
start_datetime: Date;
end_datetime: Date;
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;
}
export class MySubClassedDexie extends Dexie {
// 'badges' is added by dexie when declaring the stores()
// We just tell the typing system this is the case
@@ -150,16 +214,44 @@ export class MySubClassedDexie extends Dexie {
constructor() {
super('ae_events_db');
this.version(1).stores({
// badges: '++id, full_name, email' // Primary key and indexed props
events: `
id_random, code, account_id_random,
conference, type,
name, summary, description,
start_datetime, end_datetime,
timezone, location_address_json,
mod_abstracts_json, mod_badges_json, mod_exhibits_json, mod_pres_mgmt_json,
cfg_json,
enable, hide, priority, sort, group, notes, created_on, updated_on`,
// badges: '++id, full_name, email' // Primary key and indexed props
badges: `
id_random, event_badge_id_random, 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, enable, hide, priority, sort, group, notes, created_on, updated_on`,
id_random, event_badge_id_random, 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,
enable, hide, priority, sort, group, notes, created_on, updated_on`,
exhibits: `
id_random, event_exhibit_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]`,
id_random, event_exhibit_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_random, event_exhibit_tracking_id_random, event_exhibit_id_random, event_badge_id_random, 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`
enable, hide, priority, sort, group, notes, created_on, updated_on`,
sessions: `
id_random, event_session_id_random, external_id, code,
for_type, for_id_random, type_code,
event_id_random, event_location_id_random,
name, description, start_datetime, end_datetime,
hide_event_launcher,
enable, hide, priority, sort, group, notes, created_on, updated_on`,
});
}
}