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: