Migrate Event logistics modules to unified type system

- Added ae_EventLocation, ae_EventSession, ae_EventPresenter, and ae_EventTrack to ae_types.ts.
- Replaced local interfaces in logistics logic files with unified imports.
- Standardized Promise return types for all core data loading, creation, search, and update functions.
- Integrated triple-ID patterns for Dexie and V3 API parity across locations, sessions, and presenters.
This commit is contained in:
Scott Idem
2026-01-08 12:49:31 -05:00
parent 777f453894
commit 113905f731
4 changed files with 209 additions and 18 deletions

View File

@@ -285,4 +285,193 @@ export interface ae_ActivityLog extends ae_BaseObj {
details?: string;
other_json?: any;
}
}
/**
* Event - A discrete conference or show
*/
export interface ae_Event extends ae_BaseObj {
event_id: string;
event_id_random: string;
account_id: string;
account_id_random: string;
conference: boolean;
type?: string;
summary?: string;
format?: string;
timezone?: string;
start_datetime?: string | Date;
end_datetime?: string | Date;
location_text?: string;
location_address_json?: any;
status?: string;
approve?: boolean;
ready?: boolean;
ready_on?: string | Date;
cfg_json?: any;
data_json?: any;
}
/**
* EventBadge - An attendee's printed credentials
*/
export interface ae_EventBadge extends ae_BaseObj {
event_badge_id: string;
event_badge_id_random: string;
event_id: string;
event_id_random: string;
person_id: string;
person_id_random: string;
event_person_id?: string;
event_person_id_random?: string;
event_badge_template_id?: string;
event_badge_template_id_random?: string;
badge_type_code?: string;
badge_type?: string;
member_type_code?: string;
member_status?: string;
pronouns?: string;
given_name?: string;
middle_name?: string;
family_name?: string;
full_name?: string;
affiliations?: string;
professional_title?: string;
email?: string;
city?: string;
state_province?: string;
country?: string;
print_count?: number;
print_first_datetime?: string | Date;
print_last_datetime?: string | Date;
ticket_list?: any[];
data_json?: any;
}
/**
* EventBadgeTemplate - Layout and style for badges
*/
export interface ae_EventBadgeTemplate extends ae_BaseObj {
event_badge_template_id: string;
event_badge_template_id_random: string;
event_id: string;
event_id_random: string;
logo_path?: string;
header_path?: string;
header_row_1?: string;
header_row_2?: string;
footer_path?: string;
footer_title?: string;
badge_type_list?: any;
ticket_list?: any;
layout?: string;
style_href?: string;
passcode?: string;
}
/**
* EventLocation - A room or area within an event
*/
export interface ae_EventLocation extends ae_BaseObj {
event_location_id: string;
event_location_id_random: string;
event_id: string;
event_id_random: string;
location_type?: string;
location_type_code?: string;
internal_use?: boolean;
record_audio?: boolean;
record_video?: boolean;
passcode?: string;
data_json?: any;
}
/**
* EventSession - A timed presentation or meeting
*/
export interface ae_EventSession extends ae_BaseObj {
event_session_id: string;
event_session_id_random: string;
event_id: string;
event_id_random: string;
event_location_id?: string;
event_location_id_random?: string;
event_track_id?: string;
event_track_id_random?: string;
type_code?: string;
start_datetime?: string | Date;
end_datetime?: string | Date;
internal_use?: boolean;
record_audio?: boolean;
record_video?: boolean;
status?: number;
approve?: boolean;
ready?: boolean;
data_json?: any;
}
/**
* EventPresenter - A speaker or facilitator
*/
export interface ae_EventPresenter extends ae_BaseObj {
event_presenter_id: string;
event_presenter_id_random: string;
event_id: string;
event_id_random: string;
person_id: string;
person_id_random: string;
pronouns?: string;
given_name?: string;
middle_name?: string;
family_name?: string;
full_name?: string;
affiliations?: string;
email?: string;
professional_title?: string;
tagline?: string;
biography?: string;
agree?: boolean;
data_json?: any;
}
/**
* EventTrack - A thematic grouping of sessions
*/
export interface ae_EventTrack extends ae_BaseObj {
event_track_id: string;
event_track_id_random: string;
event_id: string;
event_id_random: string;
track_type?: string;
track_type_code?: string;
start_datetime?: string | Date;
end_datetime?: string | Date;
}