perf(backend): ドライブのチャートはローカルユーザーのみ生成するように

This commit is contained in:
syuilo 2023-03-24 18:37:08 +09:00
parent 46f99755db
commit 6a29b182ee
2 changed files with 11 additions and 8 deletions

View File

@ -23,6 +23,7 @@
### Server ### Server
- リモートユーザーのチャート生成を無効にするオプションを追加 - リモートユーザーのチャート生成を無効にするオプションを追加
- ドライブのチャートはローカルユーザーのみ生成するように
- 空のアンテナが作成できるのを修正 - 空のアンテナが作成できるのを修正
## 13.10.2 ## 13.10.2

View File

@ -613,16 +613,17 @@ export class DriveService {
if (user) { if (user) {
this.driveFileEntityService.pack(file, { self: true }).then(packedFile => { this.driveFileEntityService.pack(file, { self: true }).then(packedFile => {
// Publish driveFileCreated event // Publish driveFileCreated event
this.globalEventService.publishMainStream(user.id, 'driveFileCreated', packedFile); this.globalEventService.publishMainStream(user.id, 'driveFileCreated', packedFile);
this.globalEventService.publishDriveStream(user.id, 'fileCreated', packedFile); this.globalEventService.publishDriveStream(user.id, 'fileCreated', packedFile);
}); });
} }
// 統計を更新
this.driveChart.update(file, true); this.driveChart.update(file, true);
this.perUserDriveChart.update(file, true); if (file.userHost == null) {
if (file.userHost !== null) { // ローカルユーザーのみ
this.perUserDriveChart.update(file, true);
} else {
this.instanceChart.updateDrive(file, true); this.instanceChart.updateDrive(file, true);
} }
@ -689,7 +690,7 @@ export class DriveService {
@bindThis @bindThis
private async deletePostProcess(file: DriveFile, isExpired = false) { private async deletePostProcess(file: DriveFile, isExpired = false) {
// リモートファイル期限切れ削除後は直リンクにする // リモートファイル期限切れ削除後は直リンクにする
if (isExpired && file.userHost !== null && file.uri != null) { if (isExpired && file.userHost !== null && file.uri != null) {
this.driveFilesRepository.update(file.id, { this.driveFilesRepository.update(file.id, {
isLink: true, isLink: true,
@ -706,10 +707,11 @@ export class DriveService {
this.driveFilesRepository.delete(file.id); this.driveFilesRepository.delete(file.id);
} }
// 統計を更新
this.driveChart.update(file, false); this.driveChart.update(file, false);
this.perUserDriveChart.update(file, false); if (file.userHost == null) {
if (file.userHost !== null) { // ローカルユーザーのみ
this.perUserDriveChart.update(file, false);
} else {
this.instanceChart.updateDrive(file, false); this.instanceChart.updateDrive(file, false);
} }
} }