app.services.user_points_service module¶
Public entry point for user-points operations.
UserPointsService composes four focused mixins (see
app.services.user_points) so its read, write, simulation and
persistence concerns live in separate modules without changing the single
DI-injected class that endpoints and strategy engines depend on:
PointsQueryMixin- read-only aggregations and lookups.PointsAssignmentMixin- the scoring/write path (also brings the persistence helpers it builds on).PointsSimulationMixin- non-persisting simulation of built-ins.PointsPersistenceMixin- the atomic points/wallet/transaction write.
- class app.services.user_points_service.UserPointsService(user_points_repository, users_repository, users_game_config_repository, game_repository, task_repository, wallet_repository, wallet_transaction_repository, strategy_service=None)[source]¶
Bases:
BaseService,PointsQueryMixin,PointsAssignmentMixin,PointsSimulationMixin- Parameters:
user_points_repository (UserPointsRepository)
users_repository (UserRepository)
users_game_config_repository (UserGameConfigRepository)
game_repository (GameRepository)
task_repository (TaskRepository)
wallet_repository (WalletRepository)
wallet_transaction_repository (WalletTransactionRepository)
strategy_service (StrategyService)