🔪 Extraction Target
Extract all file operations from the 19,843-line index.mjs into a focused FileService class. Direct transfer.
📁 Methods to Extract
// All of these get ripped out and moved to FileService
uploadFile()
downloadFile()
deleteFile()
getFiles()
// ... and any other file-related methods
🎯 Definition of Done
⚡ Implementation
// services/FileService.js
export class FileService extends BaseService {
async uploadFile(entity, entityId, fileName, fileData) {
// Direct copy from index.mjs - no changes
}
async downloadFile(group, fileName) {
// Direct copy from index.mjs - no changes
}
// ... rest of file methods
}
🚫 NOT in Scope
- Backward compatibility
- Deprecation warnings
- Proxy methods in GrocyClient
- Changing method signatures
- Adding new features
💀 Breaking Changes
Yes. Move forward.
Related to
Parent issue: #11
🔪 Extraction Target
Extract all file operations from the 19,843-line index.mjs into a focused FileService class. Direct transfer.
📁 Methods to Extract
🎯 Definition of Done
services/FileService.jsextending BaseService⚡ Implementation
🚫 NOT in Scope
💀 Breaking Changes
Yes. Move forward.
Related to
Parent issue: #11