diff options
| author | tusooa <tusooa@kazv.moe> | 2023-01-15 10:00:44 -0500 |
|---|---|---|
| committer | tusooa <tusooa@kazv.moe> | 2023-01-15 10:00:44 -0500 |
| commit | d2ba67d565ba68acc1938dc9ae2c866a6e39d4d6 (patch) | |
| tree | 1dad722edc84b5ba1759a13e1944167c5ffcf7c3 /src/services/api/api.service.js | |
| parent | a28032fa58ff341b8815a0651d621ed358efd168 (diff) | |
| parent | 4d2056d8aaa8f2c20a3275503857d38ac9112e5f (diff) | |
Merge remote-tracking branch 'upstream/develop' into tusooa/stylelint
Diffstat (limited to 'src/services/api/api.service.js')
| -rw-r--r-- | src/services/api/api.service.js | 30 |
1 files changed, 13 insertions, 17 deletions
diff --git a/src/services/api/api.service.js b/src/services/api/api.service.js index 00d1c020..af12265e 100644 --- a/src/services/api/api.service.js +++ b/src/services/api/api.service.js @@ -734,26 +734,22 @@ const fetchTimeline = ({ const queryString = map(params, (param) => `${param[0]}=${param[1]}`).join('&') url += `?${queryString}` - let status = '' - let statusText = '' - - let pagination = {} return fetch(url, { headers: authHeaders(credentials) }) - .then((data) => { - status = data.status - statusText = data.statusText - pagination = parseLinkHeaderPagination(data.headers.get('Link'), { - flakeId: timeline !== 'bookmarks' && timeline !== 'notifications' - }) - return data - }) - .then((data) => data.json()) - .then((data) => { - if (!data.errors) { + .then(async (response) => { + const success = response.ok + + const data = await response.json() + + if (success && !data.errors) { + const pagination = parseLinkHeaderPagination(response.headers.get('Link'), { + flakeId: timeline !== 'bookmarks' && timeline !== 'notifications' + }) + return { data: data.map(isNotifications ? parseNotification : parseStatus), pagination } } else { - data.status = status - data.statusText = statusText + data.errors ||= [] + data.status = response.status + data.statusText = response.statusText return data } }) |
