Top X Operations

Core Data Models

Top X Game Model (GameTopXListModel)

game.id: String                            // Game identifier
game.name: String                          // Game name
game.status: GameStatus?                   // Game status
game.startDate: Kotlinx_datetimeInstant?   // Game start date
game.endDate: Kotlinx_datetimeInstant?     // Game end date
game.fixtures: [FixturesTopXModel]?        // Game fixtures

Top X Prediction Request Model (TopXPredictionRequestModel)

request.gameId: String                     // Game identifier
request.predictions: [Any]                 // Top X predictions

Top X Operations

Get My Game Editions

do {
    let filters = MainCursorFilters(
        limit: 20,
        startAfter: nil
    )

    let games = try await sdk.topX().getMyGameEditions(filters: filters, disableCache: false)
    if let gameArray = games.data {
        print("Found \(gameArray.count) Top X games")
    }
} catch {
    print("Error fetching Top X games: \(error)")
}

Get User Game Editions

do {
    let games = try await sdk.topX().getUserGameEditions(
        userId: "user123",
        filters: nil,
        disableCache: false
    )
    print("User's Top X games: \(games.data?.count ?? 0)")
} catch {
    print("Error fetching user's Top X games: \(error)")
}

Play Top X Game

do {
    let request = TopXPredictionRequestModel(
        gameId: "game123",
        predictions: [/* top X selections */]
    )

    let response = try await sdk.topX().play(request: request)
    print("Top X game played: \(response.id)")
} catch {
    print("Error playing Top X game: \(error)")
}