Giter Site home page Giter Site logo

challengermode-api-resources's People

Contributors

philipshield avatar

Stargazers

 avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar

challengermode-api-resources's Issues

[FEATURE] Add team logos in Graphql

Describe the feature you're missing.

Team logo url just like it used to be in the deprecated rest api (I've not explored much, but I did check the visualised graphql api, and the TEAM LOGO (not tournament logo) were not present in the dataset for teams.

Is your feature request related to a problem? Please describe.

I need the logos for pubgm tournaments.

Proposed solutions.

Just provide same endpoints like it used to be in rest.

[BUG] 500 Internal Server Error when trying to fetch tournament using deprecated REST api

Describe the bug
I fetched once for a match today and it worked, then tried the same exact call with new access token, now it gives 500 internal server error. The access token works on any other tournament.

Tournament ID : 658e7599-8318-4c51-92a1-08dbbec97e41

Authorization: Bearer {access_token}
Content-Type: application/json

url: https://publicapi.challengermode.com/mk1/v1/tournaments/658e7599-8318-4c51-92a1-08dbbec97e41/graph

500 Internal Server Error

Expected behavior
Returns me json list of tournament content

ApplicationId
3fa761e8-2e1d-4f00-e370-08d9b72e4c8a

FYI, I did not exceed 300/m request.

[FEATURE] Add a displayName field for Teams

Describe the feature you're missing.

displayName field for teams in challengermode + api

Is your feature request related to a problem? Please describe.

Currently if players try to register their teams on challengermode, they will be faced with using unique team names, and this will unfortunately have them put some random stuff like numbers just to get the team registered.
E.g Mazor Gaming -> Mazor Gaming_1

As a developer extracting this information from CM onto our datasets, it causes great issues as the team names should not have those extra fillers.

Proposed solutions.

Allow teams to have a displayName field where they can fill their actual correct team name. And provide this in both endpoints (graphql/rest)

[FEATURE] Actually add MatchTournamentContext info in MatchSeries/Tournament GraphQL data

Please add more/specific definitions to TournamentRound when implementing it to the GraphQL data and add the actual round as either name or ENUM/int mappable definitions, similar to BracketType. (these are links to legacy REST API docs, which 404 on direct request)

There is currently no way to figure out from a match in the GraphQL if it is a Round 1 game, Semifinals or bronze match in the final round of a Tournament.

From a tournament I am able to get this response for the stages with format 101 (RoundRobinSingleElimination), showing 'stageIndex 1' here, which in turn gives me 2 rounds (which I know are semifinal and finals, in that order) with 2 matchSeries per round.
image
The supposed 'MatchTournamentContext' the graphql sdl lists which should provide a 'stageNumber' and a 'roundNumber' seems not implemented, or requires custom queries to be provided as data in the output.

The stage/round numbers would be integers, which have no definitions in the documentation or SDL currently.

Note that the info provided for TournamentFormat for the GraphQL is completely different and unusable compared to the legacy defintion for the REST API; the 101 I referenced earlier and is shown in the output of a graphql response is only in the legacy public rest api docs, and not provided as SINGLE_ELIMINATION or even ROUND_ROBIN anywhere in the data!

TLDR: graphql sdl and doesn't match actual data in served response and documentation is vert incomplete, especially in comparison to the (now legacy) REST API docs.
image

[FEATURE] SteamID32 in user "externalLogins"

Many users have Steam linked to Profile (in my case dota tournaments) but in the User/externalLogins array are only uids to fetch the external login extra but there is no endpoint for fetching. In my case i want to enrich the user with additional information form Dota API.

Proposed solutions.
Add SteamID32 to externalLogins or let us fetch SteamID / User account id.

[FEATURE] Real-time updates via webhooks

Describe the feature you're missing.
Real-time data updates! I want to know the second a team wins a game in a tournament so that I can show live brackets on my website and in my live broadcast for 139.500 viewers on Turkish television.

Is your feature request related to a problem? Please describe.
Right now, I need to call the API in regular intervals to see if any updates have occurred. With how deep the information in tournaments goes, this can take tens of calls before I get to live scores which makes it both complicated and resource-intensive for myself and you.

Proposed solutions.
To avoid exceeding rate limits (and to protect your infrastructure from overloading), I would love to connect to webhooks that push updates to me when they occur.

[FEATURE] API Request with join Tables (?with=matches,users.....)

Describe the feature you're missing.
At the moment when i fetch a whole tournament i need to fetch the tournament, the bracket, matches, member, user and so on all separate instead of a single call.

Is your feature request related to a problem? Please describe.
No Problem just nice to have easier fetching

Proposed solutions.
Add a ?with or ?add or something to the fetchURL Like
https://xxxx/api/xxx?with=machtes,members,brackets
to receive a filled tournament with all information for the initial call, after that i update parts of it with the single endpoints from time to time. For example
https://xxx/v1/tournaments/match_series/{id}?with=lineups,members,matches

That would reduce the amount of calls and helps much.

Best,
Dan

[BUG] API returning stale data

Describe the bug
I query the graphql api with the same request every 30 seconds to fetch updated state for ongoing tournaments.
In some cases the API returns what appears to be stale data, which results in the received game state to jump between stale and fresh.
Examples that I've observed during implementation:

  • The scheduled start time of a series jumps back to the initial time, rather than the rescheduled time
  • The series state goes from RUNNING to WAITING, or from COMPLETED to WAITING
  • The number of matches goes from non-zero back to zero, both for ongoing matches and completed matches
  • The match state goes from RUNNING to LOBBY, or from COMPLETED to LOBBY
    I have mitigated this for completed series by ignoring any data after a series is reported as completed, but of course for ongoing matches it means there's a lot of strange behavior.

I have two series (BO1) that seem to do this pretty consistently:
https://www.challengermode.com/s/RISI/games/3d797143-8a0d-42c3-e475-08dc630bf95a
https://www.challengermode.com/s/RISI/games/c302dcdc-bf65-447c-e443-08dc630bf95a

For a 15 minute period, these are occurrences where matches goes from one to zero, then back to one:
firefox_8VfR6VhHhS

The graphql query I'm using:
query GetTournamentStructure($tournamentId: UUID!) { tournament(tournamentId: $tournamentId) { attendance { roster { lineups { name members { gameAccountId role user { username } } } } } matchSeries { id state bestOf startedAt scheduledStartTimeAt labels matches { id state lineups { lineupName score } } lineups { name members { gameAccountId role user { username } } } } } }

Expected behavior
I expect to get the latest data for every request.

Screenshots
Example from local debug between two requests:

Request 1:
The first request shows a series with state Completed, has a single match with state Completed and has startedAt defined,
tBW8vESqhW

Request 2:
The second request 30 seconds later shows a series with state Waiting, no matches included and has no startedAt value.
5gKozVvZq9

ApplicationId
decf340f-67f7-48c7-de3a-08da5f88f473

[BUG]

Test issue to test webhook for discord :peepocm: !

[BUG] Device Code Flow with offline access

Describe the bug
Device code flow doesn't support scope "offline_access"

Expected behavior
If providing the "offline_access" scope a refresh token should be included when calling the /token endpoint

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.