diff options
| author | syuilo <Syuilotan@yahoo.co.jp> | 2021-11-12 02:02:25 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2021-11-12 02:02:25 +0900 |
| commit | 0e4a111f81cceed275d9bec2695f6e401fb654d8 (patch) | |
| tree | 40874799472fa07416f17b50a398ac33b7771905 /packages/backend/src/server/api/endpoints/charts | |
| parent | update deps (diff) | |
| download | sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.gz sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.tar.bz2 sharkey-0e4a111f81cceed275d9bec2695f6e401fb654d8.zip | |
refactoring
Resolve #7779
Diffstat (limited to 'packages/backend/src/server/api/endpoints/charts')
12 files changed, 388 insertions, 0 deletions
diff --git a/packages/backend/src/server/api/endpoints/charts/active-users.ts b/packages/backend/src/server/api/endpoints/charts/active-users.ts new file mode 100644 index 0000000000..c4878f7d61 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/active-users.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { activeUsersChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'users'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(activeUsersChart.schema), +}; + +export default define(meta, async (ps) => { + return await activeUsersChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/drive.ts b/packages/backend/src/server/api/endpoints/charts/drive.ts new file mode 100644 index 0000000000..07bff82cf4 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/drive.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { driveChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'drive'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(driveChart.schema), +}; + +export default define(meta, async (ps) => { + return await driveChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/federation.ts b/packages/backend/src/server/api/endpoints/charts/federation.ts new file mode 100644 index 0000000000..9575f9a7b7 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/federation.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { federationChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(federationChart.schema), +}; + +export default define(meta, async (ps) => { + return await federationChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/hashtag.ts b/packages/backend/src/server/api/endpoints/charts/hashtag.ts new file mode 100644 index 0000000000..53dc61e51e --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/hashtag.ts @@ -0,0 +1,34 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { hashtagChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'hashtags'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + tag: { + validator: $.str, + }, + }, + + res: convertLog(hashtagChart.schema), +}; + +export default define(meta, async (ps) => { + return await hashtagChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.tag); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/instance.ts b/packages/backend/src/server/api/endpoints/charts/instance.ts new file mode 100644 index 0000000000..1835023188 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/instance.ts @@ -0,0 +1,34 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { instanceChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + host: { + validator: $.str, + } + }, + + res: convertLog(instanceChart.schema), +}; + +export default define(meta, async (ps) => { + return await instanceChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.host); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/network.ts b/packages/backend/src/server/api/endpoints/charts/network.ts new file mode 100644 index 0000000000..b524df93be --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/network.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { networkChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(networkChart.schema), +}; + +export default define(meta, async (ps) => { + return await networkChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/notes.ts b/packages/backend/src/server/api/endpoints/charts/notes.ts new file mode 100644 index 0000000000..676f302939 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/notes.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { notesChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'notes'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(notesChart.schema), +}; + +export default define(meta, async (ps) => { + return await notesChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/user/drive.ts b/packages/backend/src/server/api/endpoints/charts/user/drive.ts new file mode 100644 index 0000000000..f2770e2df8 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/user/drive.ts @@ -0,0 +1,35 @@ +import $ from 'cafy'; +import define from '../../../define'; +import { ID } from '@/misc/cafy-id'; +import { convertLog } from '@/services/chart/core'; +import { perUserDriveChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'drive', 'users'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + userId: { + validator: $.type(ID), + } + }, + + res: convertLog(perUserDriveChart.schema), +}; + +export default define(meta, async (ps) => { + return await perUserDriveChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.userId); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/user/following.ts b/packages/backend/src/server/api/endpoints/charts/user/following.ts new file mode 100644 index 0000000000..8c97b63e89 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/user/following.ts @@ -0,0 +1,35 @@ +import $ from 'cafy'; +import define from '../../../define'; +import { ID } from '@/misc/cafy-id'; +import { convertLog } from '@/services/chart/core'; +import { perUserFollowingChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'users', 'following'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + userId: { + validator: $.type(ID), + } + }, + + res: convertLog(perUserFollowingChart.schema), +}; + +export default define(meta, async (ps) => { + return await perUserFollowingChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.userId); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/user/notes.ts b/packages/backend/src/server/api/endpoints/charts/user/notes.ts new file mode 100644 index 0000000000..0d5f5a8b6a --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/user/notes.ts @@ -0,0 +1,35 @@ +import $ from 'cafy'; +import define from '../../../define'; +import { ID } from '@/misc/cafy-id'; +import { convertLog } from '@/services/chart/core'; +import { perUserNotesChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'users', 'notes'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + userId: { + validator: $.type(ID), + } + }, + + res: convertLog(perUserNotesChart.schema), +}; + +export default define(meta, async (ps) => { + return await perUserNotesChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.userId); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/user/reactions.ts b/packages/backend/src/server/api/endpoints/charts/user/reactions.ts new file mode 100644 index 0000000000..3cabe40d56 --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/user/reactions.ts @@ -0,0 +1,35 @@ +import $ from 'cafy'; +import define from '../../../define'; +import { ID } from '@/misc/cafy-id'; +import { convertLog } from '@/services/chart/core'; +import { perUserReactionsChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'users', 'reactions'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + + userId: { + validator: $.type(ID), + } + }, + + res: convertLog(perUserReactionsChart.schema), +}; + +export default define(meta, async (ps) => { + return await perUserReactionsChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null, ps.userId); +}); diff --git a/packages/backend/src/server/api/endpoints/charts/users.ts b/packages/backend/src/server/api/endpoints/charts/users.ts new file mode 100644 index 0000000000..deac89b59d --- /dev/null +++ b/packages/backend/src/server/api/endpoints/charts/users.ts @@ -0,0 +1,30 @@ +import $ from 'cafy'; +import define from '../../define'; +import { convertLog } from '@/services/chart/core'; +import { usersChart } from '@/services/chart/index'; + +export const meta = { + tags: ['charts', 'users'], + + params: { + span: { + validator: $.str.or(['day', 'hour']), + }, + + limit: { + validator: $.optional.num.range(1, 500), + default: 30, + }, + + offset: { + validator: $.optional.nullable.num, + default: null, + }, + }, + + res: convertLog(usersChart.schema), +}; + +export default define(meta, async (ps) => { + return await usersChart.getChart(ps.span as any, ps.limit!, ps.offset ? new Date(ps.offset) : null); +}); |