Polish upload drafts, restore availability and offline API docs
This commit is contained in:
@@ -243,7 +243,7 @@ def create_app(settings=None, start_worker=True):
|
||||
dependencies=[Depends(require("devices:read"))],
|
||||
)
|
||||
def devices():
|
||||
return [d.device() for d in registry.drivers.values()]
|
||||
return [device(id) for id in registry.drivers]
|
||||
|
||||
@app.get(
|
||||
"/api/v1/devices/{device_id}",
|
||||
@@ -252,7 +252,16 @@ def create_app(settings=None, start_worker=True):
|
||||
dependencies=[Depends(require("devices:read"))],
|
||||
)
|
||||
def device(device_id: str, refresh: bool = False):
|
||||
return registry.get(device_id).device(refresh)
|
||||
d = registry.get(device_id).device(refresh)
|
||||
state = db.one("SELECT * FROM device_state WHERE device_id=?", (device_id,))
|
||||
possible = bool(
|
||||
state
|
||||
and (
|
||||
state["previous_image_id"] is not None
|
||||
or state["base_image_id"] is not None
|
||||
)
|
||||
) and not service.blocked(device_id)
|
||||
return d.model_copy(update={"can_restore": possible})
|
||||
|
||||
@app.get(
|
||||
"/api/v1/devices/{device_id}/images",
|
||||
@@ -432,6 +441,7 @@ def create_app(settings=None, start_worker=True):
|
||||
asset = assets.put(
|
||||
await run_in_threadpool(convert, data, fit, profile),
|
||||
settings.sanitize(name),
|
||||
kind="cache",
|
||||
)
|
||||
return asset
|
||||
|
||||
@@ -445,7 +455,8 @@ def create_app(settings=None, start_worker=True):
|
||||
return [
|
||||
assets.info(r["id"])
|
||||
for r in db.all(
|
||||
"SELECT id FROM assets ORDER BY created_at DESC LIMIT ?", (limit,)
|
||||
"SELECT id FROM assets WHERE kind!='cache' ORDER BY created_at DESC LIMIT ?",
|
||||
(limit,),
|
||||
)
|
||||
]
|
||||
|
||||
|
||||
Reference in New Issue
Block a user