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

28 lines
639 B
Java

package org.mercury_im.messenger.persistence.repository;
import org.mercury_im.messenger.persistence.model.AccountModel;
import java.util.List;
import io.reactivex.Completable;
import io.reactivex.Maybe;
import io.reactivex.Observable;
import io.reactivex.Single;
public interface AccountRepository<E extends AccountModel> {
E newAccountModel();
Maybe<E> getAccount(long accountId);
Observable<List<E>> getAllAccounts();
Single<Long> insertAccount(E accountModel);
Completable updateState(long accountId, String state);
Completable deleteAccount(E item);
Completable deleteAccount(long accountId);
}