{"updatedAt":"2025-11-09T01:07:24.000Z","createdAt":"2025-11-09T01:07:22.434Z","id":"sX7MHsGcdrgwnpEJ","name":"Initial Files Fetch","active":true,"isArchived":false,"nodes":[{"parameters":{"httpMethod":"POST","path":"initial-webhook","options":{}},"id":"fa0f7ec1-4d72-4872-8181-612f727ddcd0","name":"Initial Webhook","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[0,-224],"webhookId":"initial-webhook-id"},{"parameters":{"functionCode":"const inputData = items[0].json;\nconst start = new Date(inputData.start);\nconst end = new Date(inputData.end);\nconst fs = require('fs');\nconst dir = '/mnt/data/public/files';\nlet files;\ntry {\n  files = fs.readdirSync(dir);\n} catch (error) {\n  throw new Error('Error reading directory: ' + error.message);\n}\nconst filtered = files.filter(file => {\n  const timestampStr = file.split('_')[0]; // Adjust based on actual filename format\n  const fileTime = new Date(timestampStr);\n  return !isNaN(fileTime.getTime()) && fileTime >= start && fileTime <= end;\n});\nconst baseUrl = 'http://your-server/files/'; // Replace with your actual server URL\nconst result = filtered.map(file => ({\n  fileName: file,\n  fileUrl: baseUrl + file,\n  thumbnailUrl: baseUrl + file // Use file URL for thumbnail; adjust if needed\n}));\nreturn result.map(r => ({ json: r }));\n"},"id":"075f9439-553c-40cd-89cd-bc6fc7190d53","name":"List Files","type":"n8n-nodes-base.function","typeVersion":1,"position":[224,-224]}],"connections":{"Initial Webhook":{"main":[[{"node":"List Files","type":"main","index":0}]]}},"settings":{"executionOrder":"v1"},"staticData":null,"meta":null,"pinData":{},"versionId":"46f1fcad-e0a3-4577-b076-b8d50b36da91","activeVersionId":"46f1fcad-e0a3-4577-b076-b8d50b36da91","triggerCount":1,"shared":[{"updatedAt":"2025-11-09T01:07:22.436Z","createdAt":"2025-11-09T01:07:22.436Z","role":"workflow:owner","workflowId":"sX7MHsGcdrgwnpEJ","projectId":"lh2csO3ZG7MzpN8o"}],"activeVersion":{"updatedAt":"2025-11-27T21:37:34.259Z","createdAt":"2025-11-27T21:37:34.259Z","versionId":"46f1fcad-e0a3-4577-b076-b8d50b36da91","workflowId":"sX7MHsGcdrgwnpEJ","nodes":[{"parameters":{"httpMethod":"POST","path":"initial-webhook","options":{}},"id":"fa0f7ec1-4d72-4872-8181-612f727ddcd0","name":"Initial Webhook","type":"n8n-nodes-base.webhook","typeVersion":1,"position":[0,-224],"webhookId":"initial-webhook-id"},{"parameters":{"functionCode":"const inputData = items[0].json;\nconst start = new Date(inputData.start);\nconst end = new Date(inputData.end);\nconst fs = require('fs');\nconst dir = '/mnt/data/public/files';\nlet files;\ntry {\n  files = fs.readdirSync(dir);\n} catch (error) {\n  throw new Error('Error reading directory: ' + error.message);\n}\nconst filtered = files.filter(file => {\n  const timestampStr = file.split('_')[0]; // Adjust based on actual filename format\n  const fileTime = new Date(timestampStr);\n  return !isNaN(fileTime.getTime()) && fileTime >= start && fileTime <= end;\n});\nconst baseUrl = 'http://your-server/files/'; // Replace with your actual server URL\nconst result = filtered.map(file => ({\n  fileName: file,\n  fileUrl: baseUrl + file,\n  thumbnailUrl: baseUrl + file // Use file URL for thumbnail; adjust if needed\n}));\nreturn result.map(r => ({ json: r }));\n"},"id":"075f9439-553c-40cd-89cd-bc6fc7190d53","name":"List Files","type":"n8n-nodes-base.function","typeVersion":1,"position":[224,-224]}],"connections":{"Initial Webhook":{"main":[[{"node":"List Files","type":"main","index":0}]]}},"authors":"system migration","name":null,"description":null,"autosaved":false},"tags":[]}