// 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) }