**Description:** Allow project owners to upload a cover image for their campaign. **Tasks:** - [ ] Create `POST /api/projects/:id/cover-image` - [ ] Require ownership or admin role - [ ] Accept `image/jpeg`, `image/png`, max 5MB - [ ] Save file path/URL to the project document **Acceptance Criteria:** Cover image is saved; wrong file type or size returns `400`. ---
Description:
Allow project owners to upload a cover image for their campaign.
Tasks:
POST /api/projects/:id/cover-imageimage/jpeg,image/png, max 5MBAcceptance Criteria:
Cover image is saved; wrong file type or size returns
400.