diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2018-10-22 22:00:54 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2018-10-22 22:00:54 +0900 |
| commit | 1af4f94338c9e0c02178229424400db91ea4c4c2 (patch) | |
| tree | c3f906abb3ea0b06552956cb19035f17b0930ca4 /src/server/api/endpoints | |
| parent | Show chart in user column (diff) | |
| download | sharkey-1af4f94338c9e0c02178229424400db91ea4c4c2.tar.gz sharkey-1af4f94338c9e0c02178229424400db91ea4c4c2.tar.bz2 sharkey-1af4f94338c9e0c02178229424400db91ea4c4c2.zip | |
Implement #2961
Diffstat (limited to 'src/server/api/endpoints')
| -rw-r--r-- | src/server/api/endpoints/charts/hashtag.ts | 39 |
1 files changed, 39 insertions, 0 deletions
diff --git a/src/server/api/endpoints/charts/hashtag.ts b/src/server/api/endpoints/charts/hashtag.ts new file mode 100644 index 0000000000..b42bc97eff --- /dev/null +++ b/src/server/api/endpoints/charts/hashtag.ts @@ -0,0 +1,39 @@ +import $ from 'cafy'; +import getParams from '../../get-params'; +import { hashtagStats } from '../../../../services/stats'; + +export const meta = { + desc: { + 'ja-JP': 'ハッシュタグごとの統計を取得します。' + }, + + params: { + span: $.str.or(['day', 'hour']).note({ + desc: { + 'ja-JP': '集計のスパン (day または hour)' + } + }), + + limit: $.num.optional.range(1, 100).note({ + default: 30, + desc: { + 'ja-JP': '最大数。例えば 30 を指定したとすると、スパンが"day"の場合は30日分のデータが、スパンが"hour"の場合は30時間分のデータが返ります。' + } + }), + + tag: $.str.note({ + desc: { + 'ja-JP': '対象のハッシュタグ' + } + }), + } +}; + +export default (params: any) => new Promise(async (res, rej) => { + const [ps, psErr] = getParams(meta, params); + if (psErr) throw psErr; + + const stats = await hashtagStats.getChart(ps.span as any, ps.limit, ps.tag); + + res(stats); +}); |