-
Notifications
You must be signed in to change notification settings - Fork 0
Expand file tree
/
Copy pathsimilarity.json
More file actions
1 lines (1 loc) · 2.98 KB
/
similarity.json
File metadata and controls
1 lines (1 loc) · 2.98 KB
1
{"openapi":"3.1.0","info":{"title":"Codify Similarity API","description":"Codify Similarity API 명세서","version":"1.0.0"},"servers":[{"url":"/"}],"paths":{"/api/similarity/assignments/{assignmentId}/submissions/batch":{"post":{"tags":["similarity-controller"],"operationId":"run","parameters":[{"name":"assignmentId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"requestBody":{"content":{"application/json":{"schema":{"$ref":"#/components/schemas/SubmissionIdsRequestDto"}}},"required":true},"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SimilarityStartResponseDto"}}}}}}},"/api/similarity/assignments/{assignmentId}/submissions/{submissionFromId}/analyze":{"get":{"tags":["similarity-controller"],"summary":"상태 조회, ids 없이 사용","description":"제출물 번호 하나만 입력하면 됩니다.\n- 프론트가 ids를 구성하지 않아도 되는 간단 폴링용 엔드포인트입니다.\n","operationId":"getSimilarityStatusFromOne","parameters":[{"name":"assignmentId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}},{"name":"submissionFromId","in":"path","required":true,"schema":{"type":"integer","format":"int32"}}],"responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"$ref":"#/components/schemas/SimilarityStatusResponseDto"}}}}}}},"/api/similarity/analyze":{"get":{"tags":["similarity-controller"],"operationId":"analyze","responses":{"200":{"description":"OK","content":{"*/*":{"schema":{"type":"object"}}}}}}},"/api/similarity/analyze/sse/{groupId}":{"get":{"tags":["similarity-controller"],"operationId":"subscribeToEvents","parameters":[{"name":"groupId","in":"path","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"OK","content":{"text/event-stream":{"schema":{"$ref":"#/components/schemas/SseEmitter"}}}}}}}},"components":{"schemas":{"SubmissionIdsRequestDto":{"type":"object","properties":{"submissionIds":{"type":"array","items":{"type":"integer","format":"int32"},"minItems":1}},"required":["submissionIds"]},"SimilarityStartResponseDto":{"type":"object","properties":{"accepted":{"type":"boolean"},"requestedCount":{"type":"integer","format":"int32"},"startedCount":{"type":"integer","format":"int32"},"startedSubmissionIds":{"type":"array","items":{"type":"integer","format":"int32"}}}},"PerSubmissionStatus":{"type":"object","properties":{"submissionId":{"type":"integer","format":"int32"},"status":{"type":"string"},"total":{"type":"integer","format":"int32"},"done":{"type":"integer","format":"int32"},"skipped":{"type":"integer","format":"int32"}}},"SimilarityStatusResponseDto":{"type":"object","properties":{"status":{"type":"string"},"total":{"type":"integer","format":"int32"},"done":{"type":"integer","format":"int32"},"skipped":{"type":"integer","format":"int32"},"perSubmissions":{"type":"array","items":{"$ref":"#/components/schemas/PerSubmissionStatus"}}}},"SseEmitter":{"type":"object","properties":{"timeout":{"type":"integer","format":"int64"}}}}}}