feat: unify source libraries, generation plans and terminal bindings
This commit is contained in:
@@ -144,6 +144,9 @@ def create_app(settings=None, start_worker=True):
|
||||
from pigway_frame_flow.api.thumbnails import install_thumbnails
|
||||
|
||||
install_thumbnails(app, service)
|
||||
from pigway_frame_flow.api.libraries import install_libraries
|
||||
|
||||
install_libraries(app, service)
|
||||
app.state.service = service
|
||||
app.state.worker_enabled = start_worker
|
||||
app.state.scheduler = scheduler
|
||||
@@ -601,7 +604,7 @@ def create_app(settings=None, start_worker=True):
|
||||
return [
|
||||
assets.info(r["id"])
|
||||
for r in db.all(
|
||||
"SELECT assets.id FROM assets LEFT JOIN asset_metadata ON asset_metadata.asset_id=assets.id WHERE kind!='cache' "
|
||||
"SELECT assets.id FROM assets LEFT JOIN asset_metadata ON asset_metadata.asset_id=assets.id WHERE kind NOT IN ('cache','source-images','renditions') "
|
||||
"AND NOT EXISTS (SELECT 1 FROM asset_sources s WHERE s.asset_id=assets.id AND json_extract(s.payload,'$.type')='thumbnail') AND "
|
||||
"(?='all' OR (?='uploaded' AND kind='images') OR (?='generated' AND kind='generated')) "
|
||||
"AND (?='all' OR COALESCE(origin,'unknown')=?) AND (? IS NULL OR job_id=?) "
|
||||
@@ -618,6 +621,13 @@ def create_app(settings=None, start_worker=True):
|
||||
)
|
||||
def delete_asset(asset_id: str):
|
||||
path = assets.path(asset_id)
|
||||
if db.one(
|
||||
"SELECT id FROM assets WHERE id=? AND kind IN ('source-images','renditions')",
|
||||
(asset_id,),
|
||||
):
|
||||
raise FlowError(
|
||||
E.CONFLICT, "Delete library images through their source library", 409
|
||||
)
|
||||
reference = "%" + asset_id + "%"
|
||||
if (
|
||||
db.one(
|
||||
@@ -799,7 +809,9 @@ def create_app(settings=None, start_worker=True):
|
||||
dependencies=[Depends(require("admin"))],
|
||||
)
|
||||
def delete_photo_source(source_id: str):
|
||||
service.photo_sources.delete(source_id)
|
||||
with service.lock:
|
||||
service.libraries.check_source_delete(source_id)
|
||||
service.photo_sources.delete(source_id)
|
||||
return Response(status_code=204)
|
||||
|
||||
@app.get(
|
||||
@@ -1391,6 +1403,7 @@ def create_app(settings=None, start_worker=True):
|
||||
if filename not in [
|
||||
"app.js",
|
||||
"thumbnails.js",
|
||||
"libraries.js",
|
||||
"features.js",
|
||||
"extensions.js",
|
||||
"style.css",
|
||||
|
||||
Reference in New Issue
Block a user