Skip to content

Middleware Backend — File manager

Folder: src/routes/file-manager/ (already on main)
Mount: api/v1/nellalink/file-manager
Status: live.

Middleware Backend · winner · live

POST https://middleware-dev.bookdirect.live/api/v1/nellalink/file-manager/aws/upload-url

POST https://middleware-dev.bookdirect.live/api/v1/nellalink/file-manager/aws/download-url

Explorer: Middleware Backend docs

Upload URL

http
Authorization: Bearer {access_token}
Content-Type: application/json
json
{
  "files": [
    {
      "file_name": "cover.jpg",
      "file_type": "image/jpeg",
      "file_size": 240000,
      "visibility": "public"
    }
  ]
}

PUT bytes to the presigned URL. Then save the public URL on Core Backend (entity_featured_url or extra_data.gallery_urls).

This route already looks up the Core Backend user:

GET {ROUTE_FILE_MANAGER_BACKEND_BASEURL}/v1/nellalink/user/{uuid} with x-api-key.

IDOR

Do not allow user_uuid in the body to impersonate another user. Bind uploads to the JWT uuid. Private objects must not be downloadable with a guessed key.

API-first. Middleware Backend wins over Core Backend when both exist.