Minor cleanup.
This commit is contained in:
@@ -311,16 +311,17 @@ export class FrigateCameraManagerEngine implements CameraManagerEngine {
|
|||||||
): Promise<RecordingQueryResultsMap | null> {
|
): Promise<RecordingQueryResultsMap | null> {
|
||||||
const output: RecordingQueryResultsMap = new Map();
|
const output: RecordingQueryResultsMap = new Map();
|
||||||
|
|
||||||
const processQuery = async (query: RecordingQuery): Promise<void> => {
|
const processQuery = async (
|
||||||
|
baseQuery: RecordingQuery,
|
||||||
|
cameraID: string,
|
||||||
|
): Promise<void> => {
|
||||||
|
const query = { ...baseQuery, cameraIDs: new Set([cameraID]) };
|
||||||
const cachedResult = this._requestCache.get(query);
|
const cachedResult = this._requestCache.get(query);
|
||||||
if (cachedResult) {
|
if (cachedResult) {
|
||||||
output.set(query, cachedResult as RecordingQueryResults);
|
output.set(query, cachedResult as RecordingQueryResults);
|
||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
// There will only ever be a single cameraID specified for queries in this
|
|
||||||
// inner function.
|
|
||||||
const cameraID = [...query.cameraIDs][0];
|
|
||||||
const cameraConfig = this._getQueryableCameraConfig(cameras, cameraID);
|
const cameraConfig = this._getQueryableCameraConfig(cameras, cameraID);
|
||||||
if (!cameraConfig || !cameraConfig.frigate.camera_name) {
|
if (!cameraConfig || !cameraConfig.frigate.camera_name) {
|
||||||
return;
|
return;
|
||||||
@@ -380,9 +381,7 @@ export class FrigateCameraManagerEngine implements CameraManagerEngine {
|
|||||||
// Frigate recordings can only be queried for a single camera, so fan out
|
// Frigate recordings can only be queried for a single camera, so fan out
|
||||||
// the inbound query into multiple outbound queries.
|
// the inbound query into multiple outbound queries.
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
Array.from(query.cameraIDs).map((cameraID) =>
|
Array.from(query.cameraIDs).map((cameraID) => processQuery(query, cameraID)),
|
||||||
processQuery({ ...query, cameraIDs: new Set([cameraID]) }),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
return output.size ? output : null;
|
return output.size ? output : null;
|
||||||
}
|
}
|
||||||
@@ -394,10 +393,11 @@ export class FrigateCameraManagerEngine implements CameraManagerEngine {
|
|||||||
): Promise<RecordingSegmentsQueryResultsMap | null> {
|
): Promise<RecordingSegmentsQueryResultsMap | null> {
|
||||||
const output: RecordingSegmentsQueryResultsMap = new Map();
|
const output: RecordingSegmentsQueryResultsMap = new Map();
|
||||||
|
|
||||||
const processQuery = async (query: RecordingSegmentsQuery): Promise<void> => {
|
const processQuery = async (
|
||||||
// There will only ever be a single cameraID specified for queries in this
|
baseQuery: RecordingSegmentsQuery,
|
||||||
// inner function.
|
cameraID: string,
|
||||||
const cameraID = [...query.cameraIDs][0];
|
): Promise<void> => {
|
||||||
|
const query = { ...baseQuery, cameraIDs: new Set([cameraID]) };
|
||||||
const cameraConfig = this._getQueryableCameraConfig(cameras, cameraID);
|
const cameraConfig = this._getQueryableCameraConfig(cameras, cameraID);
|
||||||
if (!cameraConfig || !cameraConfig.frigate.camera_name) {
|
if (!cameraConfig || !cameraConfig.frigate.camera_name) {
|
||||||
return;
|
return;
|
||||||
@@ -446,9 +446,7 @@ export class FrigateCameraManagerEngine implements CameraManagerEngine {
|
|||||||
// Frigate recording segments can only be queried for a single camera, so
|
// Frigate recording segments can only be queried for a single camera, so
|
||||||
// fan out the inbound query into multiple outbound queries.
|
// fan out the inbound query into multiple outbound queries.
|
||||||
await Promise.all(
|
await Promise.all(
|
||||||
Array.from(query.cameraIDs).map((cameraID) =>
|
Array.from(query.cameraIDs).map((cameraID) => processQuery(query, cameraID)),
|
||||||
processQuery({ ...query, cameraIDs: new Set([cameraID]) }),
|
|
||||||
),
|
|
||||||
);
|
);
|
||||||
|
|
||||||
runWhenIdleIfSupported(() => this._throttledSegmentGarbageCollector(hass, cameras));
|
runWhenIdleIfSupported(() => this._throttledSegmentGarbageCollector(hass, cameras));
|
||||||
|
|||||||
Reference in New Issue
Block a user