migrate middleware usage

Co-authored-by Natty <natty.sh.git@gmail.com>
This commit is contained in:
cutestnekoaqua 2023-02-10 23:15:34 +01:00
parent 838ca1841a
commit 8b0e3161a3
No known key found for this signature in database
GPG Key ID: 6BF0964A5069C1E0
6 changed files with 16 additions and 20 deletions

View File

@ -33,7 +33,7 @@ export function apiAccountMastodon(router: Router): void {
ctx.body = e.response.data; ctx.body = e.response.data;
} }
}); });
router.patch('/v1/accounts/update_credentials', koaBody({ multipart: true }), async (ctx) => { router.patch('/v1/accounts/update_credentials', async (ctx) => {
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`; const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
const accessTokens = ctx.headers.authorization; const accessTokens = ctx.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -177,7 +177,7 @@ export function apiAccountMastodon(router: Router): void {
ctx.body = e.response.data; ctx.body = e.response.data;
} }
}); });
router.post<{ Params: { id: string } }>('/v1/accounts/:id/mute', koaBody({ multipart: true }), async (ctx) => { router.post<{ Params: { id: string } }>('/v1/accounts/:id/mute', async (ctx) => {
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`; const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
const accessTokens = ctx.headers.authorization; const accessTokens = ctx.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);

View File

@ -1,11 +1,10 @@
import megalodon, { MegalodonInterface } from '@cutls/megalodon'; import megalodon, { MegalodonInterface } from '@cutls/megalodon';
import Router from "@koa/router"; import Router from "@koa/router";
import { koaBody } from 'koa-body';
import { getClient } from '../ApiMastodonCompatibleService.js'; import { getClient } from '../ApiMastodonCompatibleService.js';
export function apiFilterMastodon(router: Router): void { export function apiFilterMastodon(router: Router): void {
router.get('/v1/filters', koaBody({ multipart: true }), async (ctx) => { router.get('/v1/filters', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -20,7 +19,7 @@ export function apiFilterMastodon(router: Router): void {
} }
}); });
router.get('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => { router.get('/v1/filters/:id', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -35,7 +34,7 @@ export function apiFilterMastodon(router: Router): void {
} }
}); });
router.post('/v1/filters', koaBody({ multipart: true }), async (ctx) => { router.post('/v1/filters', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -50,7 +49,7 @@ export function apiFilterMastodon(router: Router): void {
} }
}); });
router.post('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => { router.post('/v1/filters/:id', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -65,7 +64,7 @@ export function apiFilterMastodon(router: Router): void {
} }
}); });
router.delete('/v1/filters/:id', koaBody({ multipart: true }), async (ctx) => { router.delete('/v1/filters/:id', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);

View File

@ -71,7 +71,7 @@ export function apiNotificationsMastodon(router: Router): void {
} }
}); });
router.post('/v1/notification/:id/dismiss', koaBody({ multipart: true }), async (ctx) => { router.post('/v1/notification/:id/dismiss', async (ctx) => {
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const accessTokens = ctx.request.headers.authorization; const accessTokens = ctx.request.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);

View File

@ -1,5 +1,4 @@
import Router from "@koa/router"; import Router from "@koa/router";
import { koaBody } from 'koa-body';
import megalodon, { MegalodonInterface } from '@cutls/megalodon'; import megalodon, { MegalodonInterface } from '@cutls/megalodon';
import { getClient } from '../ApiMastodonCompatibleService.js'; import { getClient } from '../ApiMastodonCompatibleService.js';
import fs from 'fs' import fs from 'fs'
@ -11,7 +10,7 @@ import axios from 'axios';
const pump = promisify(pipeline); const pump = promisify(pipeline);
export function apiStatusMastodon(router: Router): void { export function apiStatusMastodon(router: Router): void {
router.post('/v1/statuses', koaBody({ multipart: true }), async (ctx, reply) => { router.post('/v1/statuses', async (ctx, reply) => {
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`; const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
const accessTokens = ctx.headers.authorization; const accessTokens = ctx.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -284,7 +283,7 @@ export function apiStatusMastodon(router: Router): void {
ctx.body = e.response.data; ctx.body = e.response.data;
} }
}); });
router.put<{ Params: { id: string } }>('/v1/media/:id', koaBody({ multipart: true }), async (ctx, reply) => { router.put<{ Params: { id: string } }>('/v1/media/:id',async (ctx, reply) => {
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`; const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
const accessTokens = ctx.headers.authorization; const accessTokens = ctx.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);
@ -310,7 +309,7 @@ export function apiStatusMastodon(router: Router): void {
ctx.body = e.response.data; ctx.body = e.response.data;
} }
}); });
router.post<{ Params: { id: string } }>('/v1/polls/:id/votes', koaBody({ multipart: true }), async (ctx, reply) => { router.post<{ Params: { id: string } }>('/v1/polls/:id/votes', async (ctx, reply) => {
const BASE_URL = `${ctx.protocol}://${ctx.hostname}`; const BASE_URL = `${ctx.protocol}://${ctx.hostname}`;
const accessTokens = ctx.headers.authorization; const accessTokens = ctx.headers.authorization;
const client = getClient(BASE_URL, accessTokens); const client = getClient(BASE_URL, accessTokens);

View File

@ -1,5 +1,4 @@
import Router from "@koa/router"; import Router from "@koa/router";
import { koaBody } from 'koa-body';
import megalodon, { Entity, MegalodonInterface } from '@cutls/megalodon'; import megalodon, { Entity, MegalodonInterface } from '@cutls/megalodon';
import { getClient } from '../ApiMastodonCompatibleService.js' import { getClient } from '../ApiMastodonCompatibleService.js'
import { statusModel } from './status.js'; import { statusModel } from './status.js';

View File

@ -20,7 +20,6 @@ import { createTemp } from "@/misc/create-temp.js";
import { publishMainStream } from "@/services/stream.js"; import { publishMainStream } from "@/services/stream.js";
import * as Acct from "@/misc/acct.js"; import * as Acct from "@/misc/acct.js";
import { envOption } from "@/env.js"; import { envOption } from "@/env.js";
import {koaBody} from "koa-body";
import megalodon, { MegalodonInterface } from '@cutls/megalodon'; import megalodon, { MegalodonInterface } from '@cutls/megalodon';
import activityPub from "./activitypub.js"; import activityPub from "./activitypub.js";
import nodeinfo from "./nodeinfo.js"; import nodeinfo from "./nodeinfo.js";
@ -141,16 +140,16 @@ router.get("/oauth/authorize", async (ctx) => {
ctx.redirect(Buffer.from(client_id?.toString() || '', 'base64').toString()); ctx.redirect(Buffer.from(client_id?.toString() || '', 'base64').toString());
}); });
router.post("/oauth/token", koaBody({ router.post("/oauth/token", async (ctx) => {
json: false,
multipart: true
}), async (ctx) => {
const body: any = ctx.request.body; const body: any = ctx.request.body;
const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`; const BASE_URL = `${ctx.request.protocol}://${ctx.request.hostname}`;
const generator = (megalodon as any).default; const generator = (megalodon as any).default;
const client = generator('misskey', BASE_URL, null) as MegalodonInterface; const client = generator('misskey', BASE_URL, null) as MegalodonInterface;
const m = body.code.match(/^[a-zA-Z0-9-]+/); const m = body.code.match(/^[a-zA-Z0-9-]+/);
if (!m.length) return { error: 'Invalid code' } if (!m.length) {
ctx.body = {error: 'Invalid code'}
return
}
try { try {
const atData = await client.fetchAccessToken(null, body.client_secret, m[0]); const atData = await client.fetchAccessToken(null, body.client_secret, m[0]);
ctx.body = { ctx.body = {