MOW-106: /api/v1/apps support JSON and FormData

pull/117/head
Sven Sauleau 2023-01-17 08:33:28 +00:00
rodzic 7bea1e8f25
commit 1b030eef1c
2 zmienionych plików z 5 dodań i 1 usunięć

Wyświetl plik

@ -93,6 +93,9 @@ describe('Mastodon APIs', () => {
const request = new Request('https://example.com', {
method: 'POST',
body: '{"redirect_uris":"mastodon://joinmastodon.org/oauth","website":"https://app.joinmastodon.org/ios","client_name":"Mastodon for iOS","scopes":"read write follow push"}',
headers: {
'content-type': 'application/json',
},
})
const res = await apps.handleRequest(db, request, vapidKeys)

Wyświetl plik

@ -4,6 +4,7 @@ import { Env } from 'wildebeest/backend/src/types/env'
import { createClient } from 'wildebeest/backend/src/mastodon/client'
import { VAPIDPublicKey } from 'wildebeest/backend/src/mastodon/subscription'
import { getVAPIDKeys } from 'wildebeest/backend/src/config'
import { readBody } from 'wildebeest/backend/src/utils/body'
type AppsPost = {
redirect_uris: string
@ -21,7 +22,7 @@ export async function handleRequest(db: D1Database, request: Request, vapidKeys:
return new Response('', { status: 400 })
}
const body = await request.json<AppsPost>()
const body = await readBody<AppsPost>(request)
const client = await createClient(db, body.client_name, body.redirect_uris, body.website, body.scopes)
const vapidKey = VAPIDPublicKey(vapidKeys)