Add starred cloud photos and opt-in seven-day random upload retention

This commit is contained in:
Pigway
2026-10-06 09:10:36 +08:00
parent 0a5b859ca0
commit c005a9444a
16 changed files with 643 additions and 7 deletions
+15 -1
View File
@@ -37,6 +37,7 @@ from pigway_frame_flow.models import (
Health,
History,
ImageContent,
ImageStar,
ImageURLConfig,
Job,
JobInput,
@@ -310,7 +311,19 @@ def create_app(settings=None, start_worker=True):
dependencies=[Depends(require("images:read"))],
)
def images(device_id: str):
return registry.get(device_id).images()
return [
image.model_copy(update=service.retention.info(device_id, image.image_id))
for image in registry.get(device_id).images()
]
@app.put(
"/api/v1/devices/{device_id}/images/{image_id}/star",
tags=["Images"],
dependencies=[Depends(require("images:write"))],
)
def star_image(device_id: str, image_id: int, payload: ImageStar):
registry.get(device_id)
return service.retention.star(device_id, image_id, payload.starred)
@app.get(
"/api/v1/devices/{device_id}/images/{image_id}/file",
@@ -1014,6 +1027,7 @@ def create_app(settings=None, start_worker=True):
duration=job.display_duration,
restore_previous=job.restore_previous,
priority=job.priority,
cleanup_unstarred=job.cleanup_unstarred,
),
)
service.validate(payload)