Add optional photo providers, layout studio and scoped integrations
This commit is contained in:
@@ -98,6 +98,8 @@ def create_app(settings=None, start_worker=True):
|
||||
weather = ConfigurableWeatherProvider(db)
|
||||
renderer = TemplateRenderer(db, settings, weather, assets)
|
||||
service = DisplayService(db, settings, registry, assets, renderer)
|
||||
from pigway_frame_flow.extensions.api import install_extensions
|
||||
|
||||
scheduler = Scheduler(service)
|
||||
seed_client(db, settings.api_token)
|
||||
seed_accounts(db, settings.config_dir)
|
||||
@@ -123,6 +125,7 @@ def create_app(settings=None, start_worker=True):
|
||||
lifespan=lifespan,
|
||||
responses=error_responses,
|
||||
)
|
||||
install_extensions(app, service)
|
||||
install_accounts(app, db)
|
||||
app.state.service = service
|
||||
app.state.scheduler = scheduler
|
||||
@@ -483,7 +486,9 @@ def create_app(settings=None, start_worker=True):
|
||||
request: Request,
|
||||
idempotency_key: str | None = Header(default=None),
|
||||
):
|
||||
renderer.info(payload.template)
|
||||
service.validate(
|
||||
DisplayRequest(device_id=settings.device_id, content=payload), writing=False
|
||||
)
|
||||
return submit(
|
||||
request,
|
||||
"render",
|
||||
@@ -701,8 +706,12 @@ def create_app(settings=None, start_worker=True):
|
||||
tags=["Photo sources"],
|
||||
dependencies=[Depends(require("admin"))],
|
||||
)
|
||||
def photos_people():
|
||||
return service.photo_sources.synology.people()
|
||||
def photos_people(space: Literal["shared", "personal"] = "shared"):
|
||||
return (
|
||||
service.photo_sources.synology.people()
|
||||
if space == "shared"
|
||||
else service.photo_sources.synology.people(space)
|
||||
)
|
||||
|
||||
@app.get(
|
||||
"/api/v1/photo-sources",
|
||||
|
||||
Reference in New Issue
Block a user