diff options
| author | syuilo <syuilotan@yahoo.co.jp> | 2019-01-20 12:25:00 +0900 |
|---|---|---|
| committer | syuilo <syuilotan@yahoo.co.jp> | 2019-01-20 12:25:00 +0900 |
| commit | 6909add1ec991cf4f9fdcc05978520f30414f576 (patch) | |
| tree | 18eeb26555e82ebd4079db3a8291b807f2cc9a75 /src/server/api | |
| parent | Update CHANGELOG.md (diff) | |
| download | sharkey-6909add1ec991cf4f9fdcc05978520f30414f576.tar.gz sharkey-6909add1ec991cf4f9fdcc05978520f30414f576.tar.bz2 sharkey-6909add1ec991cf4f9fdcc05978520f30414f576.zip | |
Drop stalk feature
Resolve #3935
Closes #2226
Closes #1946
Diffstat (limited to 'src/server/api')
| -rw-r--r-- | src/server/api/common/get-friends.ts | 6 | ||||
| -rw-r--r-- | src/server/api/endpoints/following/stalk.ts | 50 | ||||
| -rw-r--r-- | src/server/api/endpoints/following/unstalk.ts | 50 | ||||
| -rw-r--r-- | src/server/api/endpoints/notes/hybrid-timeline.ts | 8 | ||||
| -rw-r--r-- | src/server/api/endpoints/notes/timeline.ts | 6 |
5 files changed, 7 insertions, 113 deletions
diff --git a/src/server/api/common/get-friends.ts b/src/server/api/common/get-friends.ts index e0b05f73df..876aa399f7 100644 --- a/src/server/api/common/get-friends.ts +++ b/src/server/api/common/get-friends.ts @@ -36,14 +36,12 @@ export const getFriends = async (me: mongodb.ObjectID, includeMe = true, remoteO // ID list of other users who the I follows const myfollowings = followings.map(following => ({ - id: following.followeeId, - stalk: following.stalk + id: following.followeeId })); if (includeMe) { myfollowings.push({ - id: me, - stalk: true + id: me }); } diff --git a/src/server/api/endpoints/following/stalk.ts b/src/server/api/endpoints/following/stalk.ts deleted file mode 100644 index 3a58e2192f..0000000000 --- a/src/server/api/endpoints/following/stalk.ts +++ /dev/null @@ -1,50 +0,0 @@ -import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; -import Following from '../../../../models/following'; -import define from '../../define'; - -export const meta = { - desc: { - 'ja-JP': '指定したユーザーをストーキングします。', - 'en-US': 'Stalk a user.' - }, - - requireCredential: true, - - kind: 'following-write', - - params: { - userId: { - validator: $.type(ID), - transform: transform, - desc: { - 'ja-JP': '対象のユーザーのID', - 'en-US': 'Target user ID' - } - } - } -}; - -export default define(meta, (ps, user) => new Promise(async (res, rej) => { - const follower = user; - - // Fetch following - const following = await Following.findOne({ - followerId: follower._id, - followeeId: ps.userId - }); - - if (following === null) { - return rej('following not found'); - } - - // Stalk - await Following.update({ _id: following._id }, { - $set: { - stalk: true - } - }); - - res(); - - // TODO: イベント -})); diff --git a/src/server/api/endpoints/following/unstalk.ts b/src/server/api/endpoints/following/unstalk.ts deleted file mode 100644 index ad07ec38ba..0000000000 --- a/src/server/api/endpoints/following/unstalk.ts +++ /dev/null @@ -1,50 +0,0 @@ -import $ from 'cafy'; import ID, { transform } from '../../../../misc/cafy-id'; -import Following from '../../../../models/following'; -import define from '../../define'; - -export const meta = { - desc: { - 'ja-JP': '指定したユーザーのストーキングをやめます。', - 'en-US': 'Unstalk a user.' - }, - - requireCredential: true, - - kind: 'following-write', - - params: { - userId: { - validator: $.type(ID), - transform: transform, - desc: { - 'ja-JP': '対象のユーザーのID', - 'en-US': 'Target user ID' - } - } - } -}; - -export default define(meta, (ps, user) => new Promise(async (res, rej) => { - const follower = user; - - // Fetch following - const following = await Following.findOne({ - followerId: follower._id, - followeeId: ps.userId - }); - - if (following === null) { - return rej('following not found'); - } - - // Stalk - await Following.update({ _id: following._id }, { - $set: { - stalk: false - } - }); - - res(); - - // TODO: イベント -})); diff --git a/src/server/api/endpoints/notes/hybrid-timeline.ts b/src/server/api/endpoints/notes/hybrid-timeline.ts index 919b0662aa..c05b88a01b 100644 --- a/src/server/api/endpoints/notes/hybrid-timeline.ts +++ b/src/server/api/endpoints/notes/hybrid-timeline.ts @@ -119,12 +119,10 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { _id: -1 }; - const followQuery = followings.map(f => f.stalk ? { - userId: f.id - } : { + const followQuery = followings.map(f => ({ userId: f.id, - // ストーキングしてないならリプライは含めない(ただし投稿者自身の投稿へのリプライ、自分の投稿へのリプライ、自分のリプライは含める) + // リプライは含めない(ただし投稿者自身の投稿へのリプライ、自分の投稿へのリプライ、自分のリプライは含める) $or: [{ // リプライでない replyId: null @@ -140,7 +138,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { // 自分(フォロワー)が送信したリプライ userId: user._id }] - }); + })); const visibleQuery = user == null ? [{ visibility: { $in: [ 'public', 'home' ] } diff --git a/src/server/api/endpoints/notes/timeline.ts b/src/server/api/endpoints/notes/timeline.ts index 24ed222e9a..9b0cc6ac20 100644 --- a/src/server/api/endpoints/notes/timeline.ts +++ b/src/server/api/endpoints/notes/timeline.ts @@ -117,9 +117,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { _id: -1 }; - const followQuery = followings.map(f => f.stalk ? { - userId: f.id - } : { + const followQuery = followings.map(f => ({ userId: f.id, // ストーキングしてないならリプライは含めない(ただし投稿者自身の投稿へのリプライ、自分の投稿へのリプライ、自分のリプライは含める) @@ -138,7 +136,7 @@ export default define(meta, (ps, user) => new Promise(async (res, rej) => { // 自分(フォロワー)が送信したリプライ userId: user._id }] - }); + })); const visibleQuery = user == null ? [{ visibility: { $in: [ 'public', 'home' ] } |