aboutsummaryrefslogtreecommitdiff
path: root/src/services/api/api.service.js
diff options
context:
space:
mode:
authorHJ <30-hj@users.noreply.git.pleroma.social>2023-01-15 12:36:44 +0000
committerHJ <30-hj@users.noreply.git.pleroma.social>2023-01-15 12:36:44 +0000
commite7fb5e81c31963cbd981d7a1e49c7d390a461336 (patch)
tree94a21076cf4628bdebb8955c901069188977ce6c /src/services/api/api.service.js
parentb4cbbefbd2dac62a0e334da43d1e076d4bef00a7 (diff)
parentc69878cee7a77364afe6ed44a6df109e84273f3b (diff)
Merge branch 'tusooa/nomore-mapundef' into 'develop'
Display better error message for unauthenticated timelines Closes #1235 and #1044 See merge request pleroma/pleroma-fe!1756
Diffstat (limited to 'src/services/api/api.service.js')
-rw-r--r--src/services/api/api.service.js30
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
}
})