learnsteam-quiz-api/docs/docs.go
2023-11-23 00:30:50 +09:00

1275 lines
42 KiB
Go

// 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": "사용자가 로그인합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"로그인"
],
"summary": "사용자 로그인 로그인",
"parameters": [
{
"description": "Login Body",
"name": "loginBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.LoginRequest"
}
}
],
"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"
],
"tags": [
"회원가입"
],
"summary": "회원가입",
"parameters": [
{
"description": "Register Body",
"name": "registerBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.RegisterRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.RegisterResponse"
}
}
}
}
},
"/exam": {
"get": {
"description": "응시 목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Exam"
],
"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.ExamListResponse"
}
}
}
},
"put": {
"description": "퀴즈 프로그램을 수정합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Exam"
],
"summary": "퀴즈 프로그램 수정",
"parameters": [
{
"description": "Exam Update Body",
"name": "examUpdateBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamUpdateRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamResponse"
}
}
}
},
"post": {
"description": "응시 매칭을 만듭니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Exam"
],
"summary": "응시 매칭 생성",
"parameters": [
{
"description": "Exam Body",
"name": "examBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamResponse"
}
}
}
},
"patch": {
"description": "퀴즈 프로그램 정보를 변경합니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Exam"
],
"summary": "퀴즈 프로그램 정보 변경",
"parameters": [
{
"description": "Exam Patch Body (변경할 필드만 입력)",
"name": "examPatchBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamPatchRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ExamResponse"
}
}
}
}
},
"/exam/{id}": {
"get": {
"description": "ID로 응시 정보를 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Exam"
],
"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.ExamResponse"
}
}
}
}
},
"/program": {
"get": {
"description": "퀴즈 프로그램 목록을 가져옵니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Program"
],
"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"
],
"tags": [
"Program"
],
"summary": "퀴즈 프로그램 수정",
"parameters": [
{
"description": "Program Body",
"name": "programUpdateBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse"
}
}
}
},
"post": {
"description": "퀴즈 프로그램을 만듭니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Program"
],
"summary": "퀴즈 프로그램 생성",
"parameters": [
{
"description": "Program Body",
"name": "programBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramRequest"
}
}
],
"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"
],
"tags": [
"Program"
],
"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"
],
"tags": [
"Quiz"
],
"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"
],
"tags": [
"Quiz"
],
"summary": "퀴즈 수정",
"parameters": [
{
"description": "Quiz Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizRequest"
}
}
],
"responses": {
"200": {
"description": "OK",
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse"
}
}
}
},
"post": {
"description": "퀴즈를 만듭니다.",
"consumes": [
"application/json"
],
"produces": [
"application/json"
],
"tags": [
"Quiz"
],
"summary": "퀴즈 생성",
"parameters": [
{
"description": "Quiz Body",
"name": "quizBody",
"in": "body",
"required": true,
"schema": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizRequest"
}
}
],
"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"
],
"tags": [
"Quiz"
],
"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"
],
"tags": [
"Token"
],
"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"
],
"tags": [
"User"
],
"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"
],
"tags": [
"User"
],
"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.Exam": {
"type": "object",
"properties": {
"end_at": {
"type": "string"
},
"id": {
"type": "string",
"example": "ef74c59a-c707-4162-a52b-455906c81ec1"
},
"name": {
"type": "string",
"example": "홍길순"
},
"program": {
"type": "string",
"example": "파이썬 초급 과정"
},
"program_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"score": {
"type": "integer",
"example": 5
},
"start_at": {
"type": "string"
},
"status": {
"type": "string",
"example": "ready"
},
"subject": {
"type": "string",
"example": "출력 Print"
},
"total": {
"type": "integer",
"example": 5
},
"user_id": {
"type": "string",
"example": "f95159dd-c42c-490d-ac6b-ca5d88a266bb"
}
}
},
"learnsteam_learsteam-quiz-api_internal_models.ExamListResponse": {
"type": "object",
"properties": {
"data": {
"type": "array",
"items": {
"$ref": "#/definitions/learnsteam_learsteam-quiz-api_internal_models.Exam"
}
},
"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.ExamPatchRequest": {
"type": "object",
"properties": {
"end_at": {
"type": "string",
"example": "2023-11-10T13:25:00+09:00"
},
"score": {
"type": "integer",
"example": 4
},
"start_at": {
"type": "string",
"example": "2023-11-10T13:10:00+09:00"
},
"status": {
"type": "string",
"example": "rating"
}
}
},
"learnsteam_learsteam-quiz-api_internal_models.ExamRequest": {
"type": "object",
"properties": {
"program_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"users": {
"type": "array",
"items": {
"type": "integer"
}
}
}
},
"learnsteam_learsteam-quiz-api_internal_models.ExamResponse": {
"type": "object",
"properties": {
"end_at": {
"type": "string",
"example": "2023-11-10T13:25:00+09:00"
},
"id": {
"type": "string",
"example": "ef74c59a-c707-4162-a52b-455906c81ec1"
},
"name": {
"type": "string",
"example": "홍길순"
},
"program": {
"type": "string",
"example": "파이썬 초급 과정"
},
"program_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"score": {
"type": "integer",
"example": 5
},
"start_at": {
"type": "string",
"example": "2023-11-10T13:10:00+09:00"
},
"status": {
"type": "string",
"example": "ready"
},
"subject": {
"type": "string",
"example": "출력 Print"
},
"total": {
"type": "integer",
"example": 5
},
"user_id": {
"type": "string",
"example": "f95159dd-c42c-490d-ac6b-ca5d88a266bb"
}
}
},
"learnsteam_learsteam-quiz-api_internal_models.ExamUpdateRequest": {
"type": "object",
"properties": {
"end_at": {
"type": "string",
"example": "2023-11-10T13:25:00+09:00"
},
"name": {
"type": "string",
"example": "홍길순"
},
"program": {
"type": "string",
"example": "파이썬 초급 과정"
},
"program_id": {
"type": "string",
"example": "7f9329f5-2e36-4638-92d2-73064b7291a4"
},
"score": {
"type": "integer",
"example": 5
},
"start_at": {
"type": "string",
"example": "2023-11-10T13:10:00+09:00"
},
"status": {
"type": "string",
"example": "ready"
},
"subject": {
"type": "string",
"example": "출력 Print"
},
"total": {
"type": "integer",
"example": 5
},
"user_id": {
"type": "string",
"example": "f95159dd-c42c-490d-ac6b-ca5d88a266bb"
}
}
},
"learnsteam_learsteam-quiz-api_internal_models.LoginRequest": {
"type": "object",
"properties": {
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"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.ProgramRequest": {
"type": "object",
"properties": {
"content": {
"type": "string",
"example": "코스 설명"
},
"course": {
"type": "string",
"example": "코스 이름"
},
"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.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.QuizRequest": {
"type": "object",
"properties": {
"answer": {
"type": "array",
"items": {
"type": "integer"
}
},
"choice": {
"type": "array",
"items": {
"type": "integer"
}
},
"comment": {
"type": "string"
},
"hint": {
"type": "string"
},
"program_id": {
"type": "string"
},
"question": {
"type": "string"
},
"quiz_type": {
"type": "string"
},
"sequence": {
"type": "integer"
}
}
},
"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.RegisterRequest": {
"type": "object",
"properties": {
"name": {
"type": "string"
},
"password": {
"type": "string"
},
"username": {
"type": "string"
}
}
},
"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)
}