import { Controller, Get, Req, Sse, MessageEvent as NestMessageEvent } from "@nestjs/common"; import { Observable } from "rxjs"; import { map } from 'rxjs/operators'; import { NotificationsService } from "src/shared/notifications/notifications.service"; @Controller('notifications') export class NotificationsController { constructor(private readonly notificationsService: NotificationsService) {} @Get('summary') async summary(@Req() req) { return this.notificationsService.summary(String(req.user.id)); } @Sse('stream') stream(@Req() req): Observable { const userId = String(req.user.id); return this.notificationsService.stream(userId).pipe(map((data): NestMessageEvent => ({ data }))) } }