퀴즈 풀기/점수

This commit is contained in:
2024-02-19 22:43:31 +09:00
parent 41e1ed5c58
commit 05292be591
24 changed files with 2425 additions and 39 deletions

@ -273,6 +273,304 @@ const docTemplate = `{
}
}
},
"/paper": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "목록 가져오기",
"parameters": [
{
"type": "string",
"description": "검색어",
"name": "q",
"in": "query"
},
{
"type": "integer",
"description": "페이지",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "페이지 사이즈",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperListResponse"
}
}
}
}
},
"/paper/{paper_id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "ID로 페이퍼 정보를 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "페이퍼 정보 가져오기",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperResponse"
}
}
}
}
},
"/paper/{paper_id}/finish": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 종료합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 종료",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.Paper"
}
}
}
}
},
"/paper/{paper_id}/quiz": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈페이퍼 퀴즈 목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈페이퍼 퀴즈 목록 가져오기",
"parameters": [
{
"type": "integer",
"description": "퀴즈페이퍼 ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "페이지",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "페이지 사이즈",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.UserQuizListResponse"
}
}
}
}
},
"/paper/{paper_id}/quiz/{quiz_id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "ID로 퀴즈를 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈페이퍼 퀴즈 가져오기",
"parameters": [
{
"type": "string",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "사용자퀴즈 ID",
"name": "quiz_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.UserQuizResponse"
}
}
}
}
},
"/paper/{paper_id}/quiz/{quiz_id}/answer": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 답변을 제출합니다..",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 답변",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Quiz ID",
"name": "quiz_id",
"in": "path",
"required": true
},
{
"description": "Answer Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest"
}
}
],
"responses": {}
}
},
"/paper/{paper_id}/start": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 시작합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 시작",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.Paper"
}
}
}
}
},
"/quiz": {
"get": {
"security": [
@ -982,6 +1280,43 @@ const docTemplate = `{
}
}
}
},
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "사용자퀴즈 답변을 제출합니다..",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"사용자퀴즈"
],
"summary": "사용자퀴즈 답변",
"parameters": [
{
"type": "integer",
"description": "Quiz ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Answer Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest"
}
}
],
"responses": {}
}
},
"/userquizpaper": {
@ -1199,6 +1534,21 @@ const docTemplate = `{
}
},
"definitions": {
"learnsteam_cslms-api_internal_models.AnswerQuizRequest": {
"type": "object",
"properties": {
"answer": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"option1",
"option4"
]
}
}
},
"learnsteam_cslms-api_internal_models.Center": {
"type": "object",
"properties": {
@ -1329,6 +1679,138 @@ const docTemplate = `{
}
}
},
"learnsteam_cslms-api_internal_models.Paper": {
"type": "object",
"properties": {
"center_id": {
"type": "integer",
"example": 1000015
},
"done_at": {
"type": "string"
},
"guid_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"id": {
"type": "integer",
"example": 1000015
},
"quiz_paper_id": {
"type": "integer",
"example": 1000001
},
"start_at": {
"type": "string"
},
"status": {
"type": "string",
"example": "wating"
},
"total_score": {
"type": "number",
"example": 100
},
"user_id": {
"type": "integer",
"example": 1000002
},
"user_score": {
"type": "number",
"example": 5
}
}
},
"learnsteam_cslms-api_internal_models.PaperListResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperResponse"
}
},
"page": {
"type": "integer",
"example": 1
},
"pageSize": {
"type": "integer",
"example": 10
},
"total": {
"type": "integer",
"example": 999
},
"totalPage": {
"type": "integer",
"example": 99
}
}
},
"learnsteam_cslms-api_internal_models.PaperResponse": {
"type": "object",
"properties": {
"category": {
"type": "string",
"example": "파이썬기본"
},
"center_id": {
"type": "integer",
"example": 1000015
},
"created_at": {
"type": "string"
},
"done_at": {
"type": "string"
},
"first_name": {
"type": "string",
"example": "길순"
},
"guid_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"id": {
"type": "integer",
"example": 1000015
},
"last_name": {
"type": "string",
"example": "홍"
},
"quiz_paper_id": {
"type": "integer",
"example": 1000001
},
"start_at": {
"type": "string"
},
"status": {
"type": "string",
"example": "wating"
},
"title": {
"type": "string",
"example": "출력 Print"
},
"total_score": {
"type": "number",
"example": 100
},
"user_id": {
"type": "integer",
"example": 1000002
},
"user_score": {
"type": "number",
"example": 5
}
}
},
"learnsteam_cslms-api_internal_models.Quiz": {
"type": "object",
"properties": {

@ -265,6 +265,304 @@
}
}
},
"/paper": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "목록 가져오기",
"parameters": [
{
"type": "string",
"description": "검색어",
"name": "q",
"in": "query"
},
{
"type": "integer",
"description": "페이지",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "페이지 사이즈",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperListResponse"
}
}
}
}
},
"/paper/{paper_id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "ID로 페이퍼 정보를 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "페이퍼 정보 가져오기",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperResponse"
}
}
}
}
},
"/paper/{paper_id}/finish": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 종료합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 종료",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.Paper"
}
}
}
}
},
"/paper/{paper_id}/quiz": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈페이퍼 퀴즈 목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈페이퍼 퀴즈 목록 가져오기",
"parameters": [
{
"type": "integer",
"description": "퀴즈페이퍼 ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "페이지",
"name": "page",
"in": "query"
},
{
"type": "integer",
"description": "페이지 사이즈",
"name": "limit",
"in": "query"
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.UserQuizListResponse"
}
}
}
}
},
"/paper/{paper_id}/quiz/{quiz_id}": {
"get": {
"security": [
{
"Bearer": []
}
],
"description": "ID로 퀴즈를 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈페이퍼 퀴즈 가져오기",
"parameters": [
{
"type": "string",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "string",
"description": "사용자퀴즈 ID",
"name": "quiz_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.UserQuizResponse"
}
}
}
}
},
"/paper/{paper_id}/quiz/{quiz_id}/answer": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 답변을 제출합니다..",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 답변",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
},
{
"type": "integer",
"description": "Quiz ID",
"name": "quiz_id",
"in": "path",
"required": true
},
{
"description": "Answer Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest"
}
}
],
"responses": {}
}
},
"/paper/{paper_id}/start": {
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "퀴즈 시작합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"페이퍼"
],
"summary": "퀴즈 시작",
"parameters": [
{
"type": "integer",
"description": "Paper ID",
"name": "paper_id",
"in": "path",
"required": true
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.Paper"
}
}
}
}
},
"/quiz": {
"get": {
"security": [
@ -974,6 +1272,43 @@
}
}
}
},
"patch": {
"security": [
{
"Bearer": []
}
],
"description": "사용자퀴즈 답변을 제출합니다..",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"사용자퀴즈"
],
"summary": "사용자퀴즈 답변",
"parameters": [
{
"type": "integer",
"description": "Quiz ID",
"name": "id",
"in": "path",
"required": true
},
{
"description": "Answer Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest"
}
}
],
"responses": {}
}
},
"/userquizpaper": {
@ -1191,6 +1526,21 @@
}
},
"definitions": {
"learnsteam_cslms-api_internal_models.AnswerQuizRequest": {
"type": "object",
"properties": {
"answer": {
"type": "array",
"items": {
"type": "string"
},
"example": [
"option1",
"option4"
]
}
}
},
"learnsteam_cslms-api_internal_models.Center": {
"type": "object",
"properties": {
@ -1321,6 +1671,138 @@
}
}
},
"learnsteam_cslms-api_internal_models.Paper": {
"type": "object",
"properties": {
"center_id": {
"type": "integer",
"example": 1000015
},
"done_at": {
"type": "string"
},
"guid_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"id": {
"type": "integer",
"example": 1000015
},
"quiz_paper_id": {
"type": "integer",
"example": 1000001
},
"start_at": {
"type": "string"
},
"status": {
"type": "string",
"example": "wating"
},
"total_score": {
"type": "number",
"example": 100
},
"user_id": {
"type": "integer",
"example": 1000002
},
"user_score": {
"type": "number",
"example": 5
}
}
},
"learnsteam_cslms-api_internal_models.PaperListResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/learnsteam_cslms-api_internal_models.PaperResponse"
}
},
"page": {
"type": "integer",
"example": 1
},
"pageSize": {
"type": "integer",
"example": 10
},
"total": {
"type": "integer",
"example": 999
},
"totalPage": {
"type": "integer",
"example": 99
}
}
},
"learnsteam_cslms-api_internal_models.PaperResponse": {
"type": "object",
"properties": {
"category": {
"type": "string",
"example": "파이썬기본"
},
"center_id": {
"type": "integer",
"example": 1000015
},
"created_at": {
"type": "string"
},
"done_at": {
"type": "string"
},
"first_name": {
"type": "string",
"example": "길순"
},
"guid_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"id": {
"type": "integer",
"example": 1000015
},
"last_name": {
"type": "string",
"example": "홍"
},
"quiz_paper_id": {
"type": "integer",
"example": 1000001
},
"start_at": {
"type": "string"
},
"status": {
"type": "string",
"example": "wating"
},
"title": {
"type": "string",
"example": "출력 Print"
},
"total_score": {
"type": "number",
"example": 100
},
"user_id": {
"type": "integer",
"example": 1000002
},
"user_score": {
"type": "number",
"example": 5
}
}
},
"learnsteam_cslms-api_internal_models.Quiz": {
"type": "object",
"properties": {

@ -1,4 +1,14 @@
definitions:
learnsteam_cslms-api_internal_models.AnswerQuizRequest:
properties:
answer:
example:
- option1
- option4
items:
type: string
type: array
type: object
learnsteam_cslms-api_internal_models.Center:
properties:
center_name:
@ -92,6 +102,101 @@ definitions:
user:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.User'
type: object
learnsteam_cslms-api_internal_models.Paper:
properties:
center_id:
example: 1000015
type: integer
done_at:
type: string
guid_id:
example: 7f9329f5-2e36-4638-92d2-73064b7291a4
type: string
id:
example: 1000015
type: integer
quiz_paper_id:
example: 1000001
type: integer
start_at:
type: string
status:
example: wating
type: string
total_score:
example: 100
type: number
user_id:
example: 1000002
type: integer
user_score:
example: 5
type: number
type: object
learnsteam_cslms-api_internal_models.PaperListResponse:
properties:
data:
items:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.PaperResponse'
type: array
page:
example: 1
type: integer
pageSize:
example: 10
type: integer
total:
example: 999
type: integer
totalPage:
example: 99
type: integer
type: object
learnsteam_cslms-api_internal_models.PaperResponse:
properties:
category:
example: 파이썬기본
type: string
center_id:
example: 1000015
type: integer
created_at:
type: string
done_at:
type: string
first_name:
example: 길순
type: string
guid_id:
example: 7f9329f5-2e36-4638-92d2-73064b7291a4
type: string
id:
example: 1000015
type: integer
last_name:
example:
type: string
quiz_paper_id:
example: 1000001
type: integer
start_at:
type: string
status:
example: wating
type: string
title:
example: 출력 Print
type: string
total_score:
example: 100
type: number
user_id:
example: 1000002
type: integer
user_score:
example: 5
type: number
type: object
learnsteam_cslms-api_internal_models.Quiz:
properties:
answer:
@ -886,6 +991,194 @@ paths:
summary: 센터 수정
tags:
- 센터
/paper:
get:
consumes:
- application/json
description: 목록을 가져옵니다.
parameters:
- description: 검색어
in: query
name: q
type: string
- description: 페이지
in: query
name: page
type: integer
- description: 페이지 사이즈
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.PaperListResponse'
security:
- Bearer: []
summary: 목록 가져오기
tags:
- 페이퍼
/paper/{paper_id}:
get:
consumes:
- application/json
description: ID로 페이퍼 정보를 가져옵니다.
parameters:
- description: Paper ID
in: path
name: paper_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.PaperResponse'
security:
- Bearer: []
summary: 페이퍼 정보 가져오기
tags:
- 페이퍼
/paper/{paper_id}/finish:
patch:
consumes:
- application/json
description: 퀴즈 종료합니다.
parameters:
- description: Paper ID
in: path
name: paper_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.Paper'
security:
- Bearer: []
summary: 퀴즈 종료
tags:
- 페이퍼
/paper/{paper_id}/quiz:
get:
consumes:
- application/json
description: 퀴즈페이퍼 퀴즈 목록을 가져옵니다.
parameters:
- description: 퀴즈페이퍼 ID
in: path
name: paper_id
required: true
type: integer
- description: 페이지
in: query
name: page
type: integer
- description: 페이지 사이즈
in: query
name: limit
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.UserQuizListResponse'
security:
- Bearer: []
summary: 퀴즈페이퍼 퀴즈 목록 가져오기
tags:
- 페이퍼
/paper/{paper_id}/quiz/{quiz_id}:
get:
consumes:
- application/json
description: ID로 퀴즈를 가져옵니다.
parameters:
- description: Paper ID
in: path
name: paper_id
required: true
type: string
- description: 사용자퀴즈 ID
in: path
name: quiz_id
required: true
type: string
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.UserQuizResponse'
security:
- Bearer: []
summary: 퀴즈페이퍼 퀴즈 가져오기
tags:
- 페이퍼
/paper/{paper_id}/quiz/{quiz_id}/answer:
patch:
consumes:
- application/json
description: 퀴즈 답변을 제출합니다..
parameters:
- description: Paper ID
in: path
name: paper_id
required: true
type: integer
- description: Quiz ID
in: path
name: quiz_id
required: true
type: integer
- description: Answer Body
in: body
name: quizBody
required: true
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest'
produces:
- application/json
responses: {}
security:
- Bearer: []
summary: 퀴즈 답변
tags:
- 페이퍼
/paper/{paper_id}/start:
patch:
consumes:
- application/json
description: 퀴즈 시작합니다.
parameters:
- description: Paper ID
in: path
name: paper_id
required: true
type: integer
produces:
- application/json
responses:
"200":
description: OK
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.Paper'
security:
- Bearer: []
summary: 퀴즈 시작
tags:
- 페이퍼
/quiz:
get:
consumes:
@ -1306,6 +1599,30 @@ paths:
summary: 사용자퀴즈 가져오기
tags:
- 사용자퀴즈
patch:
consumes:
- application/json
description: 사용자퀴즈 답변을 제출합니다..
parameters:
- description: Quiz ID
in: path
name: id
required: true
type: integer
- description: Answer Body
in: body
name: quizBody
required: true
schema:
$ref: '#/definitions/learnsteam_cslms-api_internal_models.AnswerQuizRequest'
produces:
- application/json
responses: {}
security:
- Bearer: []
summary: 사용자퀴즈 답변
tags:
- 사용자퀴즈
put:
consumes:
- application/json