---
# System prepended metadata

title: '`GET` /api/users/:id/likes'
tags: [API-doc]

---

# `GET` /api/users/:id/likes 
<!-- 一級標題自動成為筆記名稱 -->

## API 功能
取得某位使用者按讚（喜歡）的推文。 
* 需註冊才可進入。
* 回傳某位使用者的like資料。
* 資料依照like成立時間排序（由新到舊）。  
* 每筆like資料中包含
    * 該筆like的原tweet的資料(id, description, createdAt, replyCount, likeCount)、tweet的作者資料(id, name, account, avatar)
    * 目前使用者(req.user)是否按讚該則推文(isLiked)

## 前端傳入資料  
### query string  
分頁功能 (optional)  
| name    | description              | default |
| ------- | -------------------------| ------- |
| `count` | 一次取的資料筆數/每頁資料筆數 | null    |
| `page`  | 頁數                      | null    |
### parameters  
params | Description
--- | ---
`id` | 欲查詢like的user id
### req.body  
None

## 後端回傳資料  
### 成功  
```json
// status code: 200
[
    {
        "id": 4,
        "TweetId": 2,
        "createdAt": "2022-07-30T14:24:25.000Z",  // like created time, sorting by this value
        "Tweet": {
            "id": 2,
            "description": "balabala",
            "createdAt": "2022-06-30T17:37:30.000Z", // tweet created time
            "likeCount": 4,
            "replyCount": 3,
            "User": {  // tweet author
                "id": 2,
                "name": "user1",
                "account": "user1",
                "avatar": "https://avatar-url"
            }
        },
        "isLiked": true  // if the current user (req.user) is like the tweet
    },
    {
        "id": 14,
        "TweetId": 7,
        "createdAt": "2022-07-30T14:24:25.000Z",
        "Tweet": {
            "id": 7,
            "description": "balabababa",
            "createdAt": "2022-07-17T20:08:40.000Z",
            "likeCount": 5,
            "replyCount": 3,
            "User": {
                "id": 2,
                "name": "user1",
                "account": "user1",
                "avatar": "https://avatar-url"
            }
        },
        "isLiked": true
    },
    // ...more likes
]
```

### 失敗  
發生原因：使用者 token 驗證不通過。
```javascript
// status code: 401
{
    "status": "error",
    "message": "Unauthorized. Please login first."
}
```
發生原因：找不到與傳入 `id` 對應的 user。
```javascript
// status code: 404
{
    "status": "error",
    "message": "User is not found"
}
```


## 相關連結  
* [回首頁](https://hackmd.io/@twitter-2022/index) 
* [API 總表](/Gl56cI2LQ5ObBpmQnbnphw) 

###### tags: `API-doc`