Commit Graph

159 Commits

Author SHA1 Message Date
zurdi
b2a571068b Refactor: remove max_length constraints from query parameters and update boolean filter values to use true/false strings 2025-11-28 19:04:29 +00:00
zurdi
ca07580484 Refactor: streamline filter application logic and enhance multi-value support across API and frontend components 2025-11-28 16:26:54 +00:00
zurdi
a079613be2 Refactor platform filtering logic: simplify filter_by_platform_ids method by removing match_all parameter and redundant AND logic 2025-11-27 22:56:14 +00:00
zurdi
c1d43f67f8 Refactor ROM retrieval to support multi-value platform filtering across various handlers and endpoints 2025-11-27 22:52:33 +00:00
zurdi
b4dd08d7b4 Refactor platform filtering logic: remove single platform ID and logic operator parameters, streamline multi-platform handling in API and frontend components. 2025-11-27 20:13:29 +00:00
zurdi
937ba54077 Implement multi-value platform filtering with logic operators in ROMs API and frontend components 2025-11-27 19:55:28 +00:00
zurdi
85e4f0a433 Enhance multi-value filter functionality with logic operators for genres, franchises, collections, companies, age ratings, regions, and languages. Update API and frontend components to support new filter states and logic. Refactor gallery filter store and API service to accommodate multi-value selections and maintain backward compatibility with single-value filters. Improve UI for filter options in the gallery app, including logic toggle buttons for better user interaction. 2025-11-27 19:19:09 +00:00
zurdi
c6717ee635 Refactor gallery filter components to use toggle buttons for filter states, allowing null values for all filters. Update filter logic in the store and API services to accommodate new states. Enhance UI for better visibility and interaction with filter options in the gallery app. 2025-11-27 12:56:01 +00:00
zurdi
1cec07af11 Merge branch 'master' into feat/rom-filter-multivalue 2025-11-26 22:07:53 +00:00
Zurdi
4a73458775 Update backend/handler/database/roms_handler.py
Co-authored-by: gemini-code-assist[bot] <176961590+gemini-code-assist[bot]@users.noreply.github.com>
2025-11-26 14:47:49 +01:00
zurdi
7dc5f375e5 implement endpoint to retrieve ROM by various metadata IDs and add corresponding API method 2025-11-26 12:38:43 +00:00
zurdi
91e3dfb1bb feat: add RomNote import to roms_handler for enhanced functionality 2025-11-21 14:20:10 +00:00
zurdi
d48be2f37c Merge branch 'master' into feat/rom-filter-multivalue 2025-11-21 14:11:07 +00:00
zurdi
19b0c2ab6b feat: update note management to use default query parameters and improve tag filtering 2025-11-20 17:54:33 +00:00
zurdi
03083d4b69 feat: implement multi-note management with CRUD operations and database migration 2025-11-20 15:38:11 +00:00
Georges-Antoine Assi
9a0b37dcfa add puredos to hasheous matches 2025-11-01 10:48:46 -04:00
Georges-Antoine Assi
f30f0bfd75 Smarter detection of whether to scan roms 2025-10-26 13:21:56 -04:00
Georges-Antoine Assi
81702a4bbd Add endpoint for ps3 pkgi 2025-10-19 11:16:32 -04:00
Georges-Antoine Assi
1c84f84948 globally rename favourite to favorite 2025-10-18 14:26:20 -04:00
Georges-Antoine Assi
341332d98e mark favorites collection explicit 2025-10-18 13:42:03 -04:00
Georges-Antoine Assi
97ed8072dd add is_favorite migration 2025-10-18 13:27:19 -04:00
Georges-Antoine Assi
46c6fde3d1 [ROMM-2490] Multi download endpoint 2025-09-30 11:23:48 -04:00
Georges-Antoine Assi
e349ce6104 changes from bot review 2025-09-21 20:51:30 -04:00
Georges-Antoine Assi
b3a1b6a361 add to example config 2025-09-21 19:23:20 -04:00
Georges-Antoine Assi
3c4113f8a8 Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Michael Manganiello
5a1f7d8170 feat: Initial support for multi-value ROM filters
This change converts the existing single-value ROM filter parameters
to support multiple values. Users can now filter ROMs by multiple genres,
franchises, collections, companies, age ratings, regions, and languages by
repeating the respective query parameters in API requests.

