refactor(report): improve report summary

This commit is contained in:
Carlos Valente
2026-08-25 21:57:15 +02:00
committed by Carlos Valente
parent bc6a321172
commit afc3a44455
22 changed files with 1422 additions and 200 deletions
@@ -1,8 +1,42 @@
import type { MaybeNumber } from '../../utils/utils.type.js';
import type { EntryId } from './OntimeEntry.js';
import type { Rundown } from './Rundown.type.js';
export type OntimeEventReport = {
startedAt: MaybeNumber;
startedAtDay: number | null;
endedAt: MaybeNumber;
endedAtDay: number | null;
/**
* Snapshot of the schedule taken when the event ran.
* Keeping a copy is what makes a report a record: editing the rundown
* afterwards no longer changes how a show that already happened is reported.
*/
scheduledStart: number;
scheduledDay: number;
scheduledDuration: number;
};
export type OntimeReport = Record<string, OntimeEventReport>;
export type OntimeReport = Record<EntryId, OntimeEventReport>;
/**
* Show level times for the report.
*
* Planned times are snapshotted when the show starts, for the same reason the
* per event schedule is. Actual times are derived from the events that ran.
*/
export type ShowReport = {
plannedStart: MaybeNumber;
plannedEnd: MaybeNumber;
plannedDuration: MaybeNumber;
actualStart: MaybeNumber;
actualEnd: MaybeNumber;
actualDuration: MaybeNumber;
};
/** Recorded event timings together with the rundown plan they are measured against. */
export type ReportData = {
eventReports: OntimeReport;
rundown: Rundown | null;
show: ShowReport;
};
+1 -1
View File
@@ -24,7 +24,7 @@ export { TimerType } from './definitions/TimerType.type.js';
export type { Day, Duration, Instant, TimeOfDay } from './definitions/core/Temporal.js';
// ---> Report
export type { OntimeReport, OntimeEventReport } from './definitions/core/Report.type.js';
export type { OntimeReport, OntimeEventReport, ReportData, ShowReport } from './definitions/core/Report.type.js';
// ---> Automations
export { ontimeActionKeyValues } from './definitions/core/Automation.type.js';