Add getOrCreate method to directChatRepo

This commit is contained in:
Paul Schaub 2019-12-02 02:30:15 +01:00
parent c5918efc89
commit fd1e4ba22e
Signed by: vanitasvitae
GPG Key ID: 62BEE9264BF17311
1 changed files with 13 additions and 0 deletions

View File

@ -78,6 +78,19 @@ public class XmppDirectChatRepository
.observeOn(observerScheduler());
}
@Override
public Single<DirectChat> getOrCreateChatWithPeer(Peer _peer) {
return getDirectChatByPeer(_peer)
.switchIfEmpty(insertDirectChat(new IDirectChat(){
{
setAccount(_peer.getAccount());
setPeer(_peer);
}
}))
.subscribeOn(subscriberScheduler())
.observeOn(observerScheduler());
}
@Override
public Observable<Optional<DirectChat>> observeDirectChatByPeer(Peer peer) {
return data().select(DirectChatModel.class)