At the moment, setting multiple values for a filter will return ROMs
that match any of the provided values (logical OR). A future change can
introduce parameters like `genres_all (boolean)` to allow filtering ROMs
that match all specified values (logical AND).

The frontend has been updated to send single-value filters as arrays
to maintain compatibility with existing UI components. At the moment,
the UI does not support selecting multiple values, but this change
lays the groundwork for it.

NOTE: Breaking API change, as the filter parameters have changed names.
2025-09-09 00:21:55 -03:00
Michael Manganiello
336b3d58c1 fix: Database JSON array utils
Fix existing JSON array util `json_array_contains_value`, and add two
new utils: `json_array_contains_any` and `json_array_contains_all`.
These utils have been tested with arrays of strings and integers, on the
following database engine versions:

- PostgreSQL: 12, 13, 14, 15, 16, 17, 18
- MySQL: 8.0, 8.4, 9.0, 9.4
- MariaDB: 10.5, 10.6, 10.11, 11.4, 11.8, 12.0
2025-09-08 21:39:46 -03:00
Michael Manganiello
e4e3928d1b misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Georges-Antoine Assi
5d2daf7357 move into a function 2025-09-03 17:51:44 -04:00
Georges-Antoine Assi
33ee8d3a20 [ROMM-2342] Fix single roms display on postgres 2025-09-03 17:06:51 -04:00
Georges-Antoine Assi
ef2546ec08 fix base handler filename 2025-08-27 12:40:16 -04:00
Georges-Antoine Assi
bf0d864d84 Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Georges-Antoine Assi
b26abdf9a0 noload some related tables 2025-08-21 23:59:24 -04:00
Georges-Antoine Assi
474459c9d5 move group_id coalesce into partition_by 2025-08-20 18:52:55 -04:00
Georges-Antoine Assi
f32dc3171d ignore type issue 2025-08-20 13:50:12 -04:00
Georges-Antoine Assi
e73b6cc190 add option to skip char index 2025-08-20 13:27:26 -04:00
Georges-Antoine Assi
1c0c93bb3d select only some columns for performance 2025-08-20 11:20:02 -04:00
Georges-Antoine Assi
0cc9789a12 fix get_scalar_roms 2025-08-19 23:40:23 -04:00
Georges-Antoine Assi
464ce6a23d only group roms in certain views 2025-08-19 22:27:49 -04:00
Georges-Antoine Assi
7850cf059f fix loading collections 2025-08-19 21:49:52 -04:00
Georges-Antoine Assi
cde0c0681f changes from review 2025-08-19 17:07:05 -04:00
Georges-Antoine Assi
5a5abe4e62 changes from self review 2025-08-19 16:27:46 -04:00
Georges-Antoine Assi
7370f83b8f load sibling_roms for individual roms 2025-08-19 16:08:03 -04:00
Georges-Antoine Assi
0dadf8681e fix updating smart collections 2025-08-19 15:53:03 -04:00
Georges-Antoine Assi
25983fad3a comment cleanup 2025-08-19 14:46:56 -04:00
Georges-Antoine Assi
078b140ddb simplify group_id 2025-08-19 12:50:25 -04:00
Georges-Antoine Assi
13ac6104ce Raise lazy joins so all complex joins are explicit 2025-08-19 10:02:11 -04:00
Georges-Antoine Assi
4657ca305a [ROMM-2274] Use platform_id in group_by_meta_id 2025-08-18 19:51:37 -04:00
Georges-Antoine Assi
cf28e4fdb4 reorder grouping 2025-08-04 20:59:26 -04:00
Georges-Antoine Assi
6d500ff0e9 remove platform ID grouping 2025-08-04 20:56:26 -04:00