// services/veli/service.go package veli import ( "context" dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db" "github.com/SamuelTariku/FortuneBet-Backend/internal/domain" ) type VeliVirtualGameService interface { FetchAndStoreAllVirtualGames(ctx context.Context, req domain.ProviderRequest, currency string) ([]domain.UnifiedGame, error) GetAllVirtualGames(ctx context.Context, params dbgen.GetAllVirtualGamesParams) ([]domain.UnifiedGame, error) AddProviders(ctx context.Context, req domain.ProviderRequest) (*domain.ProviderResponse, error) GetProviders(ctx context.Context, req domain.ProviderRequest) (*domain.ProviderResponse, error) GetGames(ctx context.Context, req domain.GameListRequest) ([]domain.GameEntity, error) StartGame(ctx context.Context, req domain.GameStartRequest) (*domain.GameStartResponse, error) StartDemoGame(ctx context.Context, req domain.DemoGameRequest) (*domain.GameStartResponse, error) GetBalance(ctx context.Context, req domain.BalanceRequest) (*domain.BalanceResponse, error) ProcessBet(ctx context.Context, req domain.BetRequest) (*domain.BetResponse, error) ProcessWin(ctx context.Context, req domain.WinRequest) (*domain.WinResponse, error) ProcessCancel(ctx context.Context, req domain.CancelRequest) (*domain.CancelResponse, error) GetGamingActivity(ctx context.Context, req domain.GamingActivityRequest) (*domain.GamingActivityResponse, error) GetHugeWins(ctx context.Context, req domain.HugeWinsRequest) (*domain.HugeWinsResponse, error) GetCreditBalances(ctx context.Context, brandID string) ([]domain.CreditBalance, error) }