summaryrefslogtreecommitdiff
path: root/src/models/instance.ts
blob: 985564f8def64b6c6248a9f34f71faa21f379f7f (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
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;

	/**
	 * このインスタンスのユーザーからフォローされている、自インスタンスのユーザーの数
	 */
	followingCount: number;

	/**
	 * このインスタンスのユーザーをフォローしている、自インスタンスのユーザーの数
	 */
	followersCount: number;

	/**
	 * ドライブ使用量
	 */
	driveUsage: number;

	/**
	 * ドライブのファイル数
	 */
	driveFiles: number;

	/**
	 * 直近のリクエスト送信日時
	 */
	latestRequestSentAt?: Date;

	/**
	 * 直近のリクエスト送信時のHTTPステータスコード
	 */
	latestStatus?: number;

	/**
	 * 直近のリクエスト受信日時
	 */
	latestRequestReceivedAt?: Date;

	/**
	 * このインスタンスをブロックしているか
	 */
	isBlocked: boolean;
}