Include config publisher in api

This commit is contained in:
Nicolas Mowen 2025-05-22 13:31:17 -06:00
parent 559af44682
commit 101f2fbf04
2 changed files with 10 additions and 1 deletions

View File

@ -385,8 +385,14 @@ def config_set(request: Request, body: AppConfigSetBody):
status_code=500,
)
if body.requires_restart == 0:
if body.requires_restart == 0 or body.update_topic:
request.app.frigate_config = config
if body.update_topic and body.update_topic.startswith("config/cameras/"):
_, _, camera, field = body.update_topic.split("/")
settings = config.model_dump(mode="json", warnings="none", exclude_none=True)["cameras"][camera][field]
return JSONResponse(
content=(
{

View File

@ -26,6 +26,7 @@ from frigate.comms.event_metadata_updater import (
EventMetadataPublisher,
)
from frigate.config import FrigateConfig
from frigate.config.camera.updater import CameraConfigUpdatePublisher
from frigate.embeddings import EmbeddingsContext
from frigate.ptz.onvif import OnvifController
from frigate.stats.emitter import StatsEmitter
@ -57,6 +58,7 @@ def create_fastapi_app(
onvif: OnvifController,
stats_emitter: StatsEmitter,
event_metadata_updater: EventMetadataPublisher,
config_publisher: CameraConfigUpdatePublisher,
):
logger.info("Starting FastAPI app")
app = FastAPI(
@ -127,6 +129,7 @@ def create_fastapi_app(
app.onvif = onvif
app.stats_emitter = stats_emitter
app.event_metadata_updater = event_metadata_updater
app.config_publisher = config_publisher
app.jwt_token = get_jwt_secret() if frigate_config.auth.enabled else None
return app