JAlgoArena Submissions is service dedicated for collecting users submissions and exposing that data. Querying submissions and submitting it has to be secure operation - methods require passing token which is then checked with Auth service.
- JAlgoArena Submissions exposes Submissions data via REST API
Given user token - find all user submissions
URL | Method |
---|---|
/submissions/:userId | GET |
-
Data Params
User id path parameter has to be in sync with token based user id set in headers
GET /submissions/1
'Accept': 'application/json', 'X-Authorization': 'Bearer <token>'
-
Success Response:
List of all submissions
- Code: 200
Content:[{"sourceCode":"<source code>",...}, ...]
- Code: 200
-
Sample Call:
curl --header "Content-Type: application/json" \ --header "X-Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ1c2VyMSIsInNjb3BlcyI6WyJST0xFX1VTRVIiXSwiaXNzIjoiamFsZ29hcmVuYS5jb20iLCJpYXQiOjE1MzI2ODUyMDUsImV4cCI6MTUzNTI3NzIwNX0.45Ilu0GnQyBVYprAcgtvPHmq5tdvbwiUZucSRAFDDPU2RYY-N8cDoM8k3gl1i2r4FPV7ECZaHgcc20fZwqj_CQ" \ http://localhost:5004/submissions/1
Given user token and submission id - find user submission
URL | Method |
---|---|
/submissions/find/:userId/:submissionId | GET |
-
Data Params
User id path parameter has to be in sync with token based user id set in headers
GET /submissions/find/1/fib
'Accept': 'application/json', 'X-Authorization': 'Bearer <token>'
-
Success Response:
List of all submissions
- Code: 200
Content:{"sourceCode":"<source code>",...}
- Code: 200
-
Sample Call:
curl --header "Content-Type: application/json" \ --header "X-Authorization: Bearer eyJhbGciOiJIUzUxMiJ9.eyJzdWIiOiJ1c2VyMSIsInNjb3BlcyI6WyJST0xFX1VTRVIiXSwiaXNzIjoiamFsZ29hcmVuYS5jb20iLCJpYXQiOjE1MzI2ODUyMDUsImV4cCI6MTUzNTI3NzIwNX0.45Ilu0GnQyBVYprAcgtvPHmq5tdvbwiUZucSRAFDDPU2RYY-N8cDoM8k3gl1i2r4FPV7ECZaHgcc20fZwqj_CQ" \ http://localhost:5004/submissions/find/1/fib
There are two ways to run it - from sources or from binaries.
- go to releases page and download last app package (JAlgoArena-Submissions-[version_number].zip)
- after unpacking it, go to folder and run
./run.sh
(to make it runnable, invoke commandchmod +x run.sh
) - you can modify port in run.sh script, depending on your infrastructure settings. The script itself can be found in here: run.sh
- run
git clone https://github.com/spolnik/JAlgoArena-Submissions
to clone locally the sources - now, you can build project with command
./gradlew clean stage
which will create runnable jar package with app sources. Next, runjava -jar build/libs/jalgoarena-auth-*.jar
which will start application - there is second way to run app with gradle. Instead of running above, you can just run
./gradlew clean bootRun