import * as mongo from 'mongodb'; import db from '../db/mongodb'; const Instance = db.get('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; /** * このインスタンスのユーザーからフォローされている、自インスタンスのユーザーの数 */ followingCount: number; /** * このインスタンスのユーザーをフォローしている、自インスタンスのユーザーの数 */ followersCount: number; /** * ドライブ使用量 */ driveUsage: number; /** * ドライブのファイル数 */ driveFiles: number; /** * 直近のリクエスト送信日時 */ latestRequestSentAt?: Date; /** * 直近のリクエスト送信時のHTTPステータスコード */ latestStatus?: number; /** * 直近のリクエスト受信日時 */ latestRequestReceivedAt?: Date; /** * このインスタンスと不通かどうか */ isNotResponding: boolean; /** * このインスタンスと最後にやり取りした日時 */ lastCommunicatedAt: Date; /** * このインスタンスをブロックしているか */ isBlocked: boolean; /** * このインスタンスが閉鎖済みとしてマークされているか */ isMarkedAsClosed: boolean; }