Goal:
Allow authors to replace an existing ebook instead of stacking multiple uploads.
What to do:
- Before uploading a new ebook:
- fetch existing ebook
- delete old file from storage
- delete or update old DB row
- Then upload new file normally
Key areas:
- uploadEbook() in ebookService.js
Notes:
Prevents multiple ebook rows per campaign
Keeps storage clean
Goal:
Allow authors to replace an existing ebook instead of stacking multiple uploads.
What to do:
Key areas:
Notes:
Prevents multiple ebook rows per campaign
Keeps storage clean