summaryrefslogtreecommitdiff
path: root/src
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2018-07-16 03:53:03 +0900
committersyuilo <syuilotan@yahoo.co.jp>2018-07-16 03:53:03 +0900
commit3a02a7dad891400045a7fd0ba6eed99953eddab0 (patch)
treedd33baef8422c8699fc929dc3722a81a1b11f49f /src
parent良い感じに (diff)
downloadmisskey-3a02a7dad891400045a7fd0ba6eed99953eddab0.tar.gz
misskey-3a02a7dad891400045a7fd0ba6eed99953eddab0.tar.bz2
misskey-3a02a7dad891400045a7fd0ba6eed99953eddab0.zip
良い感じに
Diffstat (limited to 'src')
-rw-r--r--src/docs/api/endpoints/view.pug20
-rw-r--r--src/docs/base.pug2
-rw-r--r--src/docs/style.styl4
-rw-r--r--src/server/api/endpoints.ts6
-rw-r--r--src/server/web/docs.ts14
5 files changed, 29 insertions, 17 deletions
diff --git a/src/docs/api/endpoints/view.pug b/src/docs/api/endpoints/view.pug
index 4daaad7717..809fc07204 100644
--- a/src/docs/api/endpoints/view.pug
+++ b/src/docs/api/endpoints/view.pug
@@ -14,17 +14,19 @@ block main
| /
span.path= url.path
- p#desc= desc[lang] || desc['ja']
+ if desc
+ p#desc= desc[lang] || desc['ja']
- section
- h2= i18n('docs.api.endpoints.params')
- +propTable(params)
+ if params
+ section
+ h2= i18n('docs.api.endpoints.params')
+ +propTable(params)
- if paramDefs
- each paramDef in paramDefs
- section(id= paramDef.name)
- h3= paramDef.name
- +propTable(paramDef.params)
+ if paramDefs
+ each paramDef in paramDefs
+ section(id= paramDef.name)
+ h3= paramDef.name
+ +propTable(paramDef.params)
if res
section
diff --git a/src/docs/base.pug b/src/docs/base.pug
index 1ee623bb3e..058aea64a0 100644
--- a/src/docs/base.pug
+++ b/src/docs/base.pug
@@ -25,7 +25,7 @@ html(lang= lang)
li Endpoints
ul
each endpoint in endpoints
- li: a(href=`/docs/${lang}/api/endpoints/${kebab(endpoint)}`)= endpoint
+ li: a(href=`/docs/${lang}/api/endpoints/${kebab(endpoint.name)}`)= endpoint.name
main
article
block main
diff --git a/src/docs/style.styl b/src/docs/style.styl
index d9ee9dad4a..c851d07b8a 100644
--- a/src/docs/style.styl
+++ b/src/docs/style.styl
@@ -60,6 +60,10 @@ nav
background #fff
border-right solid 2px #eee
+ ul
+ padding 0
+ margin 0
+
@media (max-width 1025px)
main
margin 0
diff --git a/src/server/api/endpoints.ts b/src/server/api/endpoints.ts
index cc9b90d6fc..5923694c6f 100644
--- a/src/server/api/endpoints.ts
+++ b/src/server/api/endpoints.ts
@@ -2,6 +2,12 @@ import * as path from 'path';
import * as glob from 'glob';
export interface IEndpointMeta {
+ desc?: any;
+
+ params?: any;
+
+ res?: any;
+
/**
* このエンドポイントにリクエストするのにユーザー情報が必須か否か
* 省略した場合は false として解釈されます。
diff --git a/src/server/web/docs.ts b/src/server/web/docs.ts
index 3e6ee0f12c..f203815a5d 100644
--- a/src/server/web/docs.ts
+++ b/src/server/web/docs.ts
@@ -15,6 +15,7 @@ import config from '../../config';
import I18n from '../../misc/i18n';
import { licenseHtml } from '../../misc/license';
const constants = require('../../const.json');
+import endpoints from '../../server/api/endpoints';
async function genVars(lang: string): Promise<{ [key: string]: any }> {
const vars = {} as { [key: string]: any };
@@ -23,8 +24,7 @@ async function genVars(lang: string): Promise<{ [key: string]: any }> {
const cwd = path.resolve(__dirname + '/../../../') + '/';
- const endpoints = glob.sync('built/server/api/endpoints/**/*.js', { cwd });
- vars['endpoints'] = endpoints.map(ep => require(cwd + ep)).filter(x => x.meta).map(x => x.meta.name);
+ vars['endpoints'] = endpoints;
const entities = glob.sync('src/docs/api/entities/**/*.yaml', { cwd });
vars['entities'] = entities.map(x => {
@@ -169,7 +169,7 @@ router.get('/assets/*', async ctx => {
router.get('/*/api/endpoints/*', async ctx => {
const lang = ctx.params[0];
const name = ctx.params[1];
- const ep = require('../../../built/server/api/endpoints/' + name).meta || {};
+ const ep = endpoints.find(e => e.name === name);
const vars = {
title: name,
@@ -178,11 +178,11 @@ router.get('/*/api/endpoints/*', async ctx => {
host: config.api_url,
path: name
},
- desc: ep.desc,
+ desc: ep.meta.desc,
// @ts-ignore
- params: sortParams(Object.entries(ep.params).map(([k, v]) => parseParamDefinition(k, v))),
- paramDefs: extractParamDefRef(Object.entries(ep.params).map(([k, v]) => v)),
- res: ep.res && ep.res.props ? sortParams(Object.entries(ep.res.props).map(([k, v]) => parsePropDefinition(k, v))) : null,
+ params: ep.meta.params ? sortParams(Object.entries(ep.meta.params).map(([k, v]) => parseParamDefinition(k, v))) : null,
+ paramDefs: ep.meta.params ? extractParamDefRef(Object.entries(ep.meta.params).map(([k, v]) => v)) : null,
+ res: ep.meta.res && ep.meta.res.props ? sortParams(Object.entries(ep.meta.res.props).map(([k, v]) => parsePropDefinition(k, v))) : null,
resDefs: null//extractPropDefRef(Object.entries(ep.res.props).map(([k, v]) => parsePropDefinition(k, v)))
};