summaryrefslogtreecommitdiff
path: root/src/models
diff options
context:
space:
mode:
Diffstat (limited to 'src/models')
-rw-r--r--src/models/drive-file.ts5
-rw-r--r--src/models/meta.ts1
-rw-r--r--src/models/registration-tickets.ts12
-rw-r--r--src/models/stats.ts153
4 files changed, 171 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/meta.ts b/src/models/meta.ts
index 11b9b186ce..aef0163dfe 100644
--- a/src/models/meta.ts
+++ b/src/models/meta.ts
@@ -11,4 +11,5 @@ export type IMeta = {
usersCount: number;
originalUsersCount: number;
};
+ disableRegistration: boolean;
};
diff --git a/src/models/registration-tickets.ts b/src/models/registration-tickets.ts
new file mode 100644
index 0000000000..846acefedf
--- /dev/null
+++ b/src/models/registration-tickets.ts
@@ -0,0 +1,12 @@
+import * as mongo from 'mongodb';
+import db from '../db/mongodb';
+
+const RegistrationTicket = db.get<IRegistrationTicket>('registrationTickets');
+RegistrationTicket.createIndex('code', { unique: true });
+export default RegistrationTicket;
+
+export interface IRegistrationTicket {
+ _id: mongo.ObjectID;
+ createdAt: Date;
+ code: string;
+}
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;
+ };
+ };
+}