50 Commits

Author SHA1 Message Date
zurdi
8277868d01
Merge branch 'romm-1371' into refactor/component_extraction 2025-12-31 11:49:53 +00:00
zurdi
8c96584caa
Merge branch 'feat/rom-filter-multivalue' into refactor/component_extraction 2025-12-31 11:48:01 +00:00
Georges-Antoine Assi
bdc7c265f1
fix tests 2025-12-30 11:44:42 -05:00
Georges-Antoine Assi
f867968f37
refactor get_rom_files return value 2025-12-30 11:42:38 -05:00
Georges-Antoine Assi
0971026f95
Add support for version tag 2025-12-30 11:37:06 -05:00
zurdi
647e99fca7
Add last played filter to ROMs retrieval and update related tests 2025-12-30 12:53:12 +00:00
zurdi
ab637203ac
Merge branch 'master' into feat/rom-filter-multivalue 2025-12-24 12:39:45 +00:00
zurdi
cbe64ce29c
test: add tests for library structure detection in FSPlatformsHandler 2025-12-23 16:24:33 +00:00
zurdi
ecf4ae542f
fix: correct spelling of 'get_platform_fs_structure' in multiple files 2025-12-21 16:48:45 +00:00
Georges-Antoine Assi
76e67c7844
[HOTFIX] Catch RomsNotFoundException in scan file precalculation 2025-12-09 08:53:28 -05:00
Georges-Antoine Assi
f1fb0c726e
Disable fastapi_test 2025-12-07 10:40:07 -05: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
Georges-Antoine Assi
5018896396
Fix scan_rom tests 2025-11-26 15:54:12 -05:00
Georges-Antoine Assi
713bf4fff0
fix trunk check issues 2025-11-18 10:16:55 -05:00
Georges-Antoine Assi
ee39fe1aba
changes from bot review 2025-11-18 10:09:00 -05:00
Georges-Antoine Assi
d1824bf894
manually fix tests 2025-11-18 00:00:49 -05:00
Georges-Antoine Assi
6a1a344ba2
add tests for middlewares 2025-11-17 23:40:00 -05:00
sftwninja
9cd3649d8f fix: Fix comment from previous dummy test file 2025-11-17 03:03:00 -06:00
sftwninja
7581c0a8e8 fix: Address Gemini PR comments 2025-11-17 01:55:55 -06:00
sftwninja
90a5a66a12 Use internal SHA1 hash if CHD file is v5 2025-11-16 23:41:32 -06:00
Georges-Antoine Assi
cc309983ff
fix scrolling and test 2025-10-31 11:50:51 -04:00
Georges-Antoine Assi
438f514e76
fix tests 2025-10-28 11:38:57 -04:00
Georges-Antoine Assi
c1ac9a2133
fix screenshots dissapearing on scan 2025-10-28 11:00:45 -04:00
Georges-Antoine Assi
8975a7ed89
fix ra tests 2025-10-26 14:02:21 -04:00
Georges-Antoine Assi
c43dd85b86
Merge pull request #2563 from rommapp/romm-821
[ROMM-821] ES-DE gamelist.xml support
2025-10-23 17:20:18 -04:00
Georges-Antoine Assi
bbade3e40e
fix tests 2025-10-23 17:05:23 -04:00
Georges-Antoine Assi
90769bcb6f
fix file_extension in test 2025-10-23 11:14:10 -04:00
Georges-Antoine Assi
9a1f25426d
add tests 2025-10-23 11:12:17 -04:00
Georges-Antoine Assi
653d7851cb
fix tests 2025-10-21 14:39:45 -04:00
Georges-Antoine Assi
d48b2542b8
fix fixture 2025-10-18 18:20:24 -04:00
Georges-Antoine Assi
24a5acce5d
[ROMM-2552] Rom hashes should only include top-level nested files 2025-10-18 18:05:57 -04:00
Georges-Antoine Assi
5df6c914e8
fix tests 2025-10-05 11:15:38 -04:00
Michon van Dooren
240f348f92
Add support for OIDC role claim 2025-09-29 22:27:10 +02:00
Georges-Antoine Assi
35bfe9ed61
fix tests 2025-09-25 20:44:11 -04:00
Georges-Antoine Assi
b5776be475
Split rom.multi into more specific fields 2025-09-25 18:48:27 -04:00
Georges-Antoine Assi
485b02d1c9
fix scan test 2025-09-23 19:03:24 -04:00
Georges-Antoine Assi
debc6c4cab
run formatter 2025-09-11 22:35:19 -04:00
Georges-Antoine Assi
3c4113f8a8
Merge branch 'master' into flashpoint-metadata-handler 2025-09-11 21:27:48 -04:00
Michael Manganiello
e4e3928d1b
misc: Apply import sorting 2025-09-04 11:17:00 -03:00
Michael Manganiello
d216bad78b
misc: Add MetadataHandler's is_enabled method
Convert `MetadataHandler` to an abstract base class and add an
`is_enabled` class method that allows every metadata handler to
independently report whether it is enabled based on its configuration.

This avoids the need for global variables in the config module, allowing
us to change the enabled state of a metadata handler at runtime if
needed.
2025-09-03 22:13:28 -03:00
Michael Manganiello
b2ea84b5bb
misc: Create IGDB service adapter
Add a new service adapter for the IGDB API, to separate concerns with
RomM's handler for metadata. This adapter is agnostic to the handler and
only provides methods to interact with the API, and correctly return
typed responses.

The API authorization was also improved to not rely on decorating each
method that makes requests, but instead using an `aiohttp` middleware
to automatically add the required headers to each request.

Utils `mark_expanded` and `mark_list_expanded` where added to help
narrow the types of IGDB's expandable fields when we know they are
expanded, for `mypy` type checking.
2025-08-30 20:21:15 -03:00
Georges-Antoine Assi
382c4e4a25
remove test fle 2025-08-27 16:42:49 -04:00
Georges-Antoine Assi
410c65c544
add flashpoint metadata to roms_metadata 2025-08-27 16:30:03 -04:00
Georges-Antoine Assi
ef2546ec08
fix base handler filename 2025-08-27 12:40:16 -04:00
Georges-Antoine Assi
27928bd75b
fix pytests 2025-08-27 11:41:24 -04:00
Georges-Antoine Assi
ee0110699d
fix id column type 2025-08-27 11:23:27 -04:00
Georges-Antoine Assi
bf0d864d84
Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Michael Manganiello
80291f4be1
misc: Move cache initialization to startup script
Guarantee that cache is initialized during startup, and only once,
instead of every time a `MetadataHandler` object is instantiated.

Also, improve logic to determine `fixtures` paths.
2025-08-13 12:26:15 -03: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
Michael Manganiello
ba21cbc1e1
misc: Separate tests folder from backend code
Create separate `tests/` folder for all tests. This will also simplify
not copying tests code into the Docker image.
2025-08-08 12:49:13 -03:00