- Add support for Frigate reviews / detections. - Add support for GenAI metadata. - Significant internal refactor to more flexible "UnifiedQuery" to allow mixing cameras with simple metadata and review metadata (e.g. a timeline view of a Frigate camera with reviews, and a Reolink camera with simple metadata). - Add support for folder media as camera media. There are a few more PRs to commit prior to this going live, but commiting this for now due to the scale of the change. BREAKING CHANGE: `media_type` and `events_type` are retired under `live`, `viewer` and `timeline` configuration sections, instead media type is associated (once) with the camera under `media`.
44 lines
1.1 KiB
TypeScript
44 lines
1.1 KiB
TypeScript
import { vi } from 'vitest';
|
|
import { CardController } from '../../../src/card-controller/controller';
|
|
import { RawAdvancedCameraCardConfig } from '../../../src/config/types';
|
|
import {
|
|
createCameraManager,
|
|
createCapabilities,
|
|
createCardAPI,
|
|
createConfig,
|
|
createStore,
|
|
} from '../../test-utils';
|
|
|
|
export const createPopulatedAPI = (
|
|
config?: RawAdvancedCameraCardConfig,
|
|
): CardController => {
|
|
const api = createCardAPI();
|
|
const store = createStore([
|
|
{
|
|
cameraID: 'camera.office',
|
|
capabilities: createCapabilities({
|
|
live: true,
|
|
snapshots: true,
|
|
clips: true,
|
|
recordings: true,
|
|
reviews: true,
|
|
substream: true,
|
|
}),
|
|
},
|
|
{
|
|
cameraID: 'camera.kitchen',
|
|
capabilities: createCapabilities({
|
|
live: true,
|
|
snapshots: true,
|
|
clips: true,
|
|
recordings: true,
|
|
reviews: true,
|
|
substream: true,
|
|
}),
|
|
},
|
|
]);
|
|
vi.mocked(api.getCameraManager).mockReturnValue(createCameraManager(store));
|
|
vi.mocked(api.getConfigManager().getConfig).mockReturnValue(createConfig(config));
|
|
return api;
|
|
};
|