import { Injectable } from '@angular/core'; import { Observable } from 'rxjs'; import { Channel } from '../models/channel'; import { Message } from '../models/message'; @Injectable({ providedIn: 'root' }) export class ChatService { constructor() { } // TODO: implement public ListChannels(): Observable { return new Observable(subscriber => { subscriber.next([ { id: 0, name: 'default', description: 'this is the default channel' }, { id: 1, name: 'gaming', description: 'this is another channel' }, ]); subscriber.complete(); }); } // TODO: implement // TODO: refactor this so it first returns the n last messages, // then listens for incoming messages and forwards them as they come public GetMessages(channelID: number): Observable { return new Observable(subscriber => { subscriber.next([ { id: 1, sender: 'Test User 1', channel: 1, time: new Date(), content: 'this is my first message' }, { id: 2, sender: 'Test User 2', channel: 2, time: new Date(), content: 'this is my second message' } ]); subscriber.complete(); }); } }