feat(server): support read all notifications (#13083)

close AF-2719



#### PR Dependency Tree


* **PR #13083** 👈

This tree was auto-generated by
[Charcoal](https://github.com/danerwilliams/charcoal)

<!-- This is an auto-generated comment: release notes by coderabbit.ai
-->

## Summary by CodeRabbit

* **New Features**
* Added the ability to mark all notifications as read with a single
action.
  
* **Bug Fixes**
  * Ensured notifications marked as read are no longer shown as unread.

* **Tests**
* Introduced new tests to verify the functionality of marking all
notifications as read.

<!-- end of auto-generated comment: release notes by coderabbit.ai -->
This commit is contained in:
fengmk2
2025-07-08 15:19:45 +08:00
committed by GitHub
parent 6fd9524521
commit db79c00ea7
9 changed files with 122 additions and 0 deletions

View File

@@ -100,6 +100,14 @@ export class UserNotificationResolver {
await this.service.markAsRead(me.id, notificationId);
return true;
}
@Mutation(() => Boolean, {
description: 'mark all notifications as read',
})
async readAllNotifications(@CurrentUser() me: UserType) {
await this.service.markAllAsRead(me.id);
return true;
}
}
@Resolver(() => NotificationObjectType)

View File

@@ -399,6 +399,10 @@ export class NotificationService {
}
}
async markAllAsRead(userId: string) {
await this.models.notification.markAllAsRead(userId);
}
/**
* Find notifications by user id, order by createdAt desc
*/