Skip to content

Commit f4c9271

Browse files
committed
feat: 관리자 전용 이슈 생성, 수정, 삭제 및 기사 추가/수정 API 추가
1 parent 2b07e2b commit f4c9271

2 files changed

Lines changed: 456 additions & 0 deletions

File tree

dev/components.yml

Lines changed: 190 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -145,6 +145,196 @@ schemas:
145145
- timestamp
146146
additionalProperties: false
147147

148+
AdminIssueCreateRequest:
149+
type: object
150+
description: 새 이슈 생성 요청 (관리자 전용)
151+
properties:
152+
title:
153+
type: string
154+
description: 이슈 제목
155+
example: "새로운 정치 이슈"
156+
category:
157+
type: string
158+
enum: ["politics", "economy", "society", "culture", "international", "technology"]
159+
description: 이슈 카테고리
160+
example: "politics"
161+
summary:
162+
type: string
163+
description: 이슈 요약
164+
example: "새로운 정치 이슈에 대한 간략한 요약입니다."
165+
keywords:
166+
type: array
167+
items:
168+
type: string
169+
description: 이슈 관련 키워드
170+
example: ["정치", "선거"]
171+
imageUrl:
172+
type: string
173+
format: uri
174+
description: 이슈 관련 이미지 URL
175+
example: "https://example.com/new_issue.jpg"
176+
leftSummary:
177+
type: string
178+
description: 좌성향 관점 요약
179+
centerSummary:
180+
type: string
181+
description: 중도 관점 요약
182+
rightSummary:
183+
type: string
184+
description: 우성향 관점 요약
185+
biasComparison:
186+
type: string
187+
description: 편향 비교 분석
188+
leftKeywords:
189+
type: array
190+
items:
191+
type: string
192+
centerKeywords:
193+
type: array
194+
items:
195+
type: string
196+
rightKeywords:
197+
type: array
198+
items:
199+
type: string
200+
createdAt:
201+
type: string
202+
format: date-time
203+
description: 생성 시간 (ISO 8601)
204+
updatedAt:
205+
type: string
206+
format: date-time
207+
description: 업데이트 시간 (ISO 8601)
208+
required:
209+
- title
210+
- category
211+
additionalProperties: false
212+
213+
AdminIssueUpdateRequest:
214+
type: object
215+
description: 이슈 수정 요청 (관리자 전용)
216+
properties:
217+
title:
218+
type: string
219+
description: 이슈 제목
220+
example: "수정된 정치 이슈"
221+
summary:
222+
type: string
223+
description: 이슈 요약
224+
example: "수정된 정치 이슈에 대한 간략한 요약입니다."
225+
keywords:
226+
type: array
227+
items:
228+
type: string
229+
description: 이슈 관련 키워드
230+
example: ["정치", "선거", "개정"]
231+
imageUrl:
232+
type: string
233+
format: uri
234+
description: 이슈 관련 이미지 URL
235+
example: "https://example.com/updated_issue.jpg"
236+
leftSummary:
237+
type: string
238+
description: 좌성향 관점 요약
239+
centerSummary:
240+
type: string
241+
description: 중도 관점 요약
242+
rightSummary:
243+
type: string
244+
description: 우성향 관점 요약
245+
biasComparison:
246+
type: string
247+
description: 편향 비교 분석
248+
leftKeywords:
249+
type: array
250+
items:
251+
type: string
252+
centerKeywords:
253+
type: array
254+
items:
255+
type: string
256+
rightKeywords:
257+
type: array
258+
items:
259+
type: string
260+
additionalProperties: false
261+
262+
AdminArticleAddRequest:
263+
type: object
264+
description: 이슈에 기사 추가 요청 (관리자 전용)
265+
properties:
266+
articleIdList:
267+
type: array
268+
items:
269+
type: string
270+
example: "article-12345"
271+
description: 이슈에 추가할 기사 ID 목록
272+
required:
273+
- articleIdList
274+
additionalProperties: false
275+
276+
AdminArticleUpdateRequest:
277+
type: object
278+
description: 기사 수정 요청 (관리자 전용)
279+
properties:
280+
title:
281+
type: string
282+
description: 기사 제목
283+
example: "수정된 기사 제목"
284+
summary:
285+
type: string
286+
description: 기사 요약
287+
example: "수정된 기사 요약입니다."
288+
content:
289+
type: string
290+
description: 기사 내용
291+
reporter:
292+
type: string
293+
description: 기자 이름
294+
url:
295+
type: string
296+
format: uri
297+
description: 기사 URL
298+
imageUrl:
299+
type: string
300+
format: uri
301+
description: 기사 이미지 URL
302+
keywords:
303+
type: array
304+
items:
305+
type: string
306+
additionalProperties: false
307+
308+
AdminSimilarArticlesResponse:
309+
type: object
310+
description: 유사 기사 조회 응답 (관리자 전용)
311+
properties:
312+
message:
313+
type: string
314+
description: 응답 메시지
315+
example: "유사한 기사들을 성공적으로 조회했습니다."
316+
targetIssue:
317+
$ref: '#/schemas/IssueResponse'
318+
description: 기준 이슈 정보
319+
similarArticles:
320+
type: array
321+
items:
322+
allOf:
323+
- $ref: '#/schemas/ArticleResponse'
324+
- type: object
325+
properties:
326+
similarity:
327+
type: number
328+
format: float
329+
description: 기준 이슈와의 코사인 유사도
330+
example: 0.85
331+
description: 유사 기사 목록 (유사도 포함)
332+
required:
333+
- message
334+
- targetIssue
335+
- similarArticles
336+
additionalProperties: false
337+
148338
# ============== 사용자/인증 관련 모델 ==============
149339
UserRegistrationRequest:
150340
type: object

0 commit comments

Comments
 (0)