34 lines
1010 B
Python
34 lines
1010 B
Python
"""S3 response shapes. Plain dicts only — no DB, no Depends."""
|
|
|
|
|
|
def serialize_upload(result: dict) -> dict:
|
|
"""upload result → API dict (permanent url, never a presign)."""
|
|
return {
|
|
"bucket": result.get("bucket"),
|
|
"key": result.get("key"),
|
|
"url": result.get("url"),
|
|
"content_type": result.get("content_type"),
|
|
"size": result.get("size"),
|
|
"filename": result.get("filename"),
|
|
"source": result.get("source"),
|
|
"record_id": result.get("record_id"),
|
|
"owner_id": result.get("owner_id"),
|
|
}
|
|
|
|
|
|
def serialize_delete(result: dict) -> dict:
|
|
return {
|
|
"bucket": result.get("bucket"),
|
|
"key": result.get("key"),
|
|
"deleted": bool(result.get("deleted")),
|
|
}
|
|
|
|
|
|
def serialize_health(result: dict) -> dict:
|
|
return {
|
|
"status": result.get("status") or "ok",
|
|
"bucket": result.get("bucket"),
|
|
"region": result.get("region"),
|
|
"public_base_url": result.get("public_base_url"),
|
|
}
|