4
2
Fork 0

adding blocs for conversation related

pull/31/head
Sudharshan S. 2019-02-17 09:34:39 +08:00
parent a7815e2411
commit 76d163d817
Signed by: sudharshan
GPG Key ID: C861C97AAF3D9559
2 changed files with 44 additions and 0 deletions

View File

@ -1,4 +1,5 @@
import "package:rxdart/rxdart.dart";
import "../resources/repository.dart";
import "../models/user_model.dart";

View File

@ -0,0 +1,43 @@
import "package:rxdart/rxdart.dart";
import "../resources/repository.dart";
import "../models/user_model.dart";
import "../models/conversation_model.dart";
class ConversationsBloc {
final _repository = Repository();
final _conversationsFetcher = PublishSubject<List<Conversation>>();
Observable<List<Conversation>> get conversations =>
_conversationsFetcher.stream;
fetchConversations() async {
List<Conversation> conversationList =
await _repository.fetchConversations();
_conversationsFetcher.sink.add(conversationList);
}
dispose() {
_conversationsFetcher.close();
}
}
class ConversationMembersBloc {
final String conversationId;
final _repository = Repository();
final _membersFetcher = PublishSubject<List<User>>();
ConversationMembersBloc(this.conversationId);
Observable<List<User>> get members => _membersFetcher.stream;
fetchMembers() async {
List<User> memberList =
await _repository.fetchConversationMembers(conversationId);
_membersFetcher.sink.add(memberList);
}
dispose() {
_membersFetcher.close();
}
}