update: notification

This commit is contained in:
Mahyargdz
2025-05-21 15:35:09 +03:30
parent 8da977291b
commit b57dc5319f
19 changed files with 151 additions and 72 deletions
@@ -4,7 +4,6 @@ import { ApiOperation } from "@nestjs/swagger";
import { SearchNotificationQueryDto } from "./DTO/search-notification-query.dto";
import { NotificationsService } from "./providers/notifications.service";
import { AuthGuards } from "../../common/decorators/auth-guard.decorator";
import { Pagination } from "../../common/decorators/pagination.decorator";
import { UserDec } from "../../common/decorators/user.decorator";
import { ParamDto } from "../../common/DTO/param.dto";
@@ -16,7 +15,6 @@ export class NotificationController {
//********************* */
@ApiOperation({ summary: "all notifications by user" })
@Pagination()
@Get()
getAllNotifications(@UserDec("id") userId: string, @Query() queryDto: SearchNotificationQueryDto) {
return this.notificationService.getAllNotifications(queryDto, userId);
@@ -83,7 +83,8 @@ export class NotificationsService {
//************************ */
async getAllNotifications(queryDto: SearchNotificationQueryDto, recipientId: string) {
return await this.notificationRepository.getAllNotifications(queryDto, recipientId);
const [notifications, count] = await this.notificationRepository.getAllNotifications(queryDto, recipientId);
return { notifications, count, paginate: true };
}
//************************ */
@@ -8,7 +8,7 @@ export class NotificationRepository extends EntityRepository<Notification> {
async getAllNotifications(queryDto: SearchNotificationQueryDto, recipientId: string) {
const { skip, limit } = PaginationUtils(queryDto);
const qb = this.qb("notification").where({ recipientId });
const qb = this.qb("notification").where({ recipient: { id: recipientId } });
if (queryDto.isRead !== undefined) {
qb.andWhere({ isRead: queryDto.isRead === 1 });