Mercury-IM/persistence-room/src/main/java/org/mercury_im/messenger/persistence/room/repository/IMessageRepository.java

52 lines
1.5 KiB
Java

package org.mercury_im.messenger.persistence.room.repository;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.repository.MessageRepository;
import org.mercury_im.messenger.persistence.room.dao.MessageDao;
import org.mercury_im.messenger.persistence.room.model.RoomMessageModel;
import java.util.List;
import io.reactivex.Maybe;
import io.reactivex.Observable;
import io.reactivex.Single;
public class IMessageRepository implements MessageRepository<RoomMessageModel> {
private final MessageDao messageDao;
public IMessageRepository(MessageDao messageDao) {
this.messageDao = messageDao;
}
@Override
public Maybe<RoomMessageModel> getMessage(long accountId, long chatId, long messageId) {
return null;
}
@Override
public Single<Long> insertMessage(RoomMessageModel message) {
return messageDao.insert(message);
}
@Override
public Observable<List<RoomMessageModel>> getAllMessagesOf(long accountId) {
return messageDao.getAllMessagesOf(accountId);
}
@Override
public Observable<List<RoomMessageModel>> getAllMessagesFrom(long accountId, EntityBareJid contact) {
return messageDao.getAllMessagesFrom(accountId, contact);
}
@Override
public Observable<List<RoomMessageModel>> getAllMessagesOfChat(long accountId, EntityBareJid peer) {
return messageDao.getAllMessagesInConversation(accountId, peer);
}
@Override
public Observable<List<RoomMessageModel>> findMessageByQuery(String query) {
return null;
}
}