diff options
| author | MeiMei <30769358+mei23@users.noreply.github.com> | 2019-08-18 12:47:45 +0900 |
|---|---|---|
| committer | syuilo <Syuilotan@yahoo.co.jp> | 2019-08-18 12:47:45 +0900 |
| commit | 7ecfc007a99d1df6d65b5f227a49d295e3df5913 (patch) | |
| tree | 9bc7619a0a84e59d68797c4330a61ed449e6a5c3 /src/services | |
| parent | Fix: Hashtagがupdateできない (#5285) (diff) | |
| download | sharkey-7ecfc007a99d1df6d65b5f227a49d295e3df5913.tar.gz sharkey-7ecfc007a99d1df6d65b5f227a49d295e3df5913.tar.bz2 sharkey-7ecfc007a99d1df6d65b5f227a49d295e3df5913.zip | |
updateHashtagを並列で行わないように (#5284)
Diffstat (limited to 'src/services')
| -rw-r--r-- | src/services/note/create.ts | 4 | ||||
| -rw-r--r-- | src/services/update-hashtag.ts | 16 |
2 files changed, 18 insertions, 2 deletions
diff --git a/src/services/note/create.ts b/src/services/note/create.ts index 48d8670228..0dd0e1962f 100644 --- a/src/services/note/create.ts +++ b/src/services/note/create.ts @@ -9,7 +9,7 @@ import watch from './watch'; import { parse } from '../../mfm/parse'; import { resolveUser } from '../../remote/resolve-user'; import config from '../../config'; -import { updateHashtag } from '../update-hashtag'; +import { updateHashtags } from '../update-hashtag'; import { concat } from '../../prelude/array'; import insertNoteUnread from './unread'; import { registerOrFetchInstanceDoc } from '../register-or-fetch-instance-doc'; @@ -202,7 +202,7 @@ export default async (user: User, data: Option, silent = false) => new Promise<N } // ハッシュタグ更新 - for (const tag of tags) updateHashtag(user, tag); + updateHashtags(user, tags); // Increment notes count (user) incNotesCountOfUser(user); diff --git a/src/services/update-hashtag.ts b/src/services/update-hashtag.ts index d58ec6d1e7..1c67ef881e 100644 --- a/src/services/update-hashtag.ts +++ b/src/services/update-hashtag.ts @@ -4,6 +4,22 @@ import { hashtagChart } from './chart'; import { genId } from '../misc/gen-id'; import { Hashtag } from '../models/entities/hashtag'; +export async function updateHashtags(user: User, tags: string[]) { + for (const tag of tags) { + await updateHashtag(user, tag); + } +} + +export async function updateUsertags(user: User, tags: string[]) { + for (const tag of tags) { + await updateHashtag(user, tag, true, true); + } + + for (const tag of (user.tags || []).filter(x => !tags.includes(x))) { + await updateHashtag(user, tag, true, false); + } +} + export async function updateHashtag(user: User, tag: string, isUserAttached = false, inc = true) { tag = tag.toLowerCase(); |