2023-11-17 01:38:01 +09:00
|
|
|
// Package docs Code generated by swaggo/swag. DO NOT EDIT
|
|
|
|
package docs
|
|
|
|
|
|
|
|
import "github.com/swaggo/swag"
|
|
|
|
|
|
|
|
const docTemplate = `{
|
|
|
|
"schemes": {{ marshal .Schemes }},
|
|
|
|
"swagger": "2.0",
|
|
|
|
"info": {
|
|
|
|
"description": "{{escape .Description}}",
|
|
|
|
"title": "{{.Title}}",
|
|
|
|
"contact": {
|
|
|
|
"name": "Jay Sheen",
|
|
|
|
"email": "sheen@jongyeob.com"
|
|
|
|
},
|
|
|
|
"version": "{{.Version}}"
|
|
|
|
},
|
|
|
|
"host": "{{.Host}}",
|
|
|
|
"basePath": "{{.BasePath}}",
|
|
|
|
"paths": {
|
|
|
|
"/auth/login": {
|
|
|
|
"post": {
|
|
|
|
"description": "username, password 를 입력하여 로그인",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"로그인"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "로그인",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "username",
|
|
|
|
"name": "username",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "비밀번호",
|
|
|
|
"name": "password",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.LoginResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/auth/register": {
|
|
|
|
"post": {
|
|
|
|
"description": "username, name, password 를 입력하여 회원가입",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"회원가입"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "회원가입",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "username",
|
|
|
|
"name": "username",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "이름",
|
|
|
|
"name": "name",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "비밀번호",
|
|
|
|
"name": "password",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.RegisterResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/program": {
|
|
|
|
"get": {
|
|
|
|
"description": "퀴즈 프로그램 목록을 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Program"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "프로그램 목록 가져오기",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "태그",
|
|
|
|
"name": "tag",
|
|
|
|
"in": "query"
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"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_learsteam-quiz-api_internal_models.ProgramListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"description": "퀴즈 프로그램을 수정합니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Program"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 프로그램 수정",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "프로그램 제목",
|
|
|
|
"name": "subject",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 코스",
|
|
|
|
"name": "course",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 내용",
|
|
|
|
"name": "content",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 태그",
|
|
|
|
"name": "tag",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 상태 on 또는 off",
|
|
|
|
"name": "status",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 발행 날짜",
|
|
|
|
"name": "publish_at",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"description": "퀴즈 프로그램을 만듭니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Program"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 프로그램 생성",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "프로그램 제목",
|
|
|
|
"name": "subject",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 코스",
|
|
|
|
"name": "course",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 내용",
|
|
|
|
"name": "content",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 태그",
|
|
|
|
"name": "tag",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 상태 on 또는 off",
|
|
|
|
"name": "status",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 발행 날짜",
|
|
|
|
"name": "publish_at",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/program/{id}": {
|
|
|
|
"get": {
|
|
|
|
"description": "ID로 퀴즈 프로그램을 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Program"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 프로그램 가져오기",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "퀴즈 프로그램 ID",
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/quiz": {
|
|
|
|
"get": {
|
|
|
|
"description": "퀴즈 목록을 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Quiz"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 목록 가져오기",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "프로그램 ID",
|
|
|
|
"name": "program_id",
|
|
|
|
"in": "query",
|
|
|
|
"required": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"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_learsteam-quiz-api_internal_models.QuizListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"put": {
|
|
|
|
"description": "퀴즈를 수정합니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Quiz"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 수정",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "퀴즈 ID",
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "프로그램 ID",
|
|
|
|
"name": "program_id",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 순서",
|
|
|
|
"name": "sequence",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 타입 : choice, check, ox, input",
|
|
|
|
"name": "quiz_type",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 문제",
|
|
|
|
"name": "question",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 선택지 : ['선택1','선택2','선택3', '선택4']",
|
|
|
|
"name": "choice",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 정답 : [1,3]",
|
|
|
|
"name": "answer",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 힌트",
|
|
|
|
"name": "hint",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 해설",
|
|
|
|
"name": "comment",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"post": {
|
|
|
|
"description": "퀴즈를 만듭니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Quiz"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 생성",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "프로그램 ID",
|
|
|
|
"name": "program_id",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 순서",
|
|
|
|
"name": "sequence",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 타입 : choice, check, ox, input",
|
|
|
|
"name": "quiz_type",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 문제",
|
|
|
|
"name": "question",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 선택지 : ['선택1','선택2','선택3', '선택4']",
|
|
|
|
"name": "choice",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 정답 : [1,3]",
|
|
|
|
"name": "answer",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 힌트",
|
|
|
|
"name": "hint",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
{
|
|
|
|
"description": "퀴즈 해설",
|
|
|
|
"name": "comment",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/quiz/{id}": {
|
|
|
|
"get": {
|
|
|
|
"description": "ID로 퀴즈를 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Quiz"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "퀴즈 가져오기",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "퀴즈 ID",
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/token/refresh": {
|
|
|
|
"post": {
|
|
|
|
"description": "AccessToken을 RefreshToken으로 갱신합니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"Token"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "AccessToken Refresh",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"description": "RefreshToken",
|
|
|
|
"name": "refresh_token",
|
|
|
|
"in": "body",
|
|
|
|
"required": true,
|
|
|
|
"schema": {
|
|
|
|
"type": "string"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/user": {
|
|
|
|
"get": {
|
|
|
|
"description": "사용자 목록을 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"User"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"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_learsteam-quiz-api_internal_models.UserListResponse"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"/user/{id}": {
|
|
|
|
"get": {
|
|
|
|
"description": "ID로 사용자 정보를 가져옵니다.",
|
|
|
|
"consumes": [
|
|
|
|
"application/json"
|
|
|
|
],
|
|
|
|
"produces": [
|
|
|
|
"application/json"
|
|
|
|
],
|
2023-11-17 14:27:42 +09:00
|
|
|
"tags": [
|
|
|
|
"User"
|
|
|
|
],
|
2023-11-17 01:38:01 +09:00
|
|
|
"summary": "사용자 정보 가져오기",
|
|
|
|
"parameters": [
|
|
|
|
{
|
|
|
|
"type": "string",
|
|
|
|
"description": "사용자 ID",
|
|
|
|
"name": "id",
|
|
|
|
"in": "path",
|
|
|
|
"required": true
|
|
|
|
}
|
|
|
|
],
|
|
|
|
"responses": {
|
|
|
|
"200": {
|
|
|
|
"description": "OK",
|
|
|
|
"schema": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"definitions": {
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.LoginResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"refresh_token": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDc4OTcwMjcs"
|
|
|
|
},
|
|
|
|
"token": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDI3MTMwMjcsInN1"
|
|
|
|
},
|
|
|
|
"user": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.Program": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"content": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "코스 설명"
|
|
|
|
},
|
|
|
|
"course": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "코스 이름"
|
|
|
|
},
|
|
|
|
"id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "ef74c59a-c707-4162-a52b-455906c81ec1"
|
|
|
|
},
|
|
|
|
"publish_at": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "2023-11-10T00:00:00+09:00"
|
|
|
|
},
|
|
|
|
"status": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "on"
|
|
|
|
},
|
|
|
|
"subject": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "프로그램 제목"
|
|
|
|
},
|
|
|
|
"tag": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.ProgramListResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"data": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.Program"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"page": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 1
|
|
|
|
},
|
|
|
|
"pageSize": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 10
|
|
|
|
},
|
|
|
|
"total": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 999
|
|
|
|
},
|
|
|
|
"totalPage": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 99
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.ProgramResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"content": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "코스 설명"
|
|
|
|
},
|
|
|
|
"course": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "코스 이름"
|
|
|
|
},
|
|
|
|
"id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "ef74c59a-c707-4162-a52b-455906c81ec1"
|
|
|
|
},
|
|
|
|
"publish_at": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "2023-11-10T00:00:00+09:00"
|
|
|
|
},
|
|
|
|
"status": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "on"
|
|
|
|
},
|
|
|
|
"subject": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "프로그램 제목"
|
|
|
|
},
|
|
|
|
"tag": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "string"
|
|
|
|
},
|
|
|
|
"example": [
|
|
|
|
"tag1",
|
|
|
|
"tag2"
|
|
|
|
]
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.Quiz": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"answer": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"choice": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"comment": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 해설"
|
|
|
|
},
|
|
|
|
"hint": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 힌트"
|
|
|
|
},
|
|
|
|
"id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "1b066168-68c4-4b50-bc9a-b6c4fceaf378"
|
|
|
|
},
|
|
|
|
"program_id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "2036023a-fb56-4b6c-b3bb-c787c681ada6"
|
|
|
|
},
|
|
|
|
"question": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 질문입니다."
|
|
|
|
},
|
|
|
|
"quiz_type": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "choice"
|
|
|
|
},
|
|
|
|
"sequence": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 5
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.QuizListResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"data": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.Quiz"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"page": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 1
|
|
|
|
},
|
|
|
|
"pageSize": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 10
|
|
|
|
},
|
|
|
|
"total": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 5
|
|
|
|
},
|
|
|
|
"totalPage": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 1
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.QuizResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"answer": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"choice": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"type": "integer"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"comment": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 해설"
|
|
|
|
},
|
|
|
|
"hint": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 힌트"
|
|
|
|
},
|
|
|
|
"id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "1b066168-68c4-4b50-bc9a-b6c4fceaf378"
|
|
|
|
},
|
|
|
|
"program_id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "2036023a-fb56-4b6c-b3bb-c787c681ada6"
|
|
|
|
},
|
|
|
|
"question": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "퀴즈 질문입니다."
|
|
|
|
},
|
|
|
|
"quiz_type": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "check"
|
|
|
|
},
|
|
|
|
"sequence": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 5
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.RegisterResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"refresh_token": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDc4OTcwMjcs"
|
|
|
|
},
|
|
|
|
"token": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDI3MTMwMjcsInN1"
|
|
|
|
},
|
|
|
|
"user": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.User": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"id": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "137c1683-2ad6-4201-b256-253828b61c49"
|
|
|
|
},
|
|
|
|
"name": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "홍길동"
|
|
|
|
},
|
|
|
|
"score": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 9999
|
|
|
|
},
|
|
|
|
"username": {
|
|
|
|
"type": "string",
|
|
|
|
"example": "user0"
|
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"learnsteam_learsteam-quiz-api_internal_models.UserListResponse": {
|
|
|
|
"type": "object",
|
|
|
|
"properties": {
|
|
|
|
"data": {
|
|
|
|
"type": "array",
|
|
|
|
"items": {
|
|
|
|
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.User"
|
|
|
|
}
|
|
|
|
},
|
|
|
|
"page": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 1
|
|
|
|
},
|
|
|
|
"pageSize": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 10
|
|
|
|
},
|
|
|
|
"total": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 90
|
|
|
|
},
|
|
|
|
"totalPage": {
|
|
|
|
"type": "integer",
|
|
|
|
"example": 9
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
}`
|
|
|
|
|
|
|
|
// SwaggerInfo holds exported Swagger Info so clients can modify it
|
|
|
|
var SwaggerInfo = &swag.Spec{
|
|
|
|
Version: "1.0",
|
|
|
|
Host: "",
|
|
|
|
BasePath: "",
|
|
|
|
Schemes: []string{},
|
|
|
|
Title: "Learsteam Quiz API",
|
|
|
|
Description: "Learnsteam Quiz 서비스 API",
|
|
|
|
InfoInstanceName: "swagger",
|
|
|
|
SwaggerTemplate: docTemplate,
|
|
|
|
LeftDelim: "{{",
|
|
|
|
RightDelim: "}}",
|
|
|
|
}
|
|
|
|
|
|
|
|
func init() {
|
|
|
|
swag.Register(SwaggerInfo.InstanceName(), SwaggerInfo)
|
|
|
|
}
|