From 931bdc6aace5e7aa71ffdfb470e208ead78a2a53 Mon Sep 17 00:00:00 2001 From: syuilo Date: Fri, 2 Nov 2018 03:32:24 +0900 Subject: Refactoring, Clean up and bug fixes --- src/server/api/endpoints/charts/drive.ts | 10 ++++++---- src/server/api/endpoints/charts/federation.ts | 10 ++++++---- src/server/api/endpoints/charts/hashtag.ts | 15 +++++++++------ src/server/api/endpoints/charts/network.ts | 10 ++++++---- src/server/api/endpoints/charts/notes.ts | 10 ++++++---- src/server/api/endpoints/charts/user/drive.ts | 18 +++++++++++------- src/server/api/endpoints/charts/user/following.ts | 18 +++++++++++------- src/server/api/endpoints/charts/user/notes.ts | 18 +++++++++++------- src/server/api/endpoints/charts/user/reactions.ts | 18 +++++++++++------- src/server/api/endpoints/charts/users.ts | 10 ++++++---- 10 files changed, 83 insertions(+), 54 deletions(-) (limited to 'src/server/api/endpoints/charts') diff --git a/src/server/api/endpoints/charts/drive.ts b/src/server/api/endpoints/charts/drive.ts index dc18331847..2200081330 100644 --- a/src/server/api/endpoints/charts/drive.ts +++ b/src/server/api/endpoints/charts/drive.ts @@ -8,18 +8,20 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, } }; diff --git a/src/server/api/endpoints/charts/federation.ts b/src/server/api/endpoints/charts/federation.ts index 5b24783c69..ba19aae04c 100644 --- a/src/server/api/endpoints/charts/federation.ts +++ b/src/server/api/endpoints/charts/federation.ts @@ -8,18 +8,20 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, } }; diff --git a/src/server/api/endpoints/charts/hashtag.ts b/src/server/api/endpoints/charts/hashtag.ts index bcd48dc485..2ef6a06062 100644 --- a/src/server/api/endpoints/charts/hashtag.ts +++ b/src/server/api/endpoints/charts/hashtag.ts @@ -8,24 +8,27 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, - tag: $.str.note({ + tag: { + validator: $.str, desc: { 'ja-JP': '対象のハッシュタグ' } - }), + }, } }; diff --git a/src/server/api/endpoints/charts/network.ts b/src/server/api/endpoints/charts/network.ts index d5b0791994..249504f2e1 100644 --- a/src/server/api/endpoints/charts/network.ts +++ b/src/server/api/endpoints/charts/network.ts @@ -8,18 +8,20 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, } }; diff --git a/src/server/api/endpoints/charts/notes.ts b/src/server/api/endpoints/charts/notes.ts index 573b012469..0f04a4bd90 100644 --- a/src/server/api/endpoints/charts/notes.ts +++ b/src/server/api/endpoints/charts/notes.ts @@ -8,18 +8,20 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, } }; diff --git a/src/server/api/endpoints/charts/user/drive.ts b/src/server/api/endpoints/charts/user/drive.ts index 2626c36c9d..beb6b5bea3 100644 --- a/src/server/api/endpoints/charts/user/drive.ts +++ b/src/server/api/endpoints/charts/user/drive.ts @@ -1,7 +1,7 @@ import $ from 'cafy'; import getParams from '../../../get-params'; import perUserDriveChart from '../../../../../chart/per-user-drive'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; export const meta = { desc: { @@ -9,25 +9,29 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, - userId: $.type(ID).note({ + userId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象のユーザーのID', 'en-US': 'Target user ID' } - }) + } } }; diff --git a/src/server/api/endpoints/charts/user/following.ts b/src/server/api/endpoints/charts/user/following.ts index 57c15cdcfe..e0aebf4255 100644 --- a/src/server/api/endpoints/charts/user/following.ts +++ b/src/server/api/endpoints/charts/user/following.ts @@ -1,7 +1,7 @@ import $ from 'cafy'; import getParams from '../../../get-params'; import perUserFollowingChart from '../../../../../chart/per-user-following'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; export const meta = { desc: { @@ -9,25 +9,29 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, - userId: $.type(ID).note({ + userId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象のユーザーのID', 'en-US': 'Target user ID' } - }) + } } }; diff --git a/src/server/api/endpoints/charts/user/notes.ts b/src/server/api/endpoints/charts/user/notes.ts index 66051fa7c6..251de4d399 100644 --- a/src/server/api/endpoints/charts/user/notes.ts +++ b/src/server/api/endpoints/charts/user/notes.ts @@ -1,7 +1,7 @@ import $ from 'cafy'; import getParams from '../../../get-params'; import perUserNotesChart from '../../../../../chart/per-user-notes'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; export const meta = { desc: { @@ -9,25 +9,29 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, - userId: $.type(ID).note({ + userId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象のユーザーのID', 'en-US': 'Target user ID' } - }) + } } }; diff --git a/src/server/api/endpoints/charts/user/reactions.ts b/src/server/api/endpoints/charts/user/reactions.ts index 60cdaa70bb..f812400709 100644 --- a/src/server/api/endpoints/charts/user/reactions.ts +++ b/src/server/api/endpoints/charts/user/reactions.ts @@ -1,7 +1,7 @@ import $ from 'cafy'; import getParams from '../../../get-params'; import perUserReactionsChart from '../../../../../chart/per-user-reactions'; -import ID from '../../../../../misc/cafy-id'; +import ID, { transform } from '../../../../../misc/cafy-id'; export const meta = { desc: { @@ -9,25 +9,29 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, - userId: $.type(ID).note({ + userId: { + validator: $.type(ID), + transform: transform, desc: { 'ja-JP': '対象のユーザーのID', 'en-US': 'Target user ID' } - }) + } } }; diff --git a/src/server/api/endpoints/charts/users.ts b/src/server/api/endpoints/charts/users.ts index 595bb63f0b..9c23235b23 100644 --- a/src/server/api/endpoints/charts/users.ts +++ b/src/server/api/endpoints/charts/users.ts @@ -8,18 +8,20 @@ export const meta = { }, params: { - span: $.str.or(['day', 'hour']).note({ + span: { + validator: $.str.or(['day', 'hour']), desc: { 'ja-JP': '集計のスパン (day または hour)' } - }), + }, - limit: $.num.optional.range(1, 100).note({ + limit: { + validator: $.num.optional.range(1, 100), default: 30, desc: { 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' } - }), + }, } }; -- cgit v1.2.3-freya