AOSSIE-Org / AOSSIE-Org/PictoPy
[Bug] Performance Issue: toggle-favourite fetches ALL images instead of single image lookup
Open
backend
enhancement
- Dominant language
- Python
- Stars
- 283
- Forks
- 679
- Avg merge
- 7d 2h
- Merged PRs (30d)
- 3
Description
The `/images/toggle-favourite` endpoint has a significant performance issue. When toggling the favourite status of a single image, the code fetches **ALL images** from the database and then iterates through them to find the one image needed.
This is an O(n) operation when it should be O(1).
## Location
**File:** [backend/app/routes/images.py](cci:7://file:///c:/Users/Nithi/OneDrive/Desktop/gsoc/PictoPy/backend/app/routes/images.py:0:0-0:0) (Lines 108-110)
## Current Code (Problematic)
```python
# Fetch updated status to return
image = next(
(img for img in db_get_all_images() if img["id"] == image_id), None
)
Contributor guide
Assessment
This issue has not been assessed yet.