AOSSIE-Org / AOSSIE-Org/PictoPy

[Bug] Performance Issue: toggle-favourite fetches ALL images instead of single image lookup

Open
#805 7 comments 1 reaction 1 assignee Claimed by @Nithin9585 View on GitHub
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

Open the contributing guide

Assessment

This issue has not been assessed yet.

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.