refactor: Break apart monolithic configuration schema (#1977)
[skip ci]
This commit is contained in:
@@ -1,5 +1,5 @@
|
||||
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import { canonicalizeHAURL } from '../../utils/ha';
|
||||
import { BrowseMediaManager } from '../../utils/ha/browse-media/browse-media-manager';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher';
|
||||
import { CameraConfig } from '../config/types';
|
||||
import { CameraConfig } from '../config/schema/cameras';
|
||||
import { localize } from '../localize/localize';
|
||||
import { HassStateDifference, isTriggeredState } from '../utils/ha';
|
||||
import { Capabilities } from './capabilities';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { StateWatcherSubscriptionInterface } from '../card-controller/hass/state-watcher';
|
||||
import { CameraConfig } from '../config/types';
|
||||
import { CameraConfig } from '../config/schema/cameras';
|
||||
import { HomeAssistant } from '../ha/types';
|
||||
import { localize } from '../localize/localize';
|
||||
import { BrowseMediaManager } from '../utils/ha/browse-media/browse-media-manager';
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { PTZAction } from '../config/ptz';
|
||||
import { ActionPhase, CameraConfig } from '../config/types';
|
||||
import { PTZAction, PTZActionPhase } from '../config/schema/actions/custom/ptz';
|
||||
import { CameraConfig } from '../config/schema/cameras';
|
||||
import { HomeAssistant } from '../ha/types';
|
||||
import { ViewMedia } from '../view/media';
|
||||
import { Camera } from './camera';
|
||||
@@ -134,7 +134,7 @@ export interface CameraManagerEngine {
|
||||
cameraConfig: CameraConfig,
|
||||
action: PTZAction,
|
||||
options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): Promise<void>;
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import uniq from 'lodash-es/uniq';
|
||||
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import { localize } from '../../localize/localize';
|
||||
import { PTZCapabilities, PTZMovementType } from '../../types';
|
||||
|
||||
@@ -4,8 +4,8 @@ import orderBy from 'lodash-es/orderBy';
|
||||
import throttle from 'lodash-es/throttle';
|
||||
import uniqWith from 'lodash-es/uniqWith';
|
||||
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
|
||||
import { PTZAction } from '../../config/ptz';
|
||||
import { ActionPhase, CameraConfig } from '../../config/types';
|
||||
import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import {
|
||||
allPromises,
|
||||
@@ -1011,7 +1011,7 @@ export class FrigateCameraManagerEngine
|
||||
cameraConfig: CameraConfig,
|
||||
action: PTZAction,
|
||||
options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): Promise<void> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { fromUnixTime } from 'date-fns';
|
||||
import isEqual from 'lodash-es/isEqual';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import {
|
||||
EventViewMedia,
|
||||
RecordingViewMedia,
|
||||
|
||||
@@ -1,5 +1,5 @@
|
||||
import { toZonedTime } from 'date-fns-tz';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { ClipsOrSnapshots } from '../../types';
|
||||
import { formatDateAndTime, prettifyTitle } from '../../utils/basic';
|
||||
import { FrigateEvent, FrigateRecording } from './types';
|
||||
|
||||
@@ -1,8 +1,8 @@
|
||||
/* eslint-disable @typescript-eslint/no-unused-vars */
|
||||
|
||||
import { StateWatcherSubscriptionInterface } from '../../card-controller/hass/state-watcher';
|
||||
import { PTZAction } from '../../config/ptz';
|
||||
import { ActionPhase, CameraConfig } from '../../config/types';
|
||||
import { PTZAction, PTZActionPhase } from '../../config/schema/actions/custom/ptz';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import { getEntityTitle } from '../../utils/ha';
|
||||
import { ViewMedia } from '../../view/media';
|
||||
@@ -241,7 +241,7 @@ export class GenericCameraManagerEngine implements CameraManagerEngine {
|
||||
_cameraConfig: CameraConfig,
|
||||
_action: PTZAction,
|
||||
_options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): Promise<void> {
|
||||
|
||||
@@ -3,8 +3,8 @@ import cloneDeep from 'lodash-es/cloneDeep';
|
||||
import sum from 'lodash-es/sum';
|
||||
import PQueue from 'p-queue';
|
||||
import { CardCameraAPI } from '../card-controller/types.js';
|
||||
import { PTZAction } from '../config/ptz.js';
|
||||
import { ActionPhase, CameraConfig, CamerasConfig } from '../config/types.js';
|
||||
import { PTZAction, PTZActionPhase } from '../config/schema/actions/custom/ptz.js';
|
||||
import { CameraConfig, CamerasConfig } from '../config/schema/cameras.js';
|
||||
import { MEDIA_CHUNK_SIZE_DEFAULT } from '../const.js';
|
||||
import { localize } from '../localize/localize.js';
|
||||
import {
|
||||
@@ -16,7 +16,6 @@ import {
|
||||
} from '../utils/basic.js';
|
||||
import { getCameraID } from '../utils/camera.js';
|
||||
import { log } from '../utils/debug.js';
|
||||
import { getConfiguredPTZAction } from './utils/ptz.js';
|
||||
import { ViewMedia } from '../view/media.js';
|
||||
import { Capabilities } from './capabilities.js';
|
||||
import { CameraManagerEngineFactory } from './engine-factory.js';
|
||||
@@ -56,6 +55,7 @@ import {
|
||||
RecordingSegmentsQueryResultsMap,
|
||||
ResultsMap,
|
||||
} from './types.js';
|
||||
import { getConfiguredPTZAction } from './utils/ptz.js';
|
||||
import { sortMedia } from './utils/sort-media.js';
|
||||
|
||||
export class QueryClassifier {
|
||||
@@ -785,7 +785,7 @@ export class CameraManager {
|
||||
cameraID: string,
|
||||
action: PTZAction,
|
||||
options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): Promise<void> {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { add, endOfDay, parse, startOfDay } from 'date-fns';
|
||||
import orderBy from 'lodash-es/orderBy';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import { allPromises, formatDate, isValidDate } from '../../utils/basic';
|
||||
import {
|
||||
|
||||
@@ -1,6 +1,6 @@
|
||||
import { add, endOfDay, parse, startOfDay } from 'date-fns';
|
||||
import { orderBy } from 'lodash-es';
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { HomeAssistant } from '../../ha/types';
|
||||
import { allPromises, formatDate, isValidDate } from '../../utils/basic';
|
||||
import { sortMediaByStartDate } from '../../utils/ha/browse-media/browse-media-manager';
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CameraConfig } from '../config/types';
|
||||
import { CameraConfig } from '../config/schema/cameras';
|
||||
import { CapabilityKey } from '../types';
|
||||
import { allPromises } from '../utils/basic';
|
||||
import { ViewMedia } from '../view/media';
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import { AdvancedCameraCardView, SSLCiphers } from '../config/types';
|
||||
import { SSLCiphers } from '../config/schema/cameras';
|
||||
import { AdvancedCameraCardView } from '../config/schema/common/const';
|
||||
import { CapabilityKey, Icon } from '../types';
|
||||
import { ViewMedia } from '../view/media';
|
||||
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
|
||||
export const getCameraEntityFromConfig = (
|
||||
cameraConfig?: CameraConfig,
|
||||
|
||||
@@ -1,4 +1,4 @@
|
||||
import { CameraConfig } from '../../config/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { CameraEndpoint } from '../types';
|
||||
|
||||
export const getDefaultGo2RTCEndpoint = (
|
||||
|
||||
@@ -1,12 +1,17 @@
|
||||
import { PTZAction, PTZBaseAction } from '../../config/ptz';
|
||||
import { ActionConfig, ActionPhase, CameraConfig } from '../../config/types';
|
||||
import {
|
||||
PTZAction,
|
||||
PTZActionPhase,
|
||||
PTZBaseAction,
|
||||
} from '../../config/schema/actions/custom/ptz';
|
||||
import { ActionConfig } from '../../config/schema/actions/types';
|
||||
import { CameraConfig } from '../../config/schema/cameras';
|
||||
import { PTZCapabilities, PTZMovementType } from '../../types';
|
||||
|
||||
export const getConfiguredPTZAction = (
|
||||
cameraConfig: CameraConfig,
|
||||
action: PTZAction,
|
||||
options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): ActionConfig | ActionConfig[] | null => {
|
||||
@@ -25,7 +30,7 @@ const hasConfiguredPTZAction = (
|
||||
cameraConfig: CameraConfig,
|
||||
action: PTZBaseAction,
|
||||
options?: {
|
||||
phase?: ActionPhase;
|
||||
phase?: PTZActionPhase;
|
||||
preset?: string;
|
||||
},
|
||||
): boolean => {
|
||||
|
||||
Reference in New Issue
Block a user