diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-01-16 02:30:55 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-01-16 02:30:55 +0900 |
| commit | c2f6b099692520548bd4218ae37a4917c60343af (patch) | |
| tree | dddb51c4c80cecac1563fa14b5b3c0345c716012 /src/server/api/endpoints/notes/global-timeline.ts | |
| parent | Merge branch 'develop' of https://github.com/syuilo/misskey into develop (diff) | |
| download | misskey-c2f6b099692520548bd4218ae37a4917c60343af.tar.gz misskey-c2f6b099692520548bd4218ae37a4917c60343af.tar.bz2 misskey-c2f6b099692520548bd4218ae37a4917c60343af.zip | |
disableLocalTimeline機能を強化
* ストリームだけではなくAPIも無効に
* モデレーターは無効の場合でも見れるように
* グローバルタイムラインも無効に(連合数が少ないインスタンスではグローバルタイムラインは実質的にローカルタイムラインと同一なので)
Diffstat (limited to 'src/server/api/endpoints/notes/global-timeline.ts')
| -rw-r--r-- | src/server/api/endpoints/notes/global-timeline.ts | 8 |
1 files changed, 8 insertions, 0 deletions
diff --git a/src/server/api/endpoints/notes/global-timeline.ts b/src/server/api/endpoints/notes/global-timeline.ts index b7f765f27d..f5fd0d6dd8 100644 --- a/src/server/api/endpoints/notes/global-timeline.ts +++ b/src/server/api/endpoints/notes/global-timeline.ts @@ -4,6 +4,7 @@ import Mute from '../../../../models/mute'; import { packMany } from '../../../../models/note'; import define from '../../define'; import { countIf } from '../../../../prelude/array'; +import fetchMeta from '../../../../misc/fetch-meta'; export const meta = { desc: { @@ -51,6 +52,13 @@ export const meta = { }; export default define(meta, (ps, user) => new Promise(async (res, rej) => { + const meta = await fetchMeta(); + if (meta.disableLocalTimeline) { + if (user == null || (!user.isAdmin && !user.isModerator)) { + return rej('local timeline disabled'); + } + } + // Check if only one of sinceId, untilId, sinceDate, untilDate specified if (countIf(x => x != null, [ps.sinceId, ps.untilId, ps.sinceDate, ps.untilDate]) > 1) { return rej('only one of sinceId, untilId, sinceDate, untilDate can be specified'); |