src/app/chats/chats.firebase.ts
Properties |
Methods |
constructor(db: AngularFireDatabase)
|
||||||
|
Defined in src/app/chats/chats.firebase.ts:17
|
||||||
|
Parameters :
|
| createChat | ||||
createChat(chat)
|
||||
|
Defined in src/app/chats/chats.firebase.ts:37
|
||||
|
Parameters :
Returns :
void
|
| deleteAll |
deleteAll()
|
|
Defined in src/app/chats/chats.firebase.ts:49
|
|
Returns :
void
|
| deleteChat | ||||||
deleteChat(key: string)
|
||||||
|
Defined in src/app/chats/chats.firebase.ts:45
|
||||||
|
Parameters :
Returns :
void
|
| getChat | ||||||
getChat(key: string)
|
||||||
|
Defined in src/app/chats/chats.firebase.ts:31
|
||||||
|
Parameters :
Returns :
Observable<any>
|
| getChatsList |
getChatsList()
|
|
Defined in src/app/chats/chats.firebase.ts:23
|
|
Returns :
any
|
| updateChatMessage |
updateChatMessage(key: string, value: any)
|
|
Defined in src/app/chats/chats.firebase.ts:41
|
|
Returns :
void
|
| Private basePath |
Type : string
|
Default value : 'chats'
|
|
Defined in src/app/chats/chats.firebase.ts:12
|
| chat |
Type : Observable<any>
|
|
Defined in src/app/chats/chats.firebase.ts:17
|
| chatRef |
Type : AngularFireObject<any>
|
|
Defined in src/app/chats/chats.firebase.ts:14
|
| chats |
Type : Observable<any>
|
|
Defined in src/app/chats/chats.firebase.ts:16
|
| chatsRef |
Type : AngularFireList<any>
|
|
Defined in src/app/chats/chats.firebase.ts:13
|
import { Injectable } from '@angular/core';
import {
AngularFireDatabase,
AngularFireList,
AngularFireObject
} from '@angular/fire/database';
import { Observable } from 'rxjs';
import { map } from 'rxjs/operators';
@Injectable()
export class ChatsFirebase {
private basePath = 'chats';
chatsRef: AngularFireList<any>;
chatRef: AngularFireObject<any>;
chats: Observable<any>;
chat: Observable<any>;
constructor(private db: AngularFireDatabase) {
this.chatsRef = this.db.list(this.basePath);
}
getChatsList() {
return this.chatsRef
.snapshotChanges()
.pipe(
map(actions => actions.map(a => ({ $key: a.key, ...a.payload.val() })))
);
}
getChat(key: string): Observable<any> {
const path = `${this.basePath}/${key}`;
this.chat = this.db.object(path).valueChanges();
return this.chat;
}
createChat(chat) {
this.chatsRef.push(chat);
}
updateChatMessage(key: string, value: any) {
this.chatsRef.update(key, { messages: value.messages });
}
deleteChat(key: string) {
this.chatsRef.remove(key);
}
deleteAll() {
this.chatsRef.remove();
}
}