summaryrefslogtreecommitdiff
path: root/src/services
diff options
context:
space:
mode:
authorsyuilo <syuilotan@yahoo.co.jp>2019-02-25 04:02:18 +0900
committersyuilo <syuilotan@yahoo.co.jp>2019-02-25 04:02:18 +0900
commit47d4dcfdf55864f50bb278cd8ba6122be600d159 (patch)
treead482cfc0d1acc5fdac82d33d9a041e303584f3f /src/services
parentImprove doc (diff)
downloadsharkey-47d4dcfdf55864f50bb278cd8ba6122be600d159.tar.gz
sharkey-47d4dcfdf55864f50bb278cd8ba6122be600d159.tar.bz2
sharkey-47d4dcfdf55864f50bb278cd8ba6122be600d159.zip
Improve doc
Diffstat (limited to 'src/services')
-rw-r--r--src/services/chart/per-user-following.ts84
1 files changed, 59 insertions, 25 deletions
diff --git a/src/services/chart/per-user-following.ts b/src/services/chart/per-user-following.ts
index 9d6d347ef6..8a94a4f155 100644
--- a/src/services/chart/per-user-following.ts
+++ b/src/services/chart/per-user-following.ts
@@ -2,56 +2,90 @@ import autobind from 'autobind-decorator';
import Chart, { Obj } from './';
import Following from '../../models/following';
import { IUser, isLocalUser } from '../../models/user';
+import { SchemaType } from '../../misc/schema';
-/**
- * ユーザーごとのフォローに関するチャート
- */
-type PerUserFollowingLog = {
- local: {
- /**
- * フォローしている
- */
- followings: {
+export const logSchema = {
+ /**
+ * フォローしている
+ */
+ followings: {
+ type: 'object' as 'object',
+ properties: {
/**
- * 合計
+ * フォローしている合計
*/
- total: number;
+ total: {
+ type: 'number',
+ description: 'フォローしている合計',
+ },
/**
* フォローした数
*/
- inc: number;
+ inc: {
+ type: 'number',
+ description: 'フォローした数',
+ },
/**
* フォロー解除した数
*/
- dec: number;
- };
+ dec: {
+ type: 'number',
+ description: 'フォロー解除した数',
+ },
+ }
+ },
- /**
- * フォローされている
- */
- followers: {
+ /**
+ * フォローされている
+ */
+ followers: {
+ type: 'object' as 'object',
+ properties: {
/**
- * 合計
+ * フォローされている合計
*/
- total: number;
+ total: {
+ type: 'number',
+ description: 'フォローされている合計',
+ },
/**
* フォローされた数
*/
- inc: number;
+ inc: {
+ type: 'number',
+ description: 'フォローされた数',
+ },
/**
* フォロー解除された数
*/
- dec: number;
- };
- };
+ dec: {
+ type: 'number',
+ description: 'フォロー解除された数',
+ },
+ }
+ },
+};
- remote: PerUserFollowingLog['local'];
+export const perUserFollowingLogSchema = {
+ type: 'object' as 'object',
+ properties: {
+ local: {
+ type: 'object' as 'object',
+ properties: logSchema
+ },
+ remote: {
+ type: 'object' as 'object',
+ properties: logSchema
+ },
+ }
};
+type PerUserFollowingLog = SchemaType<typeof perUserFollowingLogSchema>;
+
class PerUserFollowingChart extends Chart<PerUserFollowingLog> {
constructor() {
super('perUserFollowing', true);