From 94f8a145eca5e1ed6b979c2c237e399cc7a96083 Mon Sep 17 00:00:00 2001 From: tamaina Date: Mon, 15 Apr 2019 12:10:40 +0900 Subject: Better permisson Fix #2341 (#4611) * Better permisson Fix #2341 * add kinds.ts * test * fix * v11 * fix --- src/server/api/openapi/description.ts | 20 ++++++++++++++++++-- 1 file changed, 18 insertions(+), 2 deletions(-) (limited to 'src/server/api/openapi/description.ts') diff --git a/src/server/api/openapi/description.ts b/src/server/api/openapi/description.ts index 04a0b4c719..b801c86387 100644 --- a/src/server/api/openapi/description.ts +++ b/src/server/api/openapi/description.ts @@ -1,6 +1,14 @@ import config from '../../../config'; +import { IKindInfo, kinds } from '../kinds'; + +export function getDescription(lang = 'ja-JP'): string { + const permissionTable = (Object.entries(kinds()) as [string, IKindInfo][]) + .map(e => `|${e[0]}|${e[1].descs[lang]}|${e[1].endpoints.map(f => `[${f}](#operation/${f})`).join(', ')}|`) + .join('\n'); + + const descriptions = { + 'ja-JP': `**Misskey is a decentralized microblogging platform.** -export const description = ` ## Usage **APIはすべてPOSTでリクエスト/レスポンスともにJSON形式です。** 一部のAPIはリクエストに認証情報(APIキー)が必要です。リクエストの際に\`i\`というパラメータでAPIキーを添付してください。 @@ -44,4 +52,12 @@ APIキーの生成方法を擬似コードで表すと次のようになりま \`\`\` js const i = sha256(userToken + secretKey); \`\`\` -`; + +## Permissions +|Permisson (kind)|Description|Endpoints| +|:--|:--|:--| +${permissionTable} +` + } as { [x: string]: string }; + return lang in descriptions ? descriptions[lang] : descriptions['ja-JP']; +} -- cgit v1.2.3-freya