707 lines
17 KiB
YAML
707 lines
17 KiB
YAML
definitions:
|
|
learnsteam_learsteam-quiz-api_internal_models.LoginResponse:
|
|
properties:
|
|
refresh_token:
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDc4OTcwMjcs
|
|
type: string
|
|
token:
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDI3MTMwMjcsInN1
|
|
type: string
|
|
user:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.User'
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.Program:
|
|
properties:
|
|
content:
|
|
example: 코스 설명
|
|
type: string
|
|
course:
|
|
example: 코스 이름
|
|
type: string
|
|
id:
|
|
example: ef74c59a-c707-4162-a52b-455906c81ec1
|
|
type: string
|
|
publish_at:
|
|
example: "2023-11-10T00:00:00+09:00"
|
|
type: string
|
|
status:
|
|
example: "on"
|
|
type: string
|
|
subject:
|
|
example: 프로그램 제목
|
|
type: string
|
|
tag:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.ProgramListResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.Program'
|
|
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_learsteam-quiz-api_internal_models.ProgramResponse:
|
|
properties:
|
|
content:
|
|
example: 코스 설명
|
|
type: string
|
|
course:
|
|
example: 코스 이름
|
|
type: string
|
|
id:
|
|
example: ef74c59a-c707-4162-a52b-455906c81ec1
|
|
type: string
|
|
publish_at:
|
|
example: "2023-11-10T00:00:00+09:00"
|
|
type: string
|
|
status:
|
|
example: "on"
|
|
type: string
|
|
subject:
|
|
example: 프로그램 제목
|
|
type: string
|
|
tag:
|
|
example:
|
|
- tag1
|
|
- tag2
|
|
items:
|
|
type: string
|
|
type: array
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.Quiz:
|
|
properties:
|
|
answer:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
choice:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
comment:
|
|
example: 퀴즈 해설
|
|
type: string
|
|
hint:
|
|
example: 퀴즈 힌트
|
|
type: string
|
|
id:
|
|
example: 1b066168-68c4-4b50-bc9a-b6c4fceaf378
|
|
type: string
|
|
program_id:
|
|
example: 2036023a-fb56-4b6c-b3bb-c787c681ada6
|
|
type: string
|
|
question:
|
|
example: 퀴즈 질문입니다.
|
|
type: string
|
|
quiz_type:
|
|
example: choice
|
|
type: string
|
|
sequence:
|
|
example: 5
|
|
type: integer
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.QuizListResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.Quiz'
|
|
type: array
|
|
page:
|
|
example: 1
|
|
type: integer
|
|
pageSize:
|
|
example: 10
|
|
type: integer
|
|
total:
|
|
example: 5
|
|
type: integer
|
|
totalPage:
|
|
example: 1
|
|
type: integer
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.QuizResponse:
|
|
properties:
|
|
answer:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
choice:
|
|
items:
|
|
type: integer
|
|
type: array
|
|
comment:
|
|
example: 퀴즈 해설
|
|
type: string
|
|
hint:
|
|
example: 퀴즈 힌트
|
|
type: string
|
|
id:
|
|
example: 1b066168-68c4-4b50-bc9a-b6c4fceaf378
|
|
type: string
|
|
program_id:
|
|
example: 2036023a-fb56-4b6c-b3bb-c787c681ada6
|
|
type: string
|
|
question:
|
|
example: 퀴즈 질문입니다.
|
|
type: string
|
|
quiz_type:
|
|
example: check
|
|
type: string
|
|
sequence:
|
|
example: 5
|
|
type: integer
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.RegisterResponse:
|
|
properties:
|
|
refresh_token:
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDc4OTcwMjcs
|
|
type: string
|
|
token:
|
|
example: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJhdXRob3JpemVkIjp0cnVlLCJleHAiOjE3MDI3MTMwMjcsInN1
|
|
type: string
|
|
user:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.User'
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.User:
|
|
properties:
|
|
id:
|
|
example: 137c1683-2ad6-4201-b256-253828b61c49
|
|
type: string
|
|
name:
|
|
example: 홍길동
|
|
type: string
|
|
score:
|
|
example: 9999
|
|
type: integer
|
|
username:
|
|
example: user0
|
|
type: string
|
|
type: object
|
|
learnsteam_learsteam-quiz-api_internal_models.UserListResponse:
|
|
properties:
|
|
data:
|
|
items:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.User'
|
|
type: array
|
|
page:
|
|
example: 1
|
|
type: integer
|
|
pageSize:
|
|
example: 10
|
|
type: integer
|
|
total:
|
|
example: 90
|
|
type: integer
|
|
totalPage:
|
|
example: 9
|
|
type: integer
|
|
type: object
|
|
info:
|
|
contact:
|
|
email: sheen@jongyeob.com
|
|
name: Jay Sheen
|
|
description: Learnsteam Quiz 서비스 API
|
|
title: Learsteam Quiz API
|
|
version: "1.0"
|
|
paths:
|
|
/auth/login:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: username, password 를 입력하여 로그인
|
|
parameters:
|
|
- description: username
|
|
in: body
|
|
name: username
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 비밀번호
|
|
in: body
|
|
name: password
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.LoginResponse'
|
|
summary: 로그인
|
|
tags:
|
|
- 로그인
|
|
/auth/register:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: username, name, password 를 입력하여 회원가입
|
|
parameters:
|
|
- description: username
|
|
in: body
|
|
name: username
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 이름
|
|
in: body
|
|
name: name
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 비밀번호
|
|
in: body
|
|
name: password
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.RegisterResponse'
|
|
summary: 회원가입
|
|
tags:
|
|
- 회원가입
|
|
/program:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈 프로그램 목록을 가져옵니다.
|
|
parameters:
|
|
- description: 태그
|
|
in: query
|
|
name: tag
|
|
type: string
|
|
- 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_learsteam-quiz-api_internal_models.ProgramListResponse'
|
|
summary: 프로그램 목록 가져오기
|
|
tags:
|
|
- Program
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈 프로그램을 만듭니다.
|
|
parameters:
|
|
- description: 프로그램 제목
|
|
in: body
|
|
name: subject
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 코스
|
|
in: body
|
|
name: course
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 내용
|
|
in: body
|
|
name: content
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 태그
|
|
in: body
|
|
name: tag
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: 프로그램 상태 on 또는 off
|
|
in: body
|
|
name: status
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 발행 날짜
|
|
in: body
|
|
name: publish_at
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse'
|
|
summary: 퀴즈 프로그램 생성
|
|
tags:
|
|
- Program
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈 프로그램을 수정합니다.
|
|
parameters:
|
|
- description: 프로그램 제목
|
|
in: body
|
|
name: subject
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 코스
|
|
in: body
|
|
name: course
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 내용
|
|
in: body
|
|
name: content
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 태그
|
|
in: body
|
|
name: tag
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: 프로그램 상태 on 또는 off
|
|
in: body
|
|
name: status
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 프로그램 발행 날짜
|
|
in: body
|
|
name: publish_at
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse'
|
|
summary: 퀴즈 프로그램 수정
|
|
tags:
|
|
- Program
|
|
/program/{id}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: ID로 퀴즈 프로그램을 가져옵니다.
|
|
parameters:
|
|
- description: 퀴즈 프로그램 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse'
|
|
summary: 퀴즈 프로그램 가져오기
|
|
tags:
|
|
- Program
|
|
/quiz:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈 목록을 가져옵니다.
|
|
parameters:
|
|
- description: 프로그램 ID
|
|
in: query
|
|
name: program_id
|
|
required: true
|
|
type: string
|
|
- 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_learsteam-quiz-api_internal_models.QuizListResponse'
|
|
summary: 퀴즈 목록 가져오기
|
|
tags:
|
|
- Quiz
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈를 만듭니다.
|
|
parameters:
|
|
- description: 프로그램 ID
|
|
in: body
|
|
name: program_id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 순서
|
|
in: body
|
|
name: sequence
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: '퀴즈 타입 : choice, check, ox, input'
|
|
in: body
|
|
name: quiz_type
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 문제
|
|
in: body
|
|
name: question
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: '퀴즈 선택지 : [''선택1'',''선택2'',''선택3'', ''선택4'']'
|
|
in: body
|
|
name: choice
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: '퀴즈 정답 : [1,3]'
|
|
in: body
|
|
name: answer
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: 퀴즈 힌트
|
|
in: body
|
|
name: hint
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 해설
|
|
in: body
|
|
name: comment
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse'
|
|
summary: 퀴즈 생성
|
|
tags:
|
|
- Quiz
|
|
put:
|
|
consumes:
|
|
- application/json
|
|
description: 퀴즈를 수정합니다.
|
|
parameters:
|
|
- description: 퀴즈 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
- description: 프로그램 ID
|
|
in: body
|
|
name: program_id
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 순서
|
|
in: body
|
|
name: sequence
|
|
required: true
|
|
schema:
|
|
type: integer
|
|
- description: '퀴즈 타입 : choice, check, ox, input'
|
|
in: body
|
|
name: quiz_type
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 문제
|
|
in: body
|
|
name: question
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: '퀴즈 선택지 : [''선택1'',''선택2'',''선택3'', ''선택4'']'
|
|
in: body
|
|
name: choice
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: '퀴즈 정답 : [1,3]'
|
|
in: body
|
|
name: answer
|
|
required: true
|
|
schema:
|
|
items:
|
|
type: string
|
|
type: array
|
|
- description: 퀴즈 힌트
|
|
in: body
|
|
name: hint
|
|
required: true
|
|
schema:
|
|
type: string
|
|
- description: 퀴즈 해설
|
|
in: body
|
|
name: comment
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse'
|
|
summary: 퀴즈 수정
|
|
tags:
|
|
- Quiz
|
|
/quiz/{id}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: ID로 퀴즈를 가져옵니다.
|
|
parameters:
|
|
- description: 퀴즈 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.QuizResponse'
|
|
summary: 퀴즈 가져오기
|
|
tags:
|
|
- Quiz
|
|
/token/refresh:
|
|
post:
|
|
consumes:
|
|
- application/json
|
|
description: AccessToken을 RefreshToken으로 갱신합니다.
|
|
parameters:
|
|
- description: RefreshToken
|
|
in: body
|
|
name: refresh_token
|
|
required: true
|
|
schema:
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.ProgramResponse'
|
|
summary: AccessToken Refresh
|
|
tags:
|
|
- Token
|
|
/user:
|
|
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_learsteam-quiz-api_internal_models.UserListResponse'
|
|
summary: 사용자 목록 가져오기
|
|
tags:
|
|
- User
|
|
/user/{id}:
|
|
get:
|
|
consumes:
|
|
- application/json
|
|
description: ID로 사용자 정보를 가져옵니다.
|
|
parameters:
|
|
- description: 사용자 ID
|
|
in: path
|
|
name: id
|
|
required: true
|
|
type: string
|
|
produces:
|
|
- application/json
|
|
responses:
|
|
"200":
|
|
description: OK
|
|
schema:
|
|
$ref: '#/definitions/learnsteam_learsteam-quiz-api_internal_models.User'
|
|
summary: 사용자 정보 가져오기
|
|
tags:
|
|
- User
|
|
swagger: "2.0"
|