diff --git a/src/camera/cache.ts b/src/camera/cache.ts index f7bf53f0..5ae93c3f 100644 --- a/src/camera/cache.ts +++ b/src/camera/cache.ts @@ -1,7 +1,7 @@ import isEqual from 'lodash-es/isEqual'; import orderBy from 'lodash-es/orderBy'; import sortedUniqBy from 'lodash-es/sortedUniqBy'; -import { RecordingSegment, RecordingSegments } from '../utils/frigate'; +import { RecordingSegment, RecordingSegments } from './frigate/frigate'; import { DateRange, MemoryRangeSet } from './range'; import { DataQuery, QueryResults } from './types'; diff --git a/src/camera/engine-factory.ts b/src/camera/engine-factory.ts index 7e36b18d..c249829e 100644 --- a/src/camera/engine-factory.ts +++ b/src/camera/engine-factory.ts @@ -1,7 +1,7 @@ import { CameraConfig } from '../types'; import { RecordingSegmentsCache } from './cache'; import { CameraManagerEngine } from './engine'; -import { FrigateCameraManagerEngine } from './engine-frigate'; +import { FrigateCameraManagerEngine } from './frigate/engine-frigate'; import { DataQuery } from './types'; export class CameraManagerEngineFactory { diff --git a/src/camera/engine-frigate.ts b/src/camera/frigate/engine-frigate.ts similarity index 96% rename from src/camera/engine-frigate.ts rename to src/camera/frigate/engine-frigate.ts index 5b82adb1..ea2a7332 100644 --- a/src/camera/engine-frigate.ts +++ b/src/camera/frigate/engine-frigate.ts @@ -3,11 +3,11 @@ import add from 'date-fns/add'; import endOfHour from 'date-fns/endOfHour'; import getUnixTime from 'date-fns/getUnixTime'; import startOfHour from 'date-fns/startOfHour'; -import { CAMERA_BIRDSEYE } from '../const'; -import { CameraConfig, FrigateRecording } from '../types'; -import { MediaQueries, MediaQueriesResults } from '../view'; -import { ViewMedia, ViewMediaClassifier, ViewMediaFactory } from '../view-media'; -import { errorToConsole } from '../utils/basic'; +import { CAMERA_BIRDSEYE } from '../../const'; +import { CameraConfig, FrigateRecording } from '../../types'; +import { MediaQueries, MediaQueriesResults } from '../../view'; +import { ViewMedia, ViewMediaClassifier, ViewMediaFactory } from '../../view-media'; +import { errorToConsole } from '../../utils/basic'; import { getEvents, getRecordingSegments, @@ -17,14 +17,14 @@ import { RecordingSegments, RecordingSummary, retainEvent, -} from '../utils/frigate'; -import { RecordingSegmentsCache } from './cache'; +} from './frigate'; +import { RecordingSegmentsCache } from '../cache'; import { CameraManagerEngine, CAMERA_MANAGER_ENGINE_EVENT_LIMIT_DEFAULT, -} from './engine'; -import { CameraManagerError } from './error'; -import { DateRange } from './range'; +} from '../engine'; +import { CameraManagerError } from '../error'; +import { DateRange } from '../range'; import { Engine, EventQuery, @@ -40,7 +40,7 @@ import { QueryType, RecordingQuery, RecordingSegmentsQuery, -} from './types'; +} from '../types'; const EVENT_REQUEST_CACHE_MAX_AGE_SECONDS = 60; const RECORDING_SUMMARY_REQUEST_CACHE_MAX_AGE_SECONDS = 60; diff --git a/src/utils/frigate.ts b/src/camera/frigate/frigate.ts similarity index 95% rename from src/utils/frigate.ts rename to src/camera/frigate/frigate.ts index 432f6bf2..bf6ddf08 100644 --- a/src/utils/frigate.ts +++ b/src/camera/frigate/frigate.ts @@ -2,7 +2,7 @@ import { HomeAssistant } from 'custom-card-helpers'; import utcToZonedTime from 'date-fns-tz/utcToZonedTime'; import fromUnixTime from 'date-fns/fromUnixTime'; import { z } from 'zod'; -import { localize } from '../localize/localize'; +import { localize } from '../../localize/localize'; import { ClipsOrSnapshots, FrigateCardError, @@ -10,9 +10,9 @@ import { FrigateEvents, frigateEventsSchema, FrigateRecording, -} from '../types'; -import { formatDateAndTime, prettifyTitle } from './basic'; -import { homeAssistantWSRequest } from './ha'; +} from '../../types'; +import { formatDateAndTime, prettifyTitle } from '../../utils/basic'; +import { homeAssistantWSRequest } from '../../utils/ha'; export const FRIGATE_ICON_SVG_PATH = 'm 4.8759466,22.743573 c 0.0866,0.69274 0.811811,1.16359 0.37885,1.27183 ' + @@ -226,7 +226,7 @@ export const getEventThumbnailURL = (clientId: string, event: FrigateEvent): str * Get a media content ID for an event. * @param clientId The Frigate client id. * @param cameraName The Frigate camera name. - * @param id The event id. + * @param event The Frigate event. * @param mediaType The media type required. * @returns A string media content id. */ @@ -241,8 +241,9 @@ export const getEventMediaContentID = ( /** * Generate a recording identifier. - * @param hass The HomeAssistant object. - * @param params The recording parameters to use in the identifer. + * @param clientId The Frigate client id. + * @param cameraName The Frigate camera name. + * @param recording The Frigate recording. * @returns A recording identifier. */ export const getRecordingMediaContentID = ( diff --git a/src/camera/types.ts b/src/camera/types.ts index bdb63985..846bd652 100644 --- a/src/camera/types.ts +++ b/src/camera/types.ts @@ -1,5 +1,5 @@ import { FrigateEvents, FrigateRecording } from '../types'; -import { RecordingSegments } from '../utils/frigate'; +import { RecordingSegments } from './frigate/frigate'; // ==== // Base diff --git a/src/components/menu.ts b/src/components/menu.ts index 6201f4a7..789deec8 100644 --- a/src/components/menu.ts +++ b/src/components/menu.ts @@ -27,7 +27,7 @@ import { frigateCardHasAction, getActionConfigGivenAction } from '../utils/action.js'; -import { FRIGATE_ICON_SVG_PATH } from '../utils/frigate.js'; +import { FRIGATE_ICON_SVG_PATH } from '../camera/frigate/frigate.js'; import { refreshDynamicStateParameters } from '../utils/ha'; import './submenu.js'; diff --git a/src/editor.ts b/src/editor.ts index ef0c0002..0077cf25 100644 --- a/src/editor.ts +++ b/src/editor.ts @@ -141,7 +141,7 @@ import { } from './types.js'; import { arrayMove } from './utils/basic.js'; import { getCameraID, getCameraTitle } from './utils/camera.js'; -import { FRIGATE_ICON_SVG_PATH } from './utils/frigate.js'; +import { FRIGATE_ICON_SVG_PATH } from './camera/frigate/frigate.js'; import { getEntitiesFromHASS, sideLoadHomeAssistantElements } from './utils/ha'; import { setLowPerformanceProfile } from './performance.js'; diff --git a/src/utils/media-to-view.ts b/src/utils/media-to-view.ts index dfa4640e..9f301698 100644 --- a/src/utils/media-to-view.ts +++ b/src/utils/media-to-view.ts @@ -5,7 +5,7 @@ import sub from 'date-fns/sub'; import { ViewContext } from 'view'; import { CameraConfig, ClipsOrSnapshotsOrAll, FrigateCardView } from '../types'; import { EventMediaQueries, RecordingMediaQueries, View } from '../view'; -import { RecordingSegments } from './frigate'; +import { RecordingSegments } from '../camera/frigate/frigate'; import { CameraManager } from '../camera/manager'; import { getAllDependentCameras } from './camera.js'; import { ViewMedia, ViewMediaClassifier } from '../view-media'; diff --git a/src/utils/timeline-source.ts b/src/utils/timeline-source.ts index 3ddc9a94..18e401f2 100644 --- a/src/utils/timeline-source.ts +++ b/src/utils/timeline-source.ts @@ -6,7 +6,7 @@ import { IdType, TimelineItem, TimelineWindow } from 'vis-timeline/esnext'; import { CameraConfig, ClipsOrSnapshotsOrAll } from '../types'; import { CameraManager } from '../camera/manager'; import { EventQuery } from '../camera/types'; -import { RecordingSegment, RecordingSegments } from './frigate'; +import { RecordingSegment, RecordingSegments } from '../camera/frigate/frigate'; import { capEndDate, convertRangeToCacheFriendlyTimes } from '../camera/util'; import { EventMediaQueries } from '../view'; import { ViewMedia } from '../view-media'; diff --git a/src/view-media.ts b/src/view-media.ts index d6d850ef..84448d66 100644 --- a/src/view-media.ts +++ b/src/view-media.ts @@ -14,7 +14,7 @@ import { getEventTitle, getRecordingMediaContentID, getRecordingTitle, -} from './utils/frigate.js'; +} from './camera/frigate/frigate.js'; export type ViewMediaType = 'clip' | 'snapshot' | 'recording'; export type ViewMediaSourceType = FrigateEvent | FrigateRecording | BrowseMediaSource;