fix: increment and decrement of note count
This commit is contained in:
parent
33eab0d178
commit
01a142f777
2 changed files with 36 additions and 4 deletions
|
@ -504,7 +504,11 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
// Register host
|
// Register host
|
||||||
if (this.userEntityService.isRemoteUser(user)) {
|
if (this.userEntityService.isRemoteUser(user)) {
|
||||||
this.federatedInstanceService.fetch(user.host).then(async i => {
|
this.federatedInstanceService.fetch(user.host).then(async i => {
|
||||||
|
if (note.renote && note.text) {
|
||||||
this.instancesRepository.increment({ id: i.id }, 'notesCount', 1);
|
this.instancesRepository.increment({ id: i.id }, 'notesCount', 1);
|
||||||
|
} else if (!note.renote) {
|
||||||
|
this.instancesRepository.increment({ id: i.id }, 'notesCount', 1);
|
||||||
|
}
|
||||||
if ((await this.metaService.fetch()).enableChartsForFederatedInstances) {
|
if ((await this.metaService.fetch()).enableChartsForFederatedInstances) {
|
||||||
this.instanceChart.updateNote(i.host, note, true);
|
this.instanceChart.updateNote(i.host, note, true);
|
||||||
}
|
}
|
||||||
|
@ -520,8 +524,13 @@ export class NoteCreateService implements OnApplicationShutdown {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (data.renote && data.text) {
|
||||||
// Increment notes count (user)
|
// Increment notes count (user)
|
||||||
this.incNotesCountOfUser(user);
|
this.incNotesCountOfUser(user);
|
||||||
|
} else if (!data.renote) {
|
||||||
|
// Increment notes count (user)
|
||||||
|
this.incNotesCountOfUser(user);
|
||||||
|
}
|
||||||
|
|
||||||
this.pushToTl(note, user);
|
this.pushToTl(note, user);
|
||||||
|
|
||||||
|
|
|
@ -115,9 +115,21 @@ export class NoteDeleteService {
|
||||||
this.perUserNotesChart.update(user, note, false);
|
this.perUserNotesChart.update(user, note, false);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
if (note.renote && note.text) {
|
||||||
|
// Decrement notes count (user)
|
||||||
|
this.decNotesCountOfUser(user);
|
||||||
|
} else if (!note.renote) {
|
||||||
|
// Decrement notes count (user)
|
||||||
|
this.decNotesCountOfUser(user);
|
||||||
|
}
|
||||||
|
|
||||||
if (this.userEntityService.isRemoteUser(user)) {
|
if (this.userEntityService.isRemoteUser(user)) {
|
||||||
this.federatedInstanceService.fetch(user.host).then(async i => {
|
this.federatedInstanceService.fetch(user.host).then(async i => {
|
||||||
|
if (note.renote && note.text) {
|
||||||
this.instancesRepository.decrement({ id: i.id }, 'notesCount', 1);
|
this.instancesRepository.decrement({ id: i.id }, 'notesCount', 1);
|
||||||
|
} else if (!note.renote) {
|
||||||
|
this.instancesRepository.decrement({ id: i.id }, 'notesCount', 1);
|
||||||
|
}
|
||||||
if ((await this.metaService.fetch()).enableChartsForFederatedInstances) {
|
if ((await this.metaService.fetch()).enableChartsForFederatedInstances) {
|
||||||
this.instanceChart.updateNote(i.host, note, false);
|
this.instanceChart.updateNote(i.host, note, false);
|
||||||
}
|
}
|
||||||
|
@ -147,6 +159,17 @@ export class NoteDeleteService {
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@bindThis
|
||||||
|
private decNotesCountOfUser(user: { id: MiUser['id']; }) {
|
||||||
|
this.usersRepository.createQueryBuilder().update()
|
||||||
|
.set({
|
||||||
|
updatedAt: new Date(),
|
||||||
|
notesCount: () => '"notesCount" - 1',
|
||||||
|
})
|
||||||
|
.where('id = :id', { id: user.id })
|
||||||
|
.execute();
|
||||||
|
}
|
||||||
|
|
||||||
@bindThis
|
@bindThis
|
||||||
private async findCascadingNotes(note: MiNote): Promise<MiNote[]> {
|
private async findCascadingNotes(note: MiNote): Promise<MiNote[]> {
|
||||||
const recursive = async (noteId: string): Promise<MiNote[]> => {
|
const recursive = async (noteId: string): Promise<MiNote[]> => {
|
||||||
|
|
Loading…
Reference in a new issue