Commit Graph

116 Commits

Author SHA1 Message Date
Georges-Antoine Assi
463bb27ea9 Add config to store media on disk 2025-10-24 16:04:54 -04:00
Georges-Antoine Assi
dbf1a7d20b [ROMM-2554] Remove htlb from manual search 2025-10-17 09:51:41 -04:00
Georges-Antoine Assi
cf50f06531 fix search endpoint excluding lb and hltb 2025-10-10 16:21:21 -04:00
Georges-Antoine Assi
6934721fa3 [ROMM-2492] Add html to search reults 2025-09-29 08:28:51 -04:00
Georges-Antoine Assi
c4bd619091 fix bugs from bot review 2025-09-18 16:38:32 -04:00
Georges-Antoine Assi
fe2a7e7bff Add launchbox to manual match window 2025-09-18 16:34:40 -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
Georges-Antoine Assi
841992e9fb fix flashpoint search 2025-08-27 12:05:02 -04:00
Georges-Antoine Assi
bf0d864d84 Add flashpoint as a metadata handler 2025-08-27 11:04:13 -04:00
Georges-Antoine Assi
c742e8ff9d dont remove articles normalize name 2025-08-15 22:48:57 -04:00
Georges-Antoine Assi
e0d1d1cf23 run sgdb in parallel 2025-08-15 22:30:13 -04:00
Georges-Antoine Assi
7c3764802f add sgdb as a cover option 2025-08-15 22:14:48 -04:00
Georges-Antoine Assi
54adb653af Normalize result names for better merging in search 2025-08-15 21:57:18 -04:00
Michael Manganiello
097818d560 misc: Replace emoji dependency with constants
The `emoji` library has been removed, in favor of using constants for
the few emojis used in the codebase. This reduces memory usage, and
avoids calling `emojize` for Python to discover where to replace emojis
in pre-defined strings.
2025-08-07 09:50:14 -03:00
Georges-Antoine Assi
c5b8a5d0a7 config file is now required 2025-07-24 23:34:13 -04:00
Georges-Antoine Assi
2a1e13b506 change from code review 2025-07-13 15:30:00 -04:00
Georges-Antoine Assi
c23249358e Always set all platform metadata IDs 2025-07-13 14:13:00 -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
zurdi
14761c2c83 refactor: enhance logging with highlighted output for improved readability 2025-05-09 09:05:59 +00:00
zurdi
53f9386208 refactor: enhance logging messages and formatting for improved clarity and consistency 2025-05-08 23:35:33 +00:00
zurdi
2a5bf1ab5b Add SGDBInvalidAPIKeyException for handling invalid API key errors 2025-04-01 09:52:33 +00:00
zurdi
cfbcd82547 fix: changes based on review 2025-02-17 11:10:24 +00:00
zurdi
c33217bc24 Add ss_url_cover field to search response 2025-02-12 12:41:16 +00:00
zurdi
e51dfc3eec Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-02-10 08:59:28 +00:00
Michael Manganiello
70825830c4 misc: Set prefix and tags to API routers
Improve OpenAPI documentation by setting tags to each API router. Also,
set a prefix to each router to group the endpoints by their
functionality.
2025-02-09 11:31:13 -03:00
zurdi
cb54ee3a23 fix: fixes from trunk 2025-02-04 12:41:49 +00:00
zurdi
9d96501b9e Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-31 00:12:44 +00:00
Georges-Antoine Assi
9d8baef9de small tweaks from review 2025-01-15 22:54:35 -05:00
Georges-Antoine Assi
696a1c6122 Merge branch 'master' into rom-hashing-background-task 2025-01-15 21:51:23 -05:00
zurdi
a7a2e3b253 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-09 15:13:49 +00:00
Michael Manganiello
865370ec13 misc: Move auth constants to separate file
This simplifies avoiding circular imports when trying to use auth
handlers.
2025-01-08 22:16:31 -03:00
zurdi
23102b8aeb fix: trunk check 2025-01-06 13:32:28 +00:00
zurdi
e7342ab457 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-06 12:53:38 +00:00
Michael Manganiello
1c7cbc2328 misc: Change signature for get_matched_rom_by_id function
The previous function name `get_matched_roms_by_id` was misleading as it
returned a list of matched ROMs, but searching by ID should always
return either one result or none.
2025-01-05 15:18:19 -03:00
zurdi
a9f189bad4 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2025-01-05 16:49:37 +00:00
Michael Manganiello
81febf232f fix: Change rom_id type to int in search endpoint
Fixes PostgreSQL query error reported in:
https://github.com/rommapp/romm/issues/667#issuecomment-2571428721
2025-01-05 00:33:12 -03:00
zurdi
2c6a165e18 misc: improved manual match speed 2025-01-03 11:28:47 +00:00
zurdi
4aa2d49221 feat: fully integrated screenscrapper 2025-01-03 03:08:02 +00:00
zurdi
db4001dea0 feat: base structure for ss support 2025-01-02 10:34:10 +00:00
Georges-Antoine Assi
3fcce6606c complete updating the endpoints and models 2024-12-20 22:41:56 -05:00
zurdi
443def9cd9 Merge remote-tracking branch 'origin/master' into feature/screenscraper-integration 2024-12-10 11:40:44 +00:00
zurdi
b545d12731 improved aspect ratio set in gamecard 2024-12-02 11:03:01 +00:00
zurdi
95f064362a merge 'master' into feature/screenscraper-integration 2024-10-25 06:57:03 +00:00
zurdi
63fac78743 screenscraper API test 2024-10-25 01:05:58 +00:00
Michael Manganiello
beeb9f0c31 misc: Create enum for authorization scopes
Instead of using just strings, this change converts the scopes to a
`StrEnum`, to be compatible with places where a string is expected. This
avoids typos when using these scopes, simplifies searching for usages,
and improves type hints.

An extra change was the fix to the Firmware download endpoint, which
wasn't respecting the `DISABLE_DOWNLOAD_ENDPOINT_AUTH` flag.
2024-10-18 23:57:42 -03:00
Michael Manganiello
8abbae4c02 misc: Make backend handle URLs with trailing slash
According to multiple FastAPI discussions [1], FastAPI only includes a
built-in mechanism to redirect requests including a trailing slash, to
its variation without slash, using a `307` status code.

This can be an issue when certain clients do not send the same headers
on the redirected request.

This change adds a custom FastAPI `APIRouter`, that registers both route
path variations (with and without trailing slash), while only marking
the path without slash for being included in the OpenAPI schema.

[1] https://github.com/fastapi/fastapi/discussions/7298
2024-08-07 00:22:21 -03:00
Michael Manganiello
aced1f1ff2 misc: Migrate IGDBBaseHandler to async
Convert `IGDBBaseHandler` methods to be asynchronous, and use an `httpx`
async client, instead of `requests` sync client.

This change also removes the direct dependency with `requests`, as the
project no longer uses it, preferring `httpx` instead.
2024-07-26 21:19:01 -03:00