From b9b539bf72a89b689b004ef2992299fce61dce18 Mon Sep 17 00:00:00 2001 From: Dermot Duffy Date: Tue, 20 Sep 2022 20:12:07 -0700 Subject: [PATCH] Minor type fixing. --- src/types.ts | 46 ++++++++++++------------------ src/utils/timeline-data-manager.ts | 11 ++++--- 2 files changed, 24 insertions(+), 33 deletions(-) diff --git a/src/types.ts b/src/types.ts index eb2b1e3f..ed213d7c 100644 --- a/src/types.ts +++ b/src/types.ts @@ -1368,20 +1368,6 @@ interface BrowseMediaSource { children?: BrowseMediaSource[] | null; } -export interface FrigateEvent { - camera: string; - end_time?: number; - false_positive: boolean; - has_clip: boolean; - has_snapshot: boolean; - id: string; - label: string; - start_time: number; - top_score: number; - zones: string[]; - retain_indefinitely?: boolean; -} - export interface FrigateRecording { // Frigate camera name (may not be unique) camera: string; @@ -1399,6 +1385,24 @@ export interface FrigateBrowseMediaSource extends BrowseMediaSource { }; } +export const frigateEventSchema = z.object({ + camera: z.string(), + end_time: z.number().nullable(), + false_positive: z.boolean().nullable(), + has_clip: z.boolean(), + has_snapshot: z.boolean(), + id: z.string(), + label: z.string(), + start_time: z.number(), + top_score: z.number(), + zones: z.string().array(), + retain_indefinitely: z.boolean().optional(), +}); +export type FrigateEvent = z.infer; + +export const frigateEventsSchema = frigateEventSchema.array(); +export type FrigateEvents = z.infer; + export const frigateBrowseMediaSourceSchema: z.ZodSchema = z.lazy( () => z.object({ @@ -1413,19 +1417,7 @@ export const frigateBrowseMediaSourceSchema: z.ZodSchema = z. children: z.array(frigateBrowseMediaSourceSchema).nullable().optional(), frigate: z .object({ - event: z.object({ - camera: z.string(), - end_time: z.number().nullable(), - false_positive: z.boolean().nullable(), - has_clip: z.boolean(), - has_snapshot: z.boolean(), - id: z.string(), - label: z.string(), - start_time: z.number(), - top_score: z.number(), - zones: z.string().array(), - retain_indefinitely: z.boolean().optional(), - }), + event: frigateEventSchema }) .optional(), }), diff --git a/src/utils/timeline-data-manager.ts b/src/utils/timeline-data-manager.ts index e00df5f3..2e6fdcde 100644 --- a/src/utils/timeline-data-manager.ts +++ b/src/utils/timeline-data-manager.ts @@ -108,10 +108,7 @@ export class TimelineDataManager { protected _cameras: Map; protected _mediaType: TimelineMediaType; - constructor( - cameras: Map, - mediaType: TimelineMediaType, - ) { + constructor(cameras: Map, mediaType: TimelineMediaType) { this._cameras = cameras; this._mediaType = mediaType; } @@ -127,11 +124,13 @@ export class TimelineDataManager { public createDataView( cameraIDs: Set, - showRecordings: boolean + showRecordings: boolean, ): DataView { return new DataView(this._dataset, { filter: (item: FrigateCardTimelineItem) => - !!item.group && cameraIDs.has(String(item.group)) && (showRecordings || item.type !== 'background') + !!item.group && + cameraIDs.has(String(item.group)) && + (showRecordings || item.type !== 'background'), }); }