diff --git a/tester/v1/openapi.yaml b/tester/v1/openapi.yaml index 60d1757..14b854e 100644 --- a/tester/v1/openapi.yaml +++ b/tester/v1/openapi.yaml @@ -208,13 +208,32 @@ paths: application/json: schema: $ref: '#/components/schemas/AddTaskResponse' + /tasks/{id}: + get: + operationId: GetTask + security: + - bearerAuth: [ ] + parameters: + - name: id + in: path + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/GetTaskResponse' delete: operationId: DeleteTask security: - bearerAuth: [ ] parameters: - - name: task_id - in: query + - name: id + in: path required: true schema: type: integer @@ -415,6 +434,25 @@ paths: application/json: schema: $ref: '#/components/schemas/GetSolutionResponse' + /monitor: + get: + operationId: GetMonitor + security: + - bearerAuth: [ ] + parameters: + - name: contest_id + in: query + required: true + schema: + type: integer + format: int32 + responses: + "200": + description: OK + content: + application/json: + schema: + $ref: '#/components/schemas/GetMonitorResponse' components: schemas: Problem: @@ -923,6 +961,147 @@ components: properties: solution: $ref: '#/components/schemas/Solution' + Task: + type: object + required: + - id + - position + - title + - time_limit + - memory_limit + + - legend_html + - input_format_html + - output_format_html + - notes_html + - scoring_html + + - created_at + - updated_at + properties: + id: + type: integer + format: int32 + position: + type: integer + format: int32 + title: + type: string + time_limit: + type: integer + format: int32 + memory_limit: + type: integer + format: int32 + + legend_html: + type: string + input_format_html: + type: string + output_format_html: + type: string + notes_html: + type: string + scoring_html: + type: string + + created_at: + type: string + format: date-time + updated_at: + type: string + format: date-time + GetTaskResponse: + type: object + required: + - task + - contest + properties: + contest: + type: object + required: + - id + - title + - tasks + properties: + id: + type: integer + format: int32 + title: + type: string + tasks: + type: array + items: + $ref: '#/components/schemas/RichTask' + task: + $ref: '#/components/schemas/Task' + GetMonitorResponse: + type: object + required: + - contest + - participants + - summary_per_problem + properties: + contest: + type: object + required: + - id + - title + - tasks + properties: + id: + type: integer + format: int32 + title: + type: string + tasks: + type: array + items: + $ref: '#/components/schemas/RichTask' + participants: + type: array + items: + type: object + required: + - id + - name + - solved_in_total + - penalty_in_total + - solutions + properties: + id: + type: integer + format: int32 + name: + type: string + solved_in_total: + type: integer + format: int32 + penalty_in_total: + type: integer + format: int32 + solutions: + type: array + items: + $ref: '#/components/schemas/SolutionListItem' + summary_per_problem: + type: array + items: + type: object + required: + - id + - success + - total + properties: + id: + type: integer + format: int32 + success: + type: integer + format: int32 + total: + type: integer + format: int32 securitySchemes: bearerAuth: type: http