app.services.user_game_config_service module¶
- class app.services.user_game_config_service.UserGameConfigService(repository)[source]¶
Bases:
objectService class for managing user-specific game configurations.
- Parameters:
repository (UserGameConfigRepository)
- async get_user_config(user_id, game_id)[source]¶
Fetch the per-user configuration for a game.
- Parameters:
user_id (UUID) – Internal user identifier.
game_id (UUID) – Internal game identifier.
- Returns:
Optional[UserGameConfigResponse] – The config, or
Noneif the user has none for that game.- Return type:
UserGameConfigResponse | None
- async create_user_config(schema)[source]¶
Create (or upsert) a user’s configuration for a game.
- Parameters:
schema (CreateUserGameConfig) – Config payload (user, game, experiment group and config data).
- Returns:
UserGameConfigResponse – The persisted configuration.
- Return type:
UserGameConfigResponse
- async update_user_config(user_id, game_id, schema)[source]¶
Update an existing user’s game configuration.
Falls back to the current values for any field omitted in
schema.- Parameters:
user_id (UUID) – Internal user identifier.
game_id (UUID) – Internal game identifier.
schema (UpdateUserGameConfig) – Fields to update.
- Returns:
Optional[UserGameConfigResponse] – The updated config, or
Noneif no config exists for that user/game.- Return type:
UserGameConfigResponse | None