188 Commits

Author SHA1 Message Date
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
048f8ba248
move fs_size_bytes back to db 2025-08-19 19:38:56 -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
Michael Manganiello
00d7815889
fix: Improve performance on asset screenshot retrieval
When retrieving the related screenshot for a `Save` or `State`, we were
retrieving a very heavy representation of the associated `Rom` object,
only to iterate through its screenshots to find the one we needed.

This change modifies the `Save` and `State` models to directly query the
`Screenshot` model, which is much faster and more efficient. The
`DBScreenshotsHandler` has been updated to include a new `filter` method
that will simplify building queries using SQLAlchemy, something we can
extend to other handlers in the future.

Fixes #1925.
2025-08-10 15:33:13 -03: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
Georges-Antoine Assi
2ee370b822
[ROMM-1868] Fix grouping by metadata rows 2025-08-04 17:58:20 -04:00
Georges-Antoine Assi
03c8eede8b
Merge branch 'master' into smart-collections 2025-08-02 00:30:58 -04:00
Georges-Antoine Assi
4e2bde2aef
Merge branch 'master' into universal-slugs 2025-08-01 21:51:40 -04:00
Georges-Antoine Assi
a1921307db
add cd-i support for emujs 2025-07-30 23:43:09 -04:00
Georges-Antoine Assi
1a57ff2c6b
complete cycle of creation 2025-07-25 17:24:38 -04:00
Georges-Antoine Assi
2a8fec94e6
update smart collection model 2025-07-25 16:27:10 -04:00
Georges-Antoine Assi
8ddc654c17
update with fixed ids 2025-07-25 15:44:49 -04:00
Georges-Antoine Assi
b693f056e4
[ROMM-2127] Add missing ssfr platform and fix IDs 2025-07-25 09:44:03 -04:00
Georges-Antoine Assi
9fd1adbbfb
fixup icon names 2025-07-24 23:20:07 -04:00
Georges-Antoine Assi
595c52bcab
Unify singular slugs 2025-07-23 21:52:52 -04:00
Georges-Antoine Assi
526685b479
more work on frontend 2025-07-22 18:47:38 -04:00
Georges-Antoine Assi
f7b030ba10
get backend working sorta 2025-07-22 18:10:12 -04:00
Georges-Antoine Assi
75b8181451
start work on smart collections 2025-07-22 15:49:43 -04:00
Georges-Antoine Assi
5d6ae2c842
stop overwriting IDs on scan 2025-07-14 10:31:19 -04:00
Michael Manganiello
252722e3bc
misc: Apply pyupgrade changes for Python 3.12 compatibility
Command applied:
```
find ./backend/ -type f -name "*.py" -exec pyupgrade --py312-plus {} \;
```
2025-06-29 12:27:16 -03:00
Michael Manganiello
57f1f2a013
misc: Remove unused methods from Roms handler
These methods are no longer used in the codebase and have been removed
to clean up the code.
2025-06-25 09:31:01 -03:00
Michael Manganiello
3f9957ab40
fix: Query filters and boolean default values 2025-06-19 14:20:52 -03:00
Michael Manganiello
fb8f234ba4
misc: Remove deprecated boolean parameters from get_roms endpoint
These parameters were replaced by optional versions that allow for more
flexibility. This change removes code already marked as deprecated.
2025-06-19 13:54:47 -03:00
zurdi
a4c60e73a1
fix: update linter versions and improve query filter logic in roms_handler 2025-06-18 16:29:07 +00:00
Zurdi
08682d4f9a
Update backend/handler/database/roms_handler.py
Co-authored-by: Copilot <175728472+Copilot@users.noreply.github.com>
2025-06-18 18:23:51 +02:00
zurdi
b08ac38207
add: verified filter 2025-06-18 13:29:35 +00:00
Georges-Antoine Assi
56117e8105
really fix it this time 2025-06-13 22:27:36 -04:00
Georges-Antoine Assi
318661bc45
Merge branch 'master' into romm-403 2025-06-13 11:51:45 -04:00
zurdi
8370b79a83
feat: add 'missing_from_fs' property to various schemas and update related logic for better tracking of missing files 2025-06-12 22:18:06 +00:00
Georges-Antoine Assi
e7cfd02d24
Merge branch 'master' into romm-403 2025-06-12 09:57:57 -04:00
zurdi
fdb795dff1
feat: add missing filter options in API and database handlers for ROMs 2025-06-12 13:41:19 +00:00
zurdi
8b0a06c3e6
feat: add 'missing' column to multiple tables and update related handlers for missing entries 2025-06-12 12:20:56 +00:00
zurdi
dab9421ec6
fix: update rom missing status handling in scan and platform handlers 2025-06-12 08:11:08 +00:00
zurdi
b52ea89115
feat: add 'missing' flag to platforms and roms, update related handlers and schemas 2025-06-12 01:20:20 +00:00
Michael Manganiello
47a7f84b9a
feat: Use optional flags instead of booleans for Rom filtering
This change replaces boolean flags for filtering Roms with optional
flags. This allows clients to specify whether they want to include
or exclude certain types of Roms, such as matched, favourite,
duplicate, or playable.

The boolean flags are still supported for backwards compatibility,
but they are marked as deprecated. Clients should transition to
using the new optional flags in future versions.

The main reason for this change is to allow the exclusion of certain
results, without the need to add additional boolean flags, which are
also confusing if both its `True` and `False` values are used within
the same request.
2025-06-10 00:19:21 -03:00
Georges-Antoine Assi
3278672661
Merge branch 'master' into romm-403 2025-05-23 20:02:45 -04:00