{ "kind": "open-flow-workflow", "version": 1, "name": "Dropbox Public Image Archive", "content": { "modelVersion": 14, "document": { "bindings": {}, "graph": { "nodes": { "n_f227fd0c28395b8d": { "name": "Archive a public image", "kind": "start", "inputDefs": [] }, "n_f9e26343c33265a9": { "inputs": { "path": { "kind": "value", "value": "/n8n" }, "autorename": { "kind": "value", "value": false } }, "name": "Create Dropbox folder", "kind": "task", "task": { "inputs": [ { "description": "A Dropbox path, file ID, revision ID, or namespace-relative path.", "jsonSchema": { "type": "string", "description": "A Dropbox path, file ID, revision ID, or namespace-relative path." }, "nullable": false, "handle": "path" }, { "description": "Whether Dropbox should autorename on conflict.", "jsonSchema": { "type": "boolean", "description": "Whether Dropbox should autorename on conflict." }, "nullable": true, "handle": "autorename", "value": null } ], "outputs": [ { "description": "A normalized Dropbox metadata or shared-link record.", "jsonSchema": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": false, "handle": "metadata" } ], "name": "Create Dropbox folder", "executor": { "kind": "connector", "action": "dropbox.create_folder" } } }, "n_8e8b69ac483bc12c": { "inputs": { "folder": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_f9e26343c33265a9", "output": "metadata" } ] } }, "name": "Set image destination", "kind": "task", "task": { "inputs": [ { "jsonSchema": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": false, "handle": "folder" } ], "outputs": [ { "jsonSchema": { "type": "string" }, "nullable": false, "handle": "path" }, { "jsonSchema": { "type": "string" }, "nullable": false, "handle": "folderPath" } ], "name": "Set image destination", "moduleId": "n_f0387ef3040a27e5", "capabilities": [ { "kind": "connector", "mode": "independent", "actions": [] } ] } }, "n_884e93c2dce22830": { "inputs": { "path": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_8e8b69ac483bc12c", "output": "path" } ] }, "url": { "kind": "value", "value": "https://n8n.io/n8n-logo.png" } }, "name": "Save public image", "kind": "task", "task": { "inputs": [ { "description": "The Dropbox destination path for the saved URL.", "jsonSchema": { "type": "string", "description": "The Dropbox destination path for the saved URL." }, "nullable": false, "handle": "path" }, { "description": "The publicly reachable URL Dropbox should save.", "jsonSchema": { "type": "string", "format": "uri", "description": "The publicly reachable URL Dropbox should save." }, "nullable": false, "handle": "url" } ], "outputs": [ { "description": "The Dropbox save_url result tag.", "jsonSchema": { "type": "string", "description": "The Dropbox save_url result tag." }, "nullable": false, "handle": "tag" }, { "description": "The async job ID when Dropbox continues in background.", "jsonSchema": { "type": [ "string", "null" ], "description": "The async job ID when Dropbox continues in background." }, "nullable": true, "handle": "asyncJobId" }, { "description": "A normalized Dropbox metadata or shared-link record.", "jsonSchema": { "type": [ "object", "null" ], "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": true, "handle": "metadata" }, { "description": "Dropbox failure details when the job failed.", "jsonSchema": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Dropbox failure details when the job failed." }, "nullable": true, "handle": "failure" } ], "name": "Save public image", "executor": { "kind": "connector", "action": "dropbox.save_url" } } }, "n_d5c1d6fd8666fa69": { "inputs": { "tag": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_884e93c2dce22830", "output": "tag" } ] }, "asyncJobId": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_884e93c2dce22830", "output": "asyncJobId" } ] }, "metadata": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_884e93c2dce22830", "output": "metadata" } ] }, "timeoutMs": { "kind": "value", "value": 60000 }, "pollIntervalMs": { "kind": "value", "value": 1000 } }, "name": "Confirm image saved", "timeoutMs": 90000, "kind": "task", "task": { "inputs": [ { "jsonSchema": { "type": "string", "description": "The Dropbox save_url result tag." }, "nullable": false, "handle": "tag" }, { "jsonSchema": { "type": [ "string", "null" ], "description": "The async job ID when Dropbox continues in background." }, "nullable": true, "handle": "asyncJobId" }, { "jsonSchema": { "type": [ "object", "null" ], "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": true, "handle": "metadata" }, { "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 60000 }, "nullable": false, "handle": "timeoutMs" }, { "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 60000 }, "nullable": false, "handle": "pollIntervalMs" } ], "outputs": [ { "jsonSchema": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": false, "handle": "metadata" } ], "name": "Confirm image saved", "moduleId": "n_158199ea162d0b35", "capabilities": [ { "kind": "connector", "mode": "independent", "actions": [ { "action": "dropbox.save_url_check_job_status" } ] } ] } }, "n_7618e604049d527c": { "inputs": { "path": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_8e8b69ac483bc12c", "output": "folderPath" } ] }, "limit": { "kind": "value", "value": 100 }, "recursive": { "kind": "value", "value": false }, "includeDeleted": { "kind": "value", "value": false } }, "name": "List saved folder", "kind": "task", "task": { "inputs": [ { "description": "The folder path to list. Leave empty or omit it to list the root folder.", "jsonSchema": { "type": "string", "description": "The folder path to list. Leave empty or omit it to list the root folder." }, "nullable": true, "handle": "path", "value": null }, { "description": "Whether to list subfolders recursively.", "jsonSchema": { "type": "boolean", "description": "Whether to list subfolders recursively." }, "nullable": true, "handle": "recursive", "value": null }, { "description": "Whether deleted entries should be included.", "jsonSchema": { "type": "boolean", "description": "Whether deleted entries should be included." }, "nullable": true, "handle": "includeDeleted", "value": null }, { "description": "Whether mounted folders should be included in the response.", "jsonSchema": { "type": "boolean", "description": "Whether mounted folders should be included in the response." }, "nullable": true, "handle": "includeMountedFolders", "value": null }, { "description": "Whether Dropbox should include explicit shared-member flags when available.", "jsonSchema": { "type": "boolean", "description": "Whether Dropbox should include explicit shared-member flags when available." }, "nullable": true, "handle": "includeHasExplicitSharedMembers", "value": null }, { "description": "The maximum number of entries to return per page.", "jsonSchema": { "type": "integer", "minimum": 1, "maximum": 2000, "description": "The maximum number of entries to return per page." }, "nullable": true, "handle": "limit", "value": null } ], "outputs": [ { "description": "The Dropbox entries returned in this page.", "jsonSchema": { "type": "array", "items": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "description": "The Dropbox entries returned in this page." }, "nullable": false, "handle": "entries" }, { "description": "The cursor for continuing the listing.", "jsonSchema": { "type": "string", "description": "The cursor for continuing the listing." }, "nullable": false, "handle": "cursor" }, { "description": "Whether more entries are available.", "jsonSchema": { "type": "boolean", "description": "Whether more entries are available." }, "nullable": false, "handle": "hasMore" } ], "name": "List saved folder", "executor": { "kind": "connector", "action": "dropbox.list_folder" } } }, "n_5c8b600bbee0b22b": { "name": "Saved image and folder", "kind": "outputs", "outputDefs": [ { "jsonSchema": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "nullable": false, "handle": "file" }, { "jsonSchema": { "type": "array", "items": { "type": "object", "properties": { "tag": { "type": "string", "description": "The Dropbox metadata tag such as file, folder, or deleted." }, "name": { "type": "string", "description": "The Dropbox item name." }, "id": { "type": [ "string", "null" ], "description": "The Dropbox item ID when available." }, "pathDisplay": { "type": [ "string", "null" ], "description": "The user-facing cased path when available." }, "pathLower": { "type": [ "string", "null" ], "description": "The lower-cased full path when available." }, "clientModified": { "type": [ "string", "null" ], "description": "The client-provided modification timestamp in ISO 8601 format when available." }, "serverModified": { "type": [ "string", "null" ], "description": "The server-side modification timestamp in ISO 8601 format when available." }, "rev": { "type": [ "string", "null" ], "description": "The Dropbox file revision when available." }, "sizeBytes": { "type": [ "integer", "null" ], "description": "The file size in bytes when available." }, "isDownloadable": { "type": [ "boolean", "null" ], "description": "Whether the file can be downloaded directly." }, "contentHash": { "type": [ "string", "null" ], "description": "The Dropbox content hash when available." }, "url": { "type": [ "string", "null" ], "description": "The shared link URL when available." }, "expiresAt": { "type": [ "string", "null" ], "description": "The shared link expiration timestamp in ISO 8601 format when available." }, "sharingInfo": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "A generic JSON object returned by Dropbox." }, "hasExplicitSharedMembers": { "type": [ "boolean", "null" ], "description": "Whether the file has explicit members, when requested in the listing." }, "linkPermissions": { "type": [ "object", "null" ], "properties": {}, "additionalProperties": true, "description": "Shared-link permission metadata when Dropbox includes it." } }, "required": [ "tag", "name", "id", "pathDisplay", "pathLower", "clientModified", "serverModified", "rev", "sizeBytes", "isDownloadable", "contentHash", "url", "expiresAt", "sharingInfo", "hasExplicitSharedMembers", "linkPermissions" ], "additionalProperties": false, "description": "A normalized Dropbox metadata or shared-link record." }, "description": "The Dropbox entries returned in this page." }, "nullable": false, "handle": "entries" }, { "jsonSchema": { "type": "string", "description": "The cursor for continuing the listing." }, "nullable": false, "handle": "cursor" }, { "jsonSchema": { "type": "boolean", "description": "Whether more entries are available." }, "nullable": false, "handle": "hasMore" } ], "outputMappings": { "file": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_d5c1d6fd8666fa69", "output": "metadata" } ] }, "entries": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_7618e604049d527c", "output": "entries" } ] }, "cursor": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_7618e604049d527c", "output": "cursor" } ] }, "hasMore": { "kind": "sources", "sources": [ { "kind": "node", "nodeId": "n_7618e604049d527c", "output": "hasMore" } ] } } } }, "edges": [ { "source": "n_f227fd0c28395b8d", "target": "n_f9e26343c33265a9" }, { "source": "n_f9e26343c33265a9", "target": "n_8e8b69ac483bc12c" }, { "source": "n_8e8b69ac483bc12c", "target": "n_884e93c2dce22830" }, { "source": "n_884e93c2dce22830", "target": "n_d5c1d6fd8666fa69" }, { "source": "n_d5c1d6fd8666fa69", "target": "n_7618e604049d527c" }, { "source": "n_7618e604049d527c", "target": "n_5c8b600bbee0b22b" } ] } }, "modules": { "n_f0387ef3040a27e5": { "name": "Set image destination", "imports": [], "source": "export default function cloudImagePath({ folder }) {\n if (typeof folder.pathDisplay !== 'string' || !folder.pathDisplay.startsWith('/')) throw new Error('Dropbox returned no folder path');\n return { path: folder.pathDisplay.replace(/\\/$/, '') + '/file.png', folderPath: folder.pathDisplay };\n}\n" }, "n_158199ea162d0b35": { "name": "Confirm image saved", "imports": [], "source": "import { setTimeout as delay } from 'node:timers/promises';\n\nexport default async function confirmSavedUrl({ tag, asyncJobId, metadata, timeoutMs, pollIntervalMs }, context) {\n const started = Date.now();\n if (tag === 'complete') {\n if (metadata?.tag !== 'file') throw new Error('Dropbox did not return completed file metadata');\n return { metadata };\n }\n if (tag === 'failed') throw new Error('Dropbox could not save the URL');\n if (tag !== 'async_job_id' || typeof asyncJobId !== 'string' || !asyncJobId.trim()) throw new Error('Dropbox returned an invalid save request');\n while (Date.now() - started < timeoutMs) {\n const result = await context.actions.dropbox.save_url_check_job_status({ asyncJobId });\n if (result.tag === 'complete') {\n if (result.metadata?.tag !== 'file') throw new Error('Dropbox did not return completed file metadata');\n return { metadata: result.metadata };\n }\n if (result.tag === 'failed') throw new Error('Dropbox could not save the URL');\n if (result.tag !== 'in_progress') throw new Error('Dropbox returned an unknown job status');\n const remaining = timeoutMs - (Date.now() - started);\n if (remaining > 0) await delay(Math.min(pollIntervalMs, remaining), undefined, { signal: context.signal });\n }\n throw new Error('Dropbox save is still pending; check the job before retrying');\n}\n" } } }, "presentation": { "designer": { "version": 1, "flow": { "direction": "vertical" } } } }