app.repository.wallet_repository module¶
- class app.repository.wallet_repository.WalletRepository(session_factory, model=<class 'app.model.wallet.Wallet'>)[source]¶
Bases:
BaseRepositoryRepository class for wallets.
- Parameters:
session_factory (Callable[[...], AbstractAsyncContextManager[AsyncSession]])
- async upsert_points_balance(user_id, points_delta, api_key=None, oauth_user_id=None, session=None, auto_commit=True)[source]¶
Atomically increments a user’s wallet points balance via
INSERT ... ON CONFLICT DO UPDATE.- Parameters:
points_delta (int)
api_key (str | None)
oauth_user_id (str | None)
session (AsyncSession | None)
auto_commit (bool)
- Return type: