fix: some Masotdon API compat issues (#9592)
Co-authored-by: GeopJr <geopjr@noreply.codeberg.org> Co-committed-by: GeopJr <geopjr@noreply.codeberg.org>
This commit is contained in:
parent
6554b2eb9a
commit
da2368bf7a
7 changed files with 17 additions and 18 deletions
|
@ -33,7 +33,7 @@ export function apiAccountMastodon(router: Router): void {
|
|||
ctx.body = e.response.data;
|
||||
}
|
||||
});
|
||||
router.patch('/v1/accounts/update_credentials', async (ctx) => {
|
||||
router.patch('/v1/accounts/update_credentials', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
|
||||
const accessTokens = ctx.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -177,7 +177,7 @@ export function apiAccountMastodon(router: Router): void {
|
|||
ctx.body = e.response.data;
|
||||
}
|
||||
});
|
||||
router.post<{ Params: { id: string } }>('/v1/accounts/:id/mute', async (ctx) => {
|
||||
router.post<{ Params: { id: string } }>('/v1/accounts/:id/mute', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
|
||||
const accessTokens = ctx.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -42,7 +42,7 @@ const writeScope = [
|
|||
|
||||
export function apiAuthMastodon(router: Router): void {
|
||||
|
||||
router.post('/v1/apps', async (ctx) => {
|
||||
router.post('/v1/apps', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -5,7 +5,7 @@ import { getClient } from '../ApiMastodonCompatibleService.js';
|
|||
|
||||
export function apiFilterMastodon(router: Router): void {
|
||||
|
||||
router.get('/v1/filters', async (ctx) => {
|
||||
router.get('/v1/filters', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -20,7 +20,7 @@ export function apiFilterMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.get('/v1/filters/:id', async (ctx) => {
|
||||
router.get('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -35,7 +35,7 @@ export function apiFilterMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.post('/v1/filters', async (ctx) => {
|
||||
router.post('/v1/filters', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -50,7 +50,7 @@ export function apiFilterMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.post('/v1/filters/:id', async (ctx) => {
|
||||
router.post('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -65,7 +65,7 @@ export function apiFilterMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.delete('/v1/filters/:id', async (ctx) => {
|
||||
router.delete('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -10,7 +10,7 @@ function toLimitToInt(q: any) {
|
|||
|
||||
export function apiNotificationsMastodon(router: Router): void {
|
||||
|
||||
router.get('/v1/notifications', async (ctx) => {
|
||||
router.get('/v1/notifications', async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -35,7 +35,7 @@ export function apiNotificationsMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.get('/v1/notification/:id', async (ctx) => {
|
||||
router.get('/v1/notification/:id', async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -56,7 +56,7 @@ export function apiNotificationsMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.post('/v1/notifications/clear', async (ctx) => {
|
||||
router.post('/v1/notifications/clear', async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -71,7 +71,7 @@ export function apiNotificationsMastodon(router: Router): void {
|
|||
}
|
||||
});
|
||||
|
||||
router.post('/v1/notification/:id/dismiss', async (ctx) => {
|
||||
router.post('/v1/notification/:id/dismiss', koaBody({ multipart: true }), async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -1,11 +1,10 @@
|
|||
import megalodon, { MegalodonInterface } from '@cutls/megalodon';
|
||||
import Router from "@koa/router";
|
||||
import { koaBody } from 'koa-body';
|
||||
import { getClient } from '../ApiMastodonCompatibleService.js';
|
||||
|
||||
export function apiSearchMastodon(router: Router): void {
|
||||
|
||||
router.get('/v1/search', async (ctx) => {
|
||||
router.get('/v1/search', async (ctx) => {
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const accessTokens = ctx.request.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -11,7 +11,7 @@ import axios from 'axios';
|
|||
const pump = promisify(pipeline);
|
||||
|
||||
export function apiStatusMastodon(router: Router): void {
|
||||
router.post('/v1/statuses', async (ctx, reply) => {
|
||||
router.post('/v1/statuses', koaBody({ multipart: true }), async (ctx, reply) => {
|
||||
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
|
||||
const accessTokens = ctx.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -284,7 +284,7 @@ export function apiStatusMastodon(router: Router): void {
|
|||
ctx.body = e.response.data;
|
||||
}
|
||||
});
|
||||
router.put<{ Params: { id: string } }>('/v1/media/:id', async (ctx, reply) => {
|
||||
router.put<{ Params: { id: string } }>('/v1/media/:id', koaBody({ multipart: true }), async (ctx, reply) => {
|
||||
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
|
||||
const accessTokens = ctx.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
@ -310,7 +310,7 @@ export function apiStatusMastodon(router: Router): void {
|
|||
ctx.body = e.response.data;
|
||||
}
|
||||
});
|
||||
router.post<{ Params: { id: string } }>('/v1/polls/:id/votes', async (ctx, reply) => {
|
||||
router.post<{ Params: { id: string } }>('/v1/polls/:id/votes', koaBody({ multipart: true }), async (ctx, reply) => {
|
||||
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
|
||||
const accessTokens = ctx.headers.authorization;
|
||||
const client = getClient(BASE_URL, accessTokens);
|
||||
|
|
|
@ -141,7 +141,7 @@ router.get("/oauth/authorize", async (ctx) => {
|
|||
ctx.redirect(Buffer.from(client_id?.toString() || '', 'base64').toString());
|
||||
});
|
||||
|
||||
router.get("/oauth/token", async (ctx) => {
|
||||
router.post("/oauth/token", async (ctx) => {
|
||||
const body: any = ctx.request.body;
|
||||
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
|
||||
const generator = (megalodon as any).default;
|
||||
|
|
Loading…
Reference in a new issue