---
# System prepended metadata

title: 6.コメント一覧取得/コメント通報管理シーケンス
tags: [Sequence, cheer_watch]

---

###### tags: `cheer_watch` `Sequence`

**!!! このファイルは[こちら](https://hackmd.io/5WkkwXl9R3myXOxTIvoT_Q)へ移行済みです**

# 6.コメント一覧取得/コメント通報管理シーケンス

## 概要

特定のLiveルームのコメント一覧を取得して画面表示するシーケンスと、特定のコメントを通報する際のシーケンスになります。

## 6-1.コメント一覧取得シーケンス

```mermaid
sequenceDiagram
participant front as フロントApp
participant api as SPBL API
participant cms as SPBL CMS
participant dynamo as AWS DynamoDB
    Note over front: コメント一覧ボタン押下
    front ->> api: コメント一覧取得API<br>GET: /api/v5/cheer_watch/room/{room_id}/comments
    api ->> cms: 
    cms ->> dynamo: コメント一覧要求<br>room_id
    Note over dynamo: live_comments GSI<br>room_idでフィルタ<br>is_reported=false<br>posted_at降順ソート
    dynamo -->> cms: コメント一覧
    Note over cms: レスポンスリソース生成
    cms -->> api: 
    api -->> front: コメント一覧<br>comments: [{comment_id, nickname, type, action, comments, amount}]
    Note over front: コメント一覧表示
```

## 6-2.コメント通報シーケンス

```mermaid
sequenceDiagram
participant front as フロントApp
participant api as SPBL API
participant cms as SPBL CMS
participant db as SPBL DB
participant dynamo as AWS DynamoDB
    Note over front: コメント一覧表示
    Note over front: 通報ボタン押下
    front ->> api: コメント通報API<br>POST: /api/v5/cheer_watch/room/{room_id}/comment/report<br>body: uid,comment_id,report_type
    api ->> cms: 
    cms ->> db: 通報コメントテーブル生成要求<br>agora_uid,comment_id,report_type
    Note over db: cheer_watch_comment_reports<br>レコード生成
    db -->> cms: 
    cms ->> dynamo: 通報済み通知
    Note over dynamo: cheer_watch_live_comments<br>is_report=true
    dynamo -->> cms: 
    Note over cms: レスポンスリソース生成
    cms -->> api: 
    api -->> front: 
    Note over front: 通報完了表示
   
```
