import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { Message, MESSAGE_TO_CLIENT, MESSAGE_TO_SERVER, } from '@chat-room/api-interfaces'; import { Socket } from 'ngx-socket-io'; @Injectable({ providedIn: 'root', }) export class MessagesService { constructor(private socket: Socket) {} addMessage(message: Message): void { this.socket.emit(MESSAGE_TO_SERVER, message); } getMessages(): Observable { return this.socket.fromEvent(MESSAGE_TO_CLIENT); } }