Skip to content

Conversation

@RoundTable02
Copy link
Collaborator

#️⃣ 연관된 이슈

MM-170

📝 작업 내용

이번 PR에서 작업한 내용을 간략히 설명해주세요(이미지 첨부 가능)

요약

  • 북마크 CRUD API 개발
  • 북마크 클릭 시 이동을 위한 페이지네이션 API 추가
  • 북마크 여부 (isSaved)

새로운 API 엔드포인트

1. 북마크 생성

POST /chatrooms/{chatRoomId}/bookmarks

Request Body:

{
  "messageId": 1
}

Response (200):

{
  "code": 200,
  "message": "성공",
  "data": {
    "bookmarkId": 1,
    "content": "메시지 내용",
    "type": "USER | ASSISTANT",
    "timestamp": "2026-01-09T16:13:45.512847"
  }
}

2. 북마크 삭제 (다건)

DELETE /chatrooms/{chatRoomId}/bookmarks

Request Body:

{
  "bookmarkIdList": [1, 2, 3]
}

Response (200):

{
  "code": 200,
  "message": "성공",
  "data": null
}

3. 북마크 리스트 조회

GET /chatrooms/{chatRoomId}/bookmarks?page=0&size=10

Response (200):

{
  "code": 200,
  "message": "성공",
  "data": {
    "list": [
      {
        "bookmarkId": 1,
        "content": "메시지 내용",
        "type": "USER | ASSISTANT",
        "timestamp": "2026-01-09T12:00:00"
      }
    ],
    "totalCount": 15
  }
}

4. 북마크 기반 메시지 조회

북마크된 메시지 위치로 이동하기 위한 메시지 목록을 조회합니다.

GET /chatrooms/{chatRoomId}/bookmarks/{bookmarkId}/messages?size=10&sort=ASC

Query Parameters:

파라미터 기본값 설명
size 10 페이지 크기
sort ASC 정렬 방향 (ASC/DESC)

Response (200):

{
  "code": 200,
  "message": "성공",
  "data": {
    "targetMessageId": 5,
    "size": 10,
    "page": 0,
    "messages": [
      {
        "messageId": 1,
        "content": "메시지 내용",
        "senderType": "USER | AI",
        "createdAt": "2026-01-09T12:00:00",
        "isSaved": true
      }
    ]
  }
}

기존 API 변경사항

채팅 메시지 조회 API

기존 isSaved 필드가 사용자별 북마크 여부를 반환하도록 변경되었습니다.

  • 변경 전: 전체 저장 여부 (SavedChatMessage 기반)
  • 변경 후: 현재 사용자의 북마크 여부 (Bookmark 기반)

해당 API:

  • GET /chatrooms/current/messages
  • GET /chatrooms/{chatRoomId}/messages

새로운 에러 코드

코드 HTTP Status 메시지
40014 400 북마크가 존재하지 않습니다.
40015 400 이미 북마크된 메시지입니다.
40016 400 메시지가 존재하지 않습니다.

인증

모든 북마크 API는 JWT 토큰 인증이 필요합니다.

Authorization: Bearer {accessToken}

@RoundTable02 RoundTable02 self-assigned this Jan 9, 2026
@RoundTable02 RoundTable02 merged commit 3375d0d into qa Jan 9, 2026
2 checks passed
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

Projects

None yet

Development

Successfully merging this pull request may close these issues.

1 participant