Fix db function calls and add missing functions
- Fix get_activities to use get_activities_paginated - Add get_user_assets, delete_asset, count_users, count_user_activities - Add get_user_activities, get_renderer, update_anchor, delete_anchor - Add record_run and get_run functions - Fix create_asset calls to use dict parameter - Fix update_asset call signature Co-Authored-By: Claude Opus 4.5 <noreply@anthropic.com>
This commit is contained in:
@@ -31,8 +31,8 @@ async def list_activities(
|
||||
|
||||
username = get_user_from_cookie(request)
|
||||
|
||||
activities = await db.get_activities(offset=offset, limit=limit)
|
||||
has_more = len(activities) >= limit
|
||||
activities, total = await db.get_activities_paginated(limit=limit, offset=offset)
|
||||
has_more = offset + len(activities) < total
|
||||
|
||||
if wants_json(request):
|
||||
return {"activities": activities, "offset": offset, "limit": limit}
|
||||
|
||||
@@ -82,21 +82,21 @@ async def create_asset(
|
||||
"""Register a new asset."""
|
||||
import db
|
||||
|
||||
asset_id = await db.create_asset(
|
||||
username=user["username"],
|
||||
name=req.name,
|
||||
content_hash=req.content_hash,
|
||||
ipfs_cid=req.ipfs_cid,
|
||||
asset_type=req.asset_type,
|
||||
tags=req.tags,
|
||||
metadata=req.metadata,
|
||||
provenance=req.provenance,
|
||||
)
|
||||
asset = await db.create_asset({
|
||||
"owner": user["username"],
|
||||
"name": req.name,
|
||||
"content_hash": req.content_hash,
|
||||
"ipfs_cid": req.ipfs_cid,
|
||||
"asset_type": req.asset_type,
|
||||
"tags": req.tags or [],
|
||||
"metadata": req.metadata or {},
|
||||
"provenance": req.provenance,
|
||||
})
|
||||
|
||||
if not asset_id:
|
||||
if not asset:
|
||||
raise HTTPException(400, "Failed to create asset")
|
||||
|
||||
return {"asset_id": asset_id, "message": "Asset registered"}
|
||||
return {"asset_id": asset.get("name"), "message": "Asset registered"}
|
||||
|
||||
|
||||
@router.get("/{asset_id}")
|
||||
@@ -155,26 +155,27 @@ async def record_run(
|
||||
import db
|
||||
|
||||
# Create asset for output
|
||||
asset_id = await db.create_asset(
|
||||
username=user["username"],
|
||||
name=f"{req.recipe}-{req.run_id[:8]}",
|
||||
content_hash=req.output_hash,
|
||||
ipfs_cid=req.ipfs_cid,
|
||||
asset_type="render",
|
||||
metadata={
|
||||
asset = await db.create_asset({
|
||||
"owner": user["username"],
|
||||
"name": f"{req.recipe}-{req.run_id[:8]}",
|
||||
"content_hash": req.output_hash,
|
||||
"ipfs_cid": req.ipfs_cid,
|
||||
"asset_type": "render",
|
||||
"metadata": {
|
||||
"run_id": req.run_id,
|
||||
"recipe": req.recipe,
|
||||
"inputs": req.inputs,
|
||||
},
|
||||
provenance=req.provenance,
|
||||
)
|
||||
"provenance": req.provenance,
|
||||
})
|
||||
asset_id = asset.get("name") if asset else None
|
||||
|
||||
# Record run
|
||||
await db.record_run(
|
||||
run_id=req.run_id,
|
||||
username=user["username"],
|
||||
recipe=req.recipe,
|
||||
inputs=req.inputs,
|
||||
inputs=req.inputs or [],
|
||||
output_hash=req.output_hash,
|
||||
ipfs_cid=req.ipfs_cid,
|
||||
asset_id=asset_id,
|
||||
@@ -235,7 +236,7 @@ async def publish_asset(
|
||||
# Pin to IPFS
|
||||
cid = await ipfs_client.add_bytes(resp.content)
|
||||
if cid:
|
||||
await db.update_asset(asset_id, ipfs_cid=cid)
|
||||
await db.update_asset(asset_id, {"ipfs_cid": cid})
|
||||
return {"ipfs_cid": cid, "published": True}
|
||||
except Exception as e:
|
||||
logger.warning(f"Failed to fetch from {l1_url}: {e}")
|
||||
|
||||
Reference in New Issue
Block a user