fix: 通知からロール参照時にロールが存在しないときの例外処理を追加
This commit is contained in:
@@ -59,7 +59,6 @@ export class NotificationEntityService implements OnModuleInit {
|
|||||||
async #packInternal <T extends MiNotification | MiGroupedNotification> (
|
async #packInternal <T extends MiNotification | MiGroupedNotification> (
|
||||||
src: T,
|
src: T,
|
||||||
meId: MiUser['id'],
|
meId: MiUser['id'],
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
||||||
options: {
|
options: {
|
||||||
checkValidNotifier?: boolean;
|
checkValidNotifier?: boolean;
|
||||||
},
|
},
|
||||||
@@ -140,7 +139,10 @@ export class NotificationEntityService implements OnModuleInit {
|
|||||||
// #endregion
|
// #endregion
|
||||||
|
|
||||||
const needsRole = notification.type === 'roleAssigned';
|
const needsRole = notification.type === 'roleAssigned';
|
||||||
const role = needsRole ? await this.roleEntityService.pack(notification.roleId) : undefined;
|
const role = needsRole ? await this.roleEntityService.pack(notification.roleId).catch((e) => {
|
||||||
|
if (e.name === 'EntityNotFoundError') return null;
|
||||||
|
throw e;
|
||||||
|
}) : undefined;
|
||||||
// if the role has been deleted, don't show this notification
|
// if the role has been deleted, don't show this notification
|
||||||
if (needsRole && !role) {
|
if (needsRole && !role) {
|
||||||
return null;
|
return null;
|
||||||
@@ -229,7 +231,6 @@ export class NotificationEntityService implements OnModuleInit {
|
|||||||
public async pack(
|
public async pack(
|
||||||
src: MiNotification | MiGroupedNotification,
|
src: MiNotification | MiGroupedNotification,
|
||||||
meId: MiUser['id'],
|
meId: MiUser['id'],
|
||||||
// eslint-disable-next-line @typescript-eslint/ban-types
|
|
||||||
options: {
|
options: {
|
||||||
checkValidNotifier?: boolean;
|
checkValidNotifier?: boolean;
|
||||||
},
|
},
|
||||||
|
|||||||
Reference in New Issue
Block a user