diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2018-08-19 00:46:17 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2018-08-19 00:46:17 +0900 |
| commit | 2f45ac37127b6651c5e6b39512d40f997088f2bd (patch) | |
| tree | b245c7f056b475cd3026f4a62f2825bb8cc842d5 /src/models | |
| parent | missing semicolon (diff) | |
| parent | Add drive chart (diff) | |
| download | misskey-2f45ac37127b6651c5e6b39512d40f997088f2bd.tar.gz misskey-2f45ac37127b6651c5e6b39512d40f997088f2bd.tar.bz2 misskey-2f45ac37127b6651c5e6b39512d40f997088f2bd.zip | |
Merge pull request #2329 from syuilo/improve-chart
Improve chart
Diffstat (limited to 'src/models')
| -rw-r--r-- | src/models/drive-file.ts | 5 | ||||
| -rw-r--r-- | src/models/stats.ts | 153 |
2 files changed, 158 insertions, 0 deletions
diff --git a/src/models/drive-file.ts b/src/models/drive-file.ts index 2b9efc404d..dbbc1f1cd5 100644 --- a/src/models/drive-file.ts +++ b/src/models/drive-file.ts @@ -52,6 +52,11 @@ export type IDriveFile = { filename: string; contentType: string; metadata: IMetadata; + + /** + * ファイルサイズ + */ + length: number; }; export function validateFileName(name: string): boolean { diff --git a/src/models/stats.ts b/src/models/stats.ts new file mode 100644 index 0000000000..7bff475c63 --- /dev/null +++ b/src/models/stats.ts @@ -0,0 +1,153 @@ +import * as mongo from 'mongodb'; +import db from '../db/mongodb'; + +const Stats = db.get<IStats>('stats'); +Stats.createIndex({ date: -1 }, { unique: true }); +export default Stats; + +export interface IStats { + _id: mongo.ObjectID; + + date: Date; + + /** + * ユーザーに関する統計 + */ + users: { + local: { + /** + * この日時点での、ローカルのユーザーの総計 + */ + total: number; + + /** + * ローカルのユーザー数の前日比 + */ + diff: number; + }; + + remote: { + /** + * この日時点での、リモートのユーザーの総計 + */ + total: number; + + /** + * リモートのユーザー数の前日比 + */ + diff: number; + }; + }; + + /** + * 投稿に関する統計 + */ + notes: { + local: { + /** + * この日時点での、ローカルの投稿の総計 + */ + total: number; + + /** + * ローカルの投稿数の前日比 + */ + diff: number; + + diffs: { + /** + * ローカルの通常の投稿数の前日比 + */ + normal: number; + + /** + * ローカルのリプライの投稿数の前日比 + */ + reply: number; + + /** + * ローカルのRenoteの投稿数の前日比 + */ + renote: number; + }; + }; + + remote: { + /** + * この日時点での、リモートの投稿の総計 + */ + total: number; + + /** + * リモートの投稿数の前日比 + */ + diff: number; + + diffs: { + /** + * リモートの通常の投稿数の前日比 + */ + normal: number; + + /** + * リモートのリプライの投稿数の前日比 + */ + reply: number; + + /** + * リモートのRenoteの投稿数の前日比 + */ + renote: number; + }; + }; + }; + + /** + * ドライブ(のファイル)に関する統計 + */ + drive: { + local: { + /** + * この日時点での、ローカルのドライブファイル数の総計 + */ + totalCount: number; + + /** + * この日時点での、ローカルのドライブファイルサイズの総計 + */ + totalSize: number; + + /** + * ローカルのドライブファイル数の前日比 + */ + diffCount: number; + + /** + * ローカルのドライブファイルサイズの前日比 + */ + diffSize: number; + }; + + remote: { + /** + * この日時点での、リモートのドライブファイル数の総計 + */ + totalCount: number; + + /** + * この日時点での、リモートのドライブファイルサイズの総計 + */ + totalSize: number; + + /** + * リモートのドライブファイル数の前日比 + */ + diffCount: number; + + /** + * リモートのドライブファイルサイズの前日比 + */ + diffSize: number; + }; + }; +} |