Files
romm/backend/endpoints/forms/identity.py
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

43 lines
1.3 KiB
Python

from fastapi import UploadFile
from fastapi.param_functions import Form
class UserForm:
def __init__(
self,
username: str | None = None,
password: str | None = None,
email: str | None = None,
role: str | None = None,
enabled: bool | None = None,
avatar: UploadFile | None = None,
ra_username: str | None = None,
):
self.username = username
self.password = password
self.email = email
self.role = role
self.enabled = enabled
self.avatar = avatar
self.ra_username = ra_username
class OAuth2RequestForm:
def __init__(
self,
grant_type: str = Form(default="password"),
scope: str = Form(default=""),
username: str | None = Form(default=None),
password: str | None = Form(default=None),
client_id: str | None = Form(default=None),
client_secret: str | None = Form(default=None),
refresh_token: str | None = Form(default=None),
):
self.grant_type = grant_type
self.scopes = scope.split()
self.username = username
self.password = password
self.client_id = client_id
self.client_secret = client_secret
self.refresh_token = refresh_token