Refactor API (#4770)

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* wip

* Update description.ts

* wip
This commit is contained in:
syuilo
2019-04-23 22:35:26 +09:00
committed by GitHub
parent f31f986d66
commit 0463c6bb0f
105 changed files with 1622 additions and 808 deletions

View File

@@ -1,9 +1,12 @@
import { types, bool } from '../../../../misc/schema';
export const logSchema = {
/**
* アクティブユーザー数
*/
count: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'アクティブユーザー数',
},
};
@@ -12,14 +15,17 @@ export const logSchema = {
* アクティブユーザーに関するチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,9 +1,12 @@
import { types, bool } from '../../../../misc/schema';
const logSchema = {
/**
* 集計期間時点での、全ドライブファイル数
*/
totalCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイル数'
},
@@ -11,7 +14,8 @@ const logSchema = {
* 集計期間時点での、全ドライブファイルの合計サイズ
*/
totalSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイルの合計サイズ'
},
@@ -19,7 +23,8 @@ const logSchema = {
* 増加したドライブファイル数
*/
incCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブファイル数'
},
@@ -27,7 +32,8 @@ const logSchema = {
* 増加したドライブ使用量
*/
incSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブ使用量'
},
@@ -35,7 +41,8 @@ const logSchema = {
* 減少したドライブファイル数
*/
decCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブファイル数'
},
@@ -43,20 +50,24 @@ const logSchema = {
* 減少したドライブ使用量
*/
decSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブ使用量'
},
};
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,22 +1,29 @@
import { types, bool } from '../../../../misc/schema';
/**
* フェデレーションに関するチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
instance: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'インスタンス数の合計'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加インスタンス数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少インスタンス数'
},
}

View File

@@ -1,9 +1,12 @@
import { types, bool } from '../../../../misc/schema';
export const logSchema = {
/**
* 投稿された数
*/
count: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '投稿された数',
},
};
@@ -12,14 +15,17 @@ export const logSchema = {
* ハッシュタグに関するチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,58 +1,73 @@
import { types, bool } from '../../../../misc/schema';
/**
* インスタンスごとのチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
requests: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
failed: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '失敗したリクエスト数'
},
succeeded: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '成功したリクエスト数'
},
received: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '受信したリクエスト数'
},
}
},
notes: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全投稿数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加した投稿数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少した投稿数'
},
diffs: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
normal: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '通常の投稿数の差分'
},
reply: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'リプライの投稿数の差分'
},
renote: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'Renoteの投稿数の差分'
},
}
@@ -61,84 +76,103 @@ export const schema = {
},
users: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ユーザー数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したユーザー数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したユーザー数'
},
}
},
following: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全フォロー数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したフォロー数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したフォロー数'
},
}
},
followers: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全フォロワー数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したフォロワー数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したフォロワー数'
},
}
},
drive: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
totalFiles: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイル数'
},
totalUsage: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイルの合計サイズ'
},
incFiles: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブファイル数'
},
incUsage: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブ使用量'
},
decFiles: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブファイル数'
},
decUsage: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブ使用量'
},
}

View File

@@ -1,27 +1,35 @@
import { types, bool } from '../../../../misc/schema';
/**
* ネットワークに関するチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
incomingRequests: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '受信したリクエスト数'
},
outgoingRequests: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '送信したリクエスト数'
},
totalTime: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '応答時間の合計' // TIP: (totalTime / incomingRequests) でひとつのリクエストに平均でどれくらいの時間がかかったか知れる
},
incomingBytes: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '合計受信データ量'
},
outgoingBytes: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '合計送信データ量'
},
}

View File

@@ -1,34 +1,43 @@
import { types, bool } from '../../../../misc/schema';
const logSchema = {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全投稿数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加した投稿数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少した投稿数'
},
diffs: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
normal: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '通常の投稿数の差分'
},
reply: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'リプライの投稿数の差分'
},
renote: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'Renoteの投稿数の差分'
},
}
@@ -36,14 +45,17 @@ const logSchema = {
};
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,11 +1,15 @@
import { types, bool } from '../../../../misc/schema';
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
/**
* 集計期間時点での、全ドライブファイル数
*/
totalCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイル数'
},
@@ -13,7 +17,8 @@ export const schema = {
* 集計期間時点での、全ドライブファイルの合計サイズ
*/
totalSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ドライブファイルの合計サイズ'
},
@@ -21,7 +26,8 @@ export const schema = {
* 増加したドライブファイル数
*/
incCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブファイル数'
},
@@ -29,7 +35,8 @@ export const schema = {
* 増加したドライブ使用量
*/
incSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したドライブ使用量'
},
@@ -37,7 +44,8 @@ export const schema = {
* 減少したドライブファイル数
*/
decCount: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブファイル数'
},
@@ -45,7 +53,8 @@ export const schema = {
* 減少したドライブ使用量
*/
decSize: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したドライブ使用量'
},
}

View File

@@ -1,15 +1,19 @@
import { types, bool } from '../../../../misc/schema';
export const logSchema = {
/**
* フォローしている
*/
followings: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
/**
* フォローしている合計
*/
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォローしている合計',
},
@@ -17,7 +21,8 @@ export const logSchema = {
* フォローした数
*/
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォローした数',
},
@@ -25,7 +30,8 @@ export const logSchema = {
* フォロー解除した数
*/
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォロー解除した数',
},
}
@@ -35,13 +41,15 @@ export const logSchema = {
* フォローされている
*/
followers: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
/**
* フォローされている合計
*/
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォローされている合計',
},
@@ -49,7 +57,8 @@ export const logSchema = {
* フォローされた数
*/
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォローされた数',
},
@@ -57,7 +66,8 @@ export const logSchema = {
* フォロー解除された数
*/
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'フォロー解除された数',
},
}
@@ -65,14 +75,17 @@ export const logSchema = {
};
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,36 +1,46 @@
import { types, bool } from '../../../../misc/schema';
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全投稿数'
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加した投稿数'
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少した投稿数'
},
diffs: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
normal: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '通常の投稿数の差分'
},
reply: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'リプライの投稿数の差分'
},
renote: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'Renoteの投稿数の差分'
},
}

View File

@@ -1,9 +1,12 @@
import { types, bool } from '../../../../misc/schema';
export const logSchema = {
/**
* フォローしている合計
*/
count: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: 'リアクションされた数',
},
};
@@ -12,14 +15,17 @@ export const logSchema = {
* ユーザーごとのリアクションに関するチャート
*/
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -1,21 +1,28 @@
import { types, bool } from '../../../../misc/schema';
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
foo: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
}

View File

@@ -1,8 +1,12 @@
import { types, bool } from '../../../../misc/schema';
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
foo: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
}

View File

@@ -1,21 +1,28 @@
import { types, bool } from '../../../../misc/schema';
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
foo: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: ''
},
}

View File

@@ -1,9 +1,12 @@
import { types, bool } from '../../../../misc/schema';
const logSchema = {
/**
* 集計期間時点での、全ユーザー数
*/
total: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '集計期間時点での、全ユーザー数'
},
@@ -11,7 +14,8 @@ const logSchema = {
* 増加したユーザー数
*/
inc: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '増加したユーザー数'
},
@@ -19,20 +23,24 @@ const logSchema = {
* 減少したユーザー数
*/
dec: {
type: 'number' as 'number',
type: types.number,
optional: bool.false, nullable: bool.false,
description: '減少したユーザー数'
},
};
export const schema = {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: {
local: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
remote: {
type: 'object' as 'object',
type: types.object,
optional: bool.false, nullable: bool.false,
properties: logSchema
},
}

View File

@@ -8,7 +8,7 @@ import * as moment from 'moment';
import * as nestedProperty from 'nested-property';
import autobind from 'autobind-decorator';
import Logger from '../logger';
import { Schema } from '../../misc/schema';
import { Schema, bool, types } from '../../misc/schema';
import { EntitySchema, getRepository, Repository, LessThan, MoreThanOrEqual } from 'typeorm';
import { isDuplicateKeyValueError } from '../../misc/is-duplicate-key-value-error';
@@ -449,7 +449,8 @@ export function convertLog(logSchema: Schema): Schema {
if (v.type === 'number') {
v.type = 'array';
v.items = {
type: 'number'
type: types.number,
optional: bool.false, nullable: bool.false,
};
} else if (v.type === 'object') {
for (const k of Object.keys(v.properties!)) {