Open koolkav1 opened 6 years ago
Hello, I am getting the following error on the sendMessage() method.
Argument of type '{ message: string; timeSent: string; userName: Observable; email: string; }' is not assignable to parameter of type 'ChatMessage[]'.
Here is my code:
import { Injectable } from '@angular/core'; import { AngularFireDatabase, AngularFireList } from 'angularfire2/database'; import { AngularFireAuth } from 'angularfire2/auth'; import { Observable, Subject } from 'rxjs'; import { AuthService } from '../services/auth.service'; import * as firebase from 'firebase/app'; import { switchMap } from 'rxjs/operators'; import { ChatMessage } from '../models/chat-message.model'; @Injectable() export class ChatService { user: firebase.User; chatMessages: AngularFireList<ChatMessage[]>; chatMessage: ChatMessage; userName: Observable<string>; constructor( private db: AngularFireDatabase, private afAuth: AngularFireAuth ) { this.afAuth.authState.subscribe(auth => { if (auth !== undefined && auth !== null) { this.user = auth; } this.getUser().update(a => { this.userName = a.displayName; }); }); } getUser() { const userId = this.user.uid; const path = `/users/${userId}`; return this.db.object(path); } getUsers() { const path = '/users'; return this.db.list(path); } sendMessage(msg: string) { const timestamp = this.getTimeStamp(); const email = this.user.email; this.chatMessages = this.getMessages(); this.chatMessages.push({ message: msg, timeSent: timestamp, userName: this.userName, email: email }).; } getMessages(): AngularFireList<ChatMessage[]> { // query to create our message feed binding return this.db.list('/messages', ref=> ref.limitToLast(25).orderByKey() ); } getTimeStamp() { const now = new Date(); const date = now.getUTCFullYear() + '/' + (now.getUTCMonth() + 1) + '/' + now.getUTCDate(); const time = now.getUTCHours() + ':' + now.getUTCMinutes() + ':' + now.getUTCSeconds(); return (date + ' ' + time); } }
I have the same issue
This app is pretty old and I haven't updated it in a while. Will have some time to review in the next 72 hours
Hello, I am getting the following error on the sendMessage() method.
Argument of type '{ message: string; timeSent: string; userName: Observable; email: string; }' is not assignable to parameter of type 'ChatMessage[]'.
Here is my code: