diff options
| author | Oni-Men <sensyaheis@gmail.com> | 2020-02-26 07:54:35 +0900 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2020-02-26 07:54:35 +0900 |
| commit | f6c376f20d826cc551293ae67292ad0ba7152fab (patch) | |
| tree | 22494b62244a1d9803668f9f64e7ca17782907df /src/services/note | |
| parent | Merge pull request #6084 from syuilo/patch/autogen/v11 (diff) | |
| download | misskey-f6c376f20d826cc551293ae67292ad0ba7152fab.tar.gz misskey-f6c376f20d826cc551293ae67292ad0ba7152fab.tar.bz2 misskey-f6c376f20d826cc551293ae67292ad0ba7152fab.zip | |
同じノートを何回リノートしても一回として数えるように (#6086)
* 同じノートを何回リノートしても一回として数えるように
* Update count-same-renotes.ts
Co-authored-by: syuilo <Syuilotan@yahoo.co.jp>
Diffstat (limited to 'src/services/note')
| -rw-r--r-- | src/services/note/create.ts | 4 | ||||
| -rw-r--r-- | src/services/note/delete.ts | 4 |
2 files changed, 6 insertions, 2 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 3426083e30..98b1731802 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -30,6 +30,7 @@ import { isDuplicateKeyValueError } from '../../misc/is-duplicate-key-value-erro import { ensure } from '../../prelude/ensure'; import { checkHitAntenna } from '../../misc/check-hit-antenna'; import { addNoteToAntenna } from '../add-note-to-antenna'; +import countSameRenotes from '../count-same-renotes'; type NotificationType = 'reply' | 'renote' | 'quote' | 'mention'; @@ -236,7 +237,8 @@ export default async (user: User, data: Option, silent = false) => new Promise<N saveReply(data.reply, note); } - if (data.renote) { + //この投稿を除く指定したユーザーによる指定したノートのリノートが存在しないとき + if (data.renote && (await countSameRenotes(user.id, data.renote.id, note.id) === 0)) { incRenoteCount(data.renote); } diff --git a/src/services/note/delete.ts b/src/services/note/delete.ts index 29b9c576da..6561120b49 100644 --- a/src/services/note/delete.ts +++ b/src/services/note/delete.ts @@ -11,6 +11,7 @@ import { Note } from '../../models/entities/note'; import { Notes, Users, Instances } from '../../models'; import { notesChart, perUserNotesChart, instanceChart } from '../chart'; import { deliverToFollowers } from '../../remote/activitypub/deliver-manager'; +import countSameRenotes from '../count-same-renotes'; /** * 投稿を削除します。 @@ -20,7 +21,8 @@ import { deliverToFollowers } from '../../remote/activitypub/deliver-manager'; export default async function(user: User, note: Note, quiet = false) { const deletedAt = new Date(); - if (note.renoteId) { + //この投稿を除く指定したユーザーによる指定したノートのリノートが存在しないとき + if (note.renoteId && (await countSameRenotes(user.id, note.renoteId, note.id)) === 0) { Notes.decrement({ id: note.renoteId }, 'renoteCount', 1); Notes.decrement({ id: note.renoteId }, 'score', 1); } |