Mercury-IM/persistence-room/src/main/java/org/mercury_im/messenger/persistence/room/dao/EntityDao.java

29 lines
1013 B
Java

package org.mercury_im.messenger.persistence.room.dao;
import androidx.lifecycle.LiveData;
import androidx.room.Dao;
import androidx.room.Query;
import androidx.room.TypeConverters;
import org.jxmpp.jid.EntityBareJid;
import org.mercury_im.messenger.persistence.room.model.RoomEntityModel;
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
@Dao
@TypeConverters(EntityBareJidConverter.class)
public interface EntityDao extends BaseDao<RoomEntityModel> {
@Query("SELECT * FROM entities WHERE id = :id")
LiveData<RoomEntityModel> getEntity(long id);
@Query("SELECT * FROM entities WHERE id = :id")
RoomEntityModel getEntitySync(long id);
@Query("SELECT * FROM entities WHERE accountId = :accountId AND jid = :jid")
LiveData<RoomEntityModel> getEntityFor(long accountId, EntityBareJid jid);
@Query("SELECT * FROM entities WHERE accountId = :accountId AND jid = :jid")
RoomEntityModel getEntityForSync(long accountId, EntityBareJid jid);
}