summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorTosuke <tasukeprg@gmail.com>2017-01-05 18:52:15 +0900
committerTosuke <tasukeprg@gmail.com>2017-01-05 18:52:15 +0900
commit25b5456a329ff8cb1348fd30bdf52b0933a4b5d4 (patch)
tree4e104127ea2a2bf91bb1ffbb8b0782dd90b2a779
parentFIx bug (diff)
downloadmisskey-25b5456a329ff8cb1348fd30bdf52b0933a4b5d4.tar.gz
misskey-25b5456a329ff8cb1348fd30bdf52b0933a4b5d4.tar.bz2
misskey-25b5456a329ff8cb1348fd30bdf52b0933a4b5d4.zip
Add default definition
-rw-r--r--swagger.js192
1 files changed, 168 insertions, 24 deletions
diff --git a/swagger.js b/swagger.js
index 1f430555ae..9501c4eb3b 100644
--- a/swagger.js
+++ b/swagger.js
@@ -11,32 +11,175 @@ const files = [
'auth/session/userkey.js',
];
-const errorDefinition = {
- 'type': 'object',
- 'properties':{
- 'error': {
- 'type': 'string',
- 'description': 'Error message'
+const defaultSwagger = {
+ "swagger": "2.0",
+ "info": {
+ "title": "Misskey API",
+ "version": "aoi"
+ },
+ "host": "api.misskey.local",
+ "schemes": [
+ "http"
+ ],
+ "consumes": [
+ "application/x-www-form-urlencoded"
+ ],
+ "produces": [
+ "application/json"
+ ],
+ "definitions": {
+ "Error": {
+ "type": "object",
+ "properties": {
+ "error": {
+ "type": "string",
+ "description": "Error message"
+ }
+ }
+ },
+ "User": {
+ "type": "object",
+ "required": [
+ "created_at",
+ "followers_count",
+ "following_count",
+ "id",
+ "liked_count",
+ "likes_count",
+ "name",
+ "posts_count",
+ "username"
+ ],
+ "properties": {
+ "avatar_id": {
+ "type": "string",
+ "description": "アバターに設定しているドライブのファイルのID"
+ },
+ "avatar_url": {
+ "type": "string",
+ "description": "アバターURL"
+ },
+ "banner_id": {
+ "type": "string",
+ "description": "バナーに設定しているドライブのファイルのID"
+ },
+ "banner_url": {
+ "type": "string",
+ "description": "バナーURL"
+ },
+ "bio": {
+ "type": "string",
+ "description": "プロフィール"
+ },
+ "birthday": {
+ "type": "string",
+ "description": "誕生日"
+ },
+ "created_at": {
+ "type": "string",
+ "format": "date",
+ "description": "アカウント作成日時"
+ },
+ "drive_capacity": {
+ "type": "integer",
+ "description": "ドライブの最大容量"
+ },
+ "followers_count": {
+ "type": "integer",
+ "description": "フォロワー数"
+ },
+ "following_count": {
+ "type": "integer",
+ "description": "フォロー数"
+ },
+ "id": {
+ "type": "string",
+ "description": "ユーザーID"
+ },
+ "is_followed": {
+ "type": "boolean",
+ "description": "フォローされているか"
+ },
+ "is_following": {
+ "type": "boolean",
+ "description": "フォローしているか"
+ },
+ "liked_count": {
+ "type": "integer",
+ "description": "投稿にいいねされた数"
+ },
+ "likes_count": {
+ "type": "integer",
+ "description": "投稿にいいねした数"
+ },
+ "location": {
+ "type": "string",
+ "description": "場所"
+ },
+ "name": {
+ "type": "string",
+ "description": "ニックネーム"
+ },
+ "posts_count": {
+ "type": "integer",
+ "description": "投稿数"
+ },
+ "username": {
+ "type": "string",
+ "description": "ユーザー名"
+ }
+ }
+ },
+ "Application": {
+ "type": "object",
+ "properties": {
+ "created_at": {
+ "type": "string",
+ "format": "date",
+ "description": "アプリケーションの作成日時"
+ },
+ "user_id": {
+ "type": "string",
+ "description": "アプリケーションを作成したユーザーのID"
+ },
+ "name": {
+ "type": "string",
+ "description": "アプリケーションの名前"
+ },
+ "description": {
+ "type": "string",
+ "description": "アプリケーションの説明"
+ },
+ "permission": {
+ "type": "array",
+ "items": {
+ "type": "string"
+ },
+ "description": "アプリケーションの持つ権限一覧"
+ },
+ "callback_url": {
+ "type": "string",
+ "description": "コールバックURL"
+ },
+ "id": {
+ "type": "string",
+ "description": "アプリケーションID"
+ },
+ "icon_url": {
+ "type": "string",
+ "description": "アプリケーションのアイコンのURL"
+ }
+ }
}
- }
-}
+ },
+ "responses": {},
+ "parameters": {},
+ "securityDefinitions": {},
+ "tags": []
+};
var options = {
- swaggerDefinition: {
- swagger: '2.0',
- info: {
- title: 'Misskey API',
- version: 'aoi',
- },
- host: 'api.misskey.xyz',
- schemes: ['https'],
- consumes: [
- 'application/x-www-form-urlencoded'
- ],
- produces: [
- 'application/json'
- ]
- },
+ swaggerDefinition: defaultSwagger,
apis: []
};
options.apis = files.map(c => {return `${apiRoot}/${c}`;});
@@ -48,7 +191,8 @@ if(fs.existsSync('.config/config.yml')){
}
var swaggerSpec = swaggerJSDoc(options);
-swaggerSpec.definitions.Error = errorDefinition;
fs.writeFileSync('api-docs.json', JSON.stringify(swaggerSpec));
+console.log(JSON.stringify(swaggerSpec));
+