summaryrefslogtreecommitdiff
path: root/packages/backend/src/server/api
diff options
context:
space:
mode:
authorHazelnoot <acomputerdog@gmail.com>2025-01-31 03:06:55 -0500
committerHazelnoot <acomputerdog@gmail.com>2025-02-08 13:17:34 -0500
commitc38f04fe38415cdd6c946f37d31a79d4ba4d67ef (patch)
treec466c5235be475feb3eb60c33fd67f41360829f9 /packages/backend/src/server/api
parentcleanup Mastodon API (resolves #804 and #865, partially resolves #492) (diff)
downloadsharkey-c38f04fe38415cdd6c946f37d31a79d4ba4d67ef.tar.gz
sharkey-c38f04fe38415cdd6c946f37d31a79d4ba4d67ef.tar.bz2
sharkey-c38f04fe38415cdd6c946f37d31a79d4ba4d67ef.zip
fix empty masto-api responses for several endpoints (resolves #721 and #707)
Diffstat (limited to 'packages/backend/src/server/api')
-rw-r--r--packages/backend/src/server/api/mastodon/endpoints/account.ts8
-rw-r--r--packages/backend/src/server/api/mastodon/endpoints/search.ts9
-rw-r--r--packages/backend/src/server/api/mastodon/endpoints/timeline.ts3
3 files changed, 11 insertions, 9 deletions
diff --git a/packages/backend/src/server/api/mastodon/endpoints/account.ts b/packages/backend/src/server/api/mastodon/endpoints/account.ts
index 80b9e4001f..3ba3667f90 100644
--- a/packages/backend/src/server/api/mastodon/endpoints/account.ts
+++ b/packages/backend/src/server/api/mastodon/endpoints/account.ts
@@ -145,22 +145,22 @@ export class ApiAccountMastodon {
public async getBookmarks() {
const data = await this.client.getBookmarks(parseTimelineArgs(this.request.query));
- return data.data.map((status) => this.mastoConverters.convertStatus(status));
+ return Promise.all(data.data.map((status) => this.mastoConverters.convertStatus(status)));
}
public async getFavourites() {
const data = await this.client.getFavourites(parseTimelineArgs(this.request.query));
- return data.data.map((status) => this.mastoConverters.convertStatus(status));
+ return Promise.all(data.data.map((status) => this.mastoConverters.convertStatus(status)));
}
public async getMutes() {
const data = await this.client.getMutes(parseTimelineArgs(this.request.query));
- return data.data.map((account) => this.mastoConverters.convertAccount(account));
+ return Promise.all(data.data.map((account) => this.mastoConverters.convertAccount(account)));
}
public async getBlocks() {
const data = await this.client.getBlocks(parseTimelineArgs(this.request.query));
- return data.data.map((account) => this.mastoConverters.convertAccount(account));
+ return Promise.all(data.data.map((account) => this.mastoConverters.convertAccount(account)));
}
public async acceptFollow() {
diff --git a/packages/backend/src/server/api/mastodon/endpoints/search.ts b/packages/backend/src/server/api/mastodon/endpoints/search.ts
index 9435695532..7c9aef303b 100644
--- a/packages/backend/src/server/api/mastodon/endpoints/search.ts
+++ b/packages/backend/src/server/api/mastodon/endpoints/search.ts
@@ -47,17 +47,18 @@ export class ApiSearchMastodon {
}
public async getStatusTrends() {
- return await fetch(`${this.BASE_URL}/api/notes/featured`,
+ const data = await fetch(`${this.BASE_URL}/api/notes/featured`,
{
method: 'POST',
headers: {
'Accept': 'application/json',
'Content-Type': 'application/json',
},
- body: JSON.stringify({}),
+ body: '{}',
})
- .then(res => res.json())
- .then(data => data.map((status: Status) => this.mastoConverter.convertStatus(status)));
+ .then(res => res.json() as Promise<Status[]>)
+ .then(data => data.map(status => this.mastoConverter.convertStatus(status)));
+ return Promise.all(data);
}
public async getSuggestions() {
diff --git a/packages/backend/src/server/api/mastodon/endpoints/timeline.ts b/packages/backend/src/server/api/mastodon/endpoints/timeline.ts
index c298078e8a..a6a778721a 100644
--- a/packages/backend/src/server/api/mastodon/endpoints/timeline.ts
+++ b/packages/backend/src/server/api/mastodon/endpoints/timeline.ts
@@ -142,7 +142,8 @@ export class ApiTimelineMastodon {
const accessTokens = _request.headers.authorization;
const client = getClient(BASE_URL, accessTokens);
const data = await client.getAccountsInList(_request.params.id, _request.query);
- reply.send(data.data.map((account: Entity.Account) => this.mastoConverters.convertAccount(account)));
+ const accounts = await Promise.all(data.data.map((account: Entity.Account) => this.mastoConverters.convertAccount(account)));
+ reply.send(accounts);
} catch (e) {
const data = getErrorData(e);
this.logger.error(`GET /v1/lists/${_request.params.id}/accounts`, data);