2018-10-24 06:17:55 +09:00
|
|
|
import * as mongo from 'mongodb';
|
|
|
|
import db from '../db/mongodb';
|
|
|
|
|
|
|
|
const Instance = db.get<IInstance>('instances');
|
|
|
|
Instance.createIndex('host', { unique: true });
|
|
|
|
export default Instance;
|
|
|
|
|
|
|
|
export interface IInstance {
|
|
|
|
_id: mongo.ObjectID;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ホスト
|
|
|
|
*/
|
|
|
|
host: string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスを捕捉した日時
|
|
|
|
*/
|
|
|
|
caughtAt: Date;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスのシステム (MastodonとかMisskeyとかPleromaとか)
|
|
|
|
*/
|
|
|
|
system: string;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスのユーザー数
|
|
|
|
*/
|
|
|
|
usersCount: number;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスから受け取った投稿数
|
|
|
|
*/
|
|
|
|
notesCount: number;
|
2019-02-07 15:00:44 +09:00
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスのユーザーからフォローされている、自インスタンスのユーザーの数
|
|
|
|
*/
|
|
|
|
followingCount: number;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスのユーザーをフォローしている、自インスタンスのユーザーの数
|
|
|
|
*/
|
|
|
|
followersCount: number;
|
|
|
|
|
2019-02-08 16:58:57 +09:00
|
|
|
/**
|
|
|
|
* ドライブ使用量
|
|
|
|
*/
|
|
|
|
driveUsage: number;
|
|
|
|
|
|
|
|
/**
|
|
|
|
* ドライブのファイル数
|
|
|
|
*/
|
|
|
|
driveFiles: number;
|
|
|
|
|
2019-02-07 15:00:44 +09:00
|
|
|
/**
|
2019-02-07 16:05:29 +09:00
|
|
|
* 直近のリクエスト送信日時
|
2019-02-07 15:00:44 +09:00
|
|
|
*/
|
|
|
|
latestRequestSentAt?: Date;
|
|
|
|
|
|
|
|
/**
|
2019-02-07 16:05:29 +09:00
|
|
|
* 直近のリクエスト送信時のHTTPステータスコード
|
2019-02-07 15:00:44 +09:00
|
|
|
*/
|
|
|
|
latestStatus?: number;
|
2019-02-07 16:05:29 +09:00
|
|
|
|
|
|
|
/**
|
|
|
|
* 直近のリクエスト受信日時
|
|
|
|
*/
|
|
|
|
latestRequestReceivedAt?: Date;
|
2019-02-08 04:26:43 +09:00
|
|
|
|
|
|
|
/**
|
|
|
|
* このインスタンスをブロックしているか
|
|
|
|
*/
|
|
|
|
isBlocked: boolean;
|
2018-10-24 06:17:55 +09:00
|
|
|
}
|