33 lines
1.9 KiB
Go
33 lines
1.9 KiB
Go
package virtualgameservice
|
|
|
|
import (
|
|
"context"
|
|
|
|
dbgen "github.com/SamuelTariku/FortuneBet-Backend/gen/db"
|
|
"github.com/SamuelTariku/FortuneBet-Backend/internal/domain"
|
|
)
|
|
|
|
type VirtualGameService interface {
|
|
// AddProvider(ctx context.Context, req domain.ProviderRequest) (*domain.ProviderResponse, error)
|
|
RemoveProvider(ctx context.Context, providerID string) error
|
|
GetProviderByID(ctx context.Context, providerID string) (dbgen.VirtualGameProvider, error)
|
|
ListProviders(ctx context.Context, limit, offset int32) ([]domain.VirtualGameProvider, int64, error)
|
|
SetProviderEnabled(ctx context.Context, providerID string, enabled bool) (*domain.VirtualGameProvider, error)
|
|
|
|
GenerateGameLaunchURL(ctx context.Context, userID int64, gameID, currency, mode string) (string, error)
|
|
HandleCallback(ctx context.Context, callback *domain.PopOKCallback) error
|
|
ProcessBet(ctx context.Context, req *domain.PopOKBetRequest) (*domain.PopOKBetResponse, error)
|
|
GetPlayerInfo(ctx context.Context, req *domain.PopOKPlayerInfoRequest) (*domain.PopOKPlayerInfoResponse, error)
|
|
ProcessWin(ctx context.Context, req *domain.PopOKWinRequest) (*domain.PopOKWinResponse, error)
|
|
ProcessCancel(ctx context.Context, req *domain.PopOKCancelRequest) (*domain.PopOKCancelResponse, error)
|
|
ProcessTournamentWin(ctx context.Context, req *domain.PopOKWinRequest) (*domain.PopOKWinResponse, error)
|
|
ProcessPromoWin(ctx context.Context, req *domain.PopOKWinRequest) (*domain.PopOKWinResponse, error)
|
|
|
|
// GetGameCounts(ctx context.Context, filter domain.ReportFilter) (total, active, inactive int64, err error)
|
|
ListGames(ctx context.Context, currency string) ([]domain.PopOKGame, error)
|
|
RecommendGames(ctx context.Context, userID int64) ([]domain.GameRecommendation, error)
|
|
AddFavoriteGame(ctx context.Context, userID, gameID int64) error
|
|
RemoveFavoriteGame(ctx context.Context, userID, gameID int64) error
|
|
ListFavoriteGames(ctx context.Context, userID int64) ([]domain.GameRecommendation, error)
|
|
}
|