Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

API for standings, problems, submissions and account verification #414

Open
kmusie opened this issue Nov 1, 2024 · 2 comments
Open

API for standings, problems, submissions and account verification #414

kmusie opened this issue Nov 1, 2024 · 2 comments

Comments

@kmusie
Copy link

kmusie commented Nov 1, 2024

The current OIOIOI API offers limited capabilities, which makes it difficult for contest organizers to e.g. integrate Szkopul problems into a larger product (like an algorithms course) or even display standings on external sites. Expanding it to include endpoints for contest standings (with participant scores and solved tasks data), basic problem list/data retrieval and access to submissions would greatly help in this matter, reducing reliance on fragile workarounds. Codeforces already implements this quite well.

For some of these purposes account ownership verification is desirable. Available methods are either inconvenient for both the user and the developer (e.g. username change + scraping) or potentially unsafe (e.g. API token + abusing the ping endpoint to extract username). Thus, more fine-grained tokens (preferrably even OAuth) should be considered.

Incidentally, a more comprehensive rewrite of the API might be in order, as Core API used to describe the API has been deprecated for quite some time and is no longer recommended by djangorestframework.

@MasloMaslane
Copy link
Member

Some of the features you requested are already added in #373, hopefully it will be merged soon

@kmusie
Copy link
Author

kmusie commented Nov 5, 2024

Looks very much WIP to me ;). Anyway, this implements problem retrieval and (assuming the original description is still relevant) will also address querying a submission list, a ranking [...] - great! I understand that fine-grained permissions are probably a separate issue.

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

2 participants