Skip to content

Commit 90804d6

Browse files
committed
feat: 사용자 평가 이슈 목록 조회 API 추가
1 parent bdb7ec7 commit 90804d6

2 files changed

Lines changed: 79 additions & 0 deletions

File tree

prod/components.yml

Lines changed: 39 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -895,6 +895,45 @@ schemas:
895895
- keywords
896896
additionalProperties: false
897897

898+
IssueEvaluatedResponse:
899+
type: object
900+
description: 이슈 응답 모델 (사용자 평가 포함)
901+
allOf:
902+
- $ref: '#/schemas/IssueResponse'
903+
- type: object
904+
properties:
905+
userEvaluatedPerspective:
906+
type: string
907+
enum: ["left", "center", "right"]
908+
description: 사용자가 평가한 이슈의 정치적 성향
909+
example: "center"
910+
required:
911+
- userEvaluatedPerspective
912+
additionalProperties: false
913+
914+
IssueEvaluatedListResponse:
915+
type: object
916+
description: 이슈 목록 응답 모델 (사용자 평가 포함)
917+
properties:
918+
issues:
919+
type: array
920+
items:
921+
$ref: '#/schemas/IssueEvaluatedResponse'
922+
description: 이슈 목록
923+
hasMore:
924+
type: boolean
925+
description: 더 많은 데이터가 있는지 여부
926+
example: true
927+
lastIssueId:
928+
type: string
929+
description: 마지막 이슈 ID (페이징용)
930+
example: "507f1f77bcf86cd799439011"
931+
required:
932+
- issues
933+
- hasMore
934+
- lastIssueId
935+
additionalProperties: false
936+
898937
IssueDetailResponse:
899938
allOf:
900939
- $ref: '#/schemas/IssueResponse'

prod/openapi.yml

Lines changed: 40 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -113,6 +113,46 @@ paths:
113113
'500':
114114
$ref: './components.yml#/responses/ServerError'
115115

116+
/issues/evaluated:
117+
get:
118+
x-amazon-apigateway-integration:
119+
$ref: "#/components/x-amazon-apigateway-integrations/lambda-integration"
120+
summary: 사용자 평가 이슈 목록 조회
121+
description: 사용자가 평가한 이슈들의 목록을 페이징하여 반환합니다.
122+
tags:
123+
- 이슈
124+
parameters:
125+
- name: limit
126+
in: query
127+
description: 반환할 이슈 수 (기본값 10)
128+
schema:
129+
type: integer
130+
default: 10
131+
minimum: 1
132+
maximum: 50
133+
- name: lastIssueId
134+
in: query
135+
description: 마지막으로 읽은 이슈의 아이디 (페이징용)
136+
schema:
137+
type: string
138+
responses:
139+
'200':
140+
description: 성공적으로 평가 이슈 목록을 반환
141+
content:
142+
application/json:
143+
schema:
144+
$ref: './components.yml#/schemas/IssueEvaluatedListResponse'
145+
'400':
146+
$ref: './components.yml#/responses/BadRequest'
147+
'401':
148+
$ref: './components.yml#/responses/Unauthorized'
149+
'403':
150+
$ref: './components.yml#/responses/Forbidden'
151+
'429':
152+
$ref: './components.yml#/responses/TooManyRequests'
153+
'500':
154+
$ref: './components.yml#/responses/ServerError'
155+
116156
/issues/{issueId}:
117157
get:
118158
x-amazon-apigateway-integration:

0 commit comments

Comments
 (0)