🔪 Extraction Target
Extract all battery-related operations from the 19,843-line index.mjs into a focused BatteryService class. Pure extraction.
📁 Methods to Extract
// All of these get ripped out and moved to BatteryService
getBatteries()
getBattery()
createBattery()
updateBattery()
deleteBattery()
trackBatteryCharge()
getBatteryDetails()
// ... and any other battery-related methods
🎯 Definition of Done
⚡ Implementation
// services/BatteryService.js
export class BatteryService extends BaseService {
async getBatteries() {
// Direct copy from index.mjs - no changes
}
async trackBatteryCharge(batteryId, chargedDate) {
// Direct copy from index.mjs - no changes
}
// ... rest of battery methods
}
🚫 NOT in Scope
- Backward compatibility
- Deprecation warnings
- Proxy methods in GrocyClient
- Changing method signatures
- Adding new features
💀 Breaking Changes
Yes. Update your code.
Related to
Parent issue: #11
🔪 Extraction Target
Extract all battery-related operations from the 19,843-line index.mjs into a focused BatteryService class. Pure extraction.
📁 Methods to Extract
🎯 Definition of Done
services/BatteryService.jsextending BaseService⚡ Implementation
🚫 NOT in Scope
💀 Breaking Changes
Yes. Update your code.
Related to
Parent issue: #11