同じリアクション削除を同時に行うとリアクションカウントがおかしくなることがあるのを修正 (#6253)

* Fix #6252

* quote

* Use IdentifiableError
This commit is contained in:
MeiMei 2020-04-13 23:58:38 +09:00 committed by GitHub
parent 58d3a37908
commit 916512fd47
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 5 additions and 1 deletions

View File

@ -20,7 +20,11 @@ export default async (user: User, note: Note) => {
}
// Delete reaction
await NoteReactions.delete(exist.id);
const result = await NoteReactions.delete(exist.id);
if (result.affected !== 1) {
throw new IdentifiableError('60527ec9-b4cb-4a88-a6bd-32d3ad26817d', 'not reacted');
}
// Decrement reactions count
const sql = `jsonb_set("reactions", '{${exist.reaction}}', (COALESCE("reactions"->>'${exist.reaction}', '0')::int - 1)::text::jsonb)`;