25 lines
695 B
TypeScript
25 lines
695 B
TypeScript
import {
|
|
WebSocketGateway,
|
|
SubscribeMessage,
|
|
MessageBody,
|
|
WebSocketServer,
|
|
} from '@nestjs/websockets';
|
|
import { MessagesService } from './messages.service';
|
|
import { CreateMessageDto } from './dto/create-message.dto';
|
|
import { Server } from 'socket.io';
|
|
|
|
@WebSocketGateway(3001, { cors: true })
|
|
export class MessagesGateway {
|
|
constructor(private readonly messagesService: MessagesService) {}
|
|
|
|
@WebSocketServer() server: Server;
|
|
|
|
@SubscribeMessage('createMessage')
|
|
async create(@MessageBody() createMessageDto: CreateMessageDto) {
|
|
const message = await this.messagesService.create(createMessageDto);
|
|
if (message) {
|
|
this.server.emit('message', message);
|
|
}
|
|
}
|
|
}
|