Refactorgin
This commit is contained in:
parent
ee5720df2c
commit
f5091d524b
1 changed files with 68 additions and 71 deletions
|
@ -106,8 +106,6 @@ type Option = {
|
|||
};
|
||||
|
||||
export default async (user: User, data: Option, silent = false) => new Promise<Note>(async (res, rej) => {
|
||||
const isFirstNote = user.notesCount === 0;
|
||||
|
||||
if (data.createdAt == null) data.createdAt = new Date();
|
||||
if (data.visibility == null) data.visibility = 'public';
|
||||
if (data.viaMobile == null) data.viaMobile = false;
|
||||
|
@ -195,8 +193,6 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
|
|||
// 統計を更新
|
||||
notesChart.update(note, true);
|
||||
perUserNotesChart.update(user, note, true);
|
||||
// ローカルユーザーのチャートはタイムライン取得時に更新しているのでリモートユーザーの場合だけでよい
|
||||
if (Users.isRemoteUser(user)) activeUsersChart.update(user);
|
||||
|
||||
// Register host
|
||||
if (Users.isRemoteUser(user)) {
|
||||
|
@ -212,6 +208,18 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
|
|||
// Increment notes count (user)
|
||||
incNotesCountOfUser(user);
|
||||
|
||||
if (data.reply) {
|
||||
saveReply(data.reply, note);
|
||||
}
|
||||
|
||||
if (data.renote) {
|
||||
incRenoteCount(data.renote);
|
||||
}
|
||||
|
||||
if (!silent) {
|
||||
// ローカルユーザーのチャートはタイムライン取得時に更新しているのでリモートユーザーの場合だけでよい
|
||||
if (Users.isRemoteUser(user)) activeUsersChart.update(user);
|
||||
|
||||
// 未読通知を作成
|
||||
if (data.visibility == 'specified') {
|
||||
if (data.visibleUsers == null) throw new Error('invalid param');
|
||||
|
@ -225,24 +233,14 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
|
|||
}
|
||||
}
|
||||
|
||||
if (data.reply) {
|
||||
saveReply(data.reply, note);
|
||||
}
|
||||
|
||||
if (data.renote) {
|
||||
incRenoteCount(data.renote);
|
||||
}
|
||||
|
||||
// Pack the note
|
||||
const noteObj = await Notes.pack(note);
|
||||
|
||||
if (isFirstNote) {
|
||||
if (user.notesCount === 0) {
|
||||
(noteObj as any).isFirstNote = true;
|
||||
}
|
||||
|
||||
if (!silent) {
|
||||
publishNotesStream(noteObj);
|
||||
}
|
||||
|
||||
const nm = new NotificationManager(user, note);
|
||||
const nmRelatedPromises = [];
|
||||
|
@ -297,13 +295,12 @@ export default async (user: User, data: Option, silent = false) => new Promise<N
|
|||
}
|
||||
}
|
||||
|
||||
if (!silent) {
|
||||
publish(user, note, data.reply, data.renote, noteActivity);
|
||||
}
|
||||
|
||||
Promise.all(nmRelatedPromises).then(() => {
|
||||
nm.deliver();
|
||||
});
|
||||
}
|
||||
|
||||
// Register to search database
|
||||
index(note);
|
||||
|
|
Loading…
Reference in a new issue