Commit Graph

54 Commits

Author SHA1 Message Date
Georges-Antoine Assi
13ac6104ce Raise lazy joins so all complex joins are explicit 2025-08-19 10:02:11 -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
zurdi
e17f6b44de feat: Add RetroAchievements integration and user profile syncing
- Implemented RA hash handling in ROM processing.
- Added functionality to refresh RetroAchievements data for users.
- Updated user model to store RA progression data.
- Created a new component for managing RetroAchievements settings in user profiles.
- Enhanced ROM metadata to include merged RA achievements and badge paths.
- Refactored API calls to accommodate new RA features and removed unused API key handling.
- Updated frontend components to reflect changes in RA metadata and user settings.
- Adjusted Docker configuration for database service naming.
2025-04-22 21:08:10 +00:00
zurdi
30a0be2c4c Merge branch 'master' into HEAD 2025-04-10 22:56:55 +00:00
Georges-Antoine Assi
581cdf742c fix pagination speeds 2025-03-21 00:07:27 -04:00
Georges-Antoine Assi
0f8d51193a kiosk mode allows viewing without auth 2025-02-07 00:18:52 -05:00
Georges-Antoine Assi
6c95a03746 Read-only kiosk mode for viewers 2025-02-06 09:04:41 -05:00
Georges-Antoine Assi
195b0cf742 [HOTFIX] Change all DateTime columns to TIMESTAMP 2025-01-13 21:53:00 -05: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
Georges-Antoine Assi
d0ccd6a0cd Merge branch 'master' into feat/retro_achievements 2024-12-14 21:24:49 -05:00
Georges-Antoine Assi
82ac766c9e oidc login using email 2024-12-12 10:08:27 -05:00
Georges-Antoine Assi
cae4089ccf add email field 2024-12-09 19:57:13 -05: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
SaraVieira
7b8d46b90b Merge branch 'master' of github.com:rommapp/romm into feat/retro_achievements 2024-09-10 21:07:57 +01:00
Georges-Antoine Assi
8fc25cde99 use timezone aware datetimes 2024-09-09 10:11:46 -04:00
SaraVieira
dc3a363bf2 finish endpoint; add final FE 2024-09-04 23:29:15 +01:00
Michael Manganiello
004c0b634e fix: Make some DB columns non-nullable
This change makes some database columns non-nullable, and includes the
migration to seamlessly upgrade the schema.

It includes:
* User and Platform names
* Every boolean column
2024-07-07 11:07:27 -03:00
zurdi
1d6ba70080 collections get_roms endpoint added 2024-07-02 14:31:27 +02:00
Georges-Antoine Assi
7530fdd576 mega refactor of pr 2024-07-01 15:12:07 -04:00
zurdi
66e185db47 Merge branch 'master' into feature/fav_for_siblings 2024-07-01 08:34:04 +02:00
Michael Manganiello
e1bcd9cc06 misc: Use Python future annotations
Simplify annotations by using `__future__.annotations`, so there's no
need to add typing using types as strings.
2024-06-30 12:19:37 -03:00
Zurdi
c022e9cef7 added user_rom_props entity 2024-06-29 00:13:28 +02:00
Zurdi
dc479b289b fixes from trunk 2024-06-28 17:32:04 +02:00
Zurdi
d2fe08f525 added update_at and created_at to base model 2024-06-28 16:45:39 +02:00
zurdi
d3324b6d31 added created_at column 2024-06-27 12:12:35 +02:00
zurdi
542cc6aa64 added updated_at column to tables 2024-06-27 11:59:45 +02:00
Michael Manganiello
b99ededced misc: Migrate to SQLAlchemy declarative models
This change applies the guided migration process recommended by
SQLAlchemy [1], up to step 4, to have declarative ORM models that better
support Python typing.

The change was tested by running `alembic check`, which does not find
any schema changes.

Errors reported by `mypy` go down to 170, from the original 223 in the
current `master` commit.

[1] https://docs.sqlalchemy.org/en/20/changelog/whatsnew_20.html#migrating-an-existing-mapping
2024-06-25 23:03:20 -03:00
Michael Manganiello
33ac3ca56d misc: Apply changes generated by pyupgrade
Changes automatically made by
[`pyupgrade`](https://github.com/asottile/pyupgrade), using the
`--py311-plus` flag, to be compatible with Python 3.11.
2024-06-23 18:17:08 -03:00
Georges-Antoine Assi
b075e93321 Merge branch 'master' into trunk-io 2024-05-24 16:47:19 -04:00
Georges-Antoine Assi
2d4d1b5ae3 improve roms loading time 2024-05-24 10:14:44 -04:00
Georges-Antoine Assi
2b60402a04 start fixing mypy issues 2024-05-21 19:22:14 -04:00
Georges-Antoine Assi
a7cf0d389a run trunk format on all files 2024-05-21 10:18:13 -04:00
Georges-Antoine Assi
da784fc7ab Merge branch 'master' into firmware-bios-support 2024-05-13 09:13:55 -04:00
Georges-Antoine Assi
2749aaee4a rename back to old names 2024-05-05 16:59:30 -04:00
Georges-Antoine Assi
9ad28f3294 more refactoring again 2024-05-05 16:32:40 -04:00
Georges-Antoine Assi
def2608c28 refactor db handlers 2024-05-05 15:46:07 -04:00
Georges-Antoine Assi
1a2c914045 refactor handlers out into own files 2024-05-05 12:45:56 -04:00
Georges-Antoine Assi
e4b9b09525 create and load self and public notes with editor 2024-04-28 13:30:12 -04:00
Georges-Antoine Assi
c3e1f4f44c [ROMM-618] Add last logged in and last active for users 2024-04-06 15:29:40 -04:00
Georges-Antoine Assi
eb18388a81 Mega refactor of asset 2024-02-01 17:59:06 -05:00
Georges-Antoine Assi
092df45e4a Misc hotfixes from backend refactor 2024-01-18 16:55:35 -05:00
Georges-Antoine Assi
7963e243dc Fix batch of test fixes 2024-01-17 10:26:37 -05:00
Zurdi
4b9e76f550 backend structure refactor 2024-01-12 23:44:27 +01:00
Georges-Antoine Assi
5762270f62 Merge branch 'master' into romm-55 2024-01-09 13:06:51 -05:00
Zurdi
eea7e41940 docstrings added to endpoints + organized imports + formatted code 2024-01-09 16:22:31 +01:00
Georges-Antoine Assi
f560d03b86 Get saves and states loading 2023-11-14 00:00:33 -05:00
zurdi
f4f936f624 user avatar and enable/disable user support added 2023-08-23 14:16:31 +02:00
Georges-Antoine Assi
58b7e9adcf Tweaks to db handelr test 2023-08-13 09:44:49 -04:00
Georges-Antoine Assi
5943489f51 Oauth scheme and security list 2023-08-12 21:46:32 -04:00