summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorsyuilo <Syuilotan@yahoo.co.jp>2023-05-09 15:28:44 +0900
committersyuilo <Syuilotan@yahoo.co.jp>2023-05-09 15:28:44 +0900
commit22d6c7fe8af3b0fa7854f41e1a1221cdad5ecaa9 (patch)
tree5cc7c66caa8eb58d7585436010cc5310c6a326a8
parent13.12.1 (diff)
downloadsharkey-22d6c7fe8af3b0fa7854f41e1a1221cdad5ecaa9.tar.gz
sharkey-22d6c7fe8af3b0fa7854f41e1a1221cdad5ecaa9.tar.bz2
sharkey-22d6c7fe8af3b0fa7854f41e1a1221cdad5ecaa9.zip
fix(backend): 13.11を経験しない状態で13.12にアップデートした場合ユーザープロフィール関連の画像が消失する問題を修正
Fix #10811
-rw-r--r--CHANGELOG.md1
-rw-r--r--packages/backend/src/core/entities/UserEntityService.ts18
2 files changed, 19 insertions, 0 deletions
diff --git a/CHANGELOG.md b/CHANGELOG.md
index cd26ddc84f..47a9d48acc 100644
--- a/CHANGELOG.md
+++ b/CHANGELOG.md
@@ -20,6 +20,7 @@
### Server
- Fix: リモートサーバーの情報が更新できない問題を修正
+- Fix: 13.11を経験しない状態で13.12にアップデートした場合ユーザープロフィール関連の画像が消失する問題を修正
## 13.12.0
diff --git a/packages/backend/src/core/entities/UserEntityService.ts b/packages/backend/src/core/entities/UserEntityService.ts
index a7f62c05f7..453c1473dd 100644
--- a/packages/backend/src/core/entities/UserEntityService.ts
+++ b/packages/backend/src/core/entities/UserEntityService.ts
@@ -306,6 +306,24 @@ export class UserEntityService implements OnModuleInit {
const user = typeof src === 'object' ? src : await this.usersRepository.findOneByOrFail({ id: src });
+ // migration
+ if (user.avatarId != null && user.avatarUrl === null) {
+ const avatar = await this.driveFilesRepository.findOneByOrFail({ id: user.avatarId });
+ user.avatarUrl = this.driveFileEntityService.getPublicUrl(avatar, 'avatar');
+ this.usersRepository.update(user.id, {
+ avatarUrl: user.avatarUrl,
+ avatarBlurhash: avatar.blurhash,
+ });
+ }
+ if (user.bannerId != null && user.bannerUrl === null) {
+ const banner = await this.driveFilesRepository.findOneByOrFail({ id: user.bannerId });
+ user.bannerUrl = this.driveFileEntityService.getPublicUrl(banner);
+ this.usersRepository.update(user.id, {
+ bannerUrl: user.bannerUrl,
+ bannerBlurhash: banner.blurhash,
+ });
+ }
+
const meId = me ? me.id : null;
const isMe = meId === user.id;
const iAmModerator = me ? await this.roleService.isModerator(me as User) : false;