Files
FrenoCorp/tasks/FRE-31.yaml
2026-03-09 09:21:48 -04:00

39 lines
1.3 KiB
YAML

---
date: 2026-03-08
day_of_week: Sunday
task_id: FRE-31
title: Implement File Upload with S3/minio Storage
status: in_progress
company_id: FrenoCorp
objective: Add actual file upload support to web platform with S3/minio storage integration
context: |
- Dashboard currently accepts file selection but only sends metadata
- Need to implement actual file upload with multipart form data
- S3/minio integration for production, graceful fallback for local development
issue_type: feature
priority: high
assignee: Atlas
parent_task: FRE-32
goal_id: MVP_Pipeline_Working
blocking_tasks: [FRE-11, FRE-12]
expected_outcome: |
- Files uploaded to S3/minio storage (or in-memory fallback)
- Job records store file URLs instead of just IDs
- Workers can access uploaded files via URL
acceptance_criteria:
- File upload works with multipart form data
- S3 integration when credentials configured
- Graceful fallback when S3 not available
- 100MB file size limit enforced
notes:
- Added @aws-sdk/client-s3 and @aws-sdk/lib-storage packages
- Created storage.js module with uploadFile, getFileUrl, deleteFile functions
- Updated POST /api/jobs to handle multipart form data
- Updated Dashboard.jsx to send actual files via FormData
- In-memory fallback logs warning but allows local testing
links:
web_codebase: /home/mike/code/AudiobookPipeline/web/
---