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

29 lines
1.0 KiB
Java

package org.mercury_im.messenger.persistence.room.dao;
import androidx.annotation.WorkerThread;
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.RoomAvatarModel;
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
@Dao
@TypeConverters(EntityBareJidConverter.class)
@WorkerThread
public interface AvatarDao extends BaseDao<RoomAvatarModel> {
@Query("SELECT * FROM avatars WHERE pk_avatar_id = :avatarId")
LiveData<RoomAvatarModel> getAvatarById(long avatarId);
@Query("SELECT * FROM avatars WHERE fk_entity_id = :entityId")
LiveData<RoomAvatarModel> getAvatarByEntityId(long entityId);
@Query("SELECT avatars.* " +
"FROM avatars INNER JOIN entities ON avatars.fk_entity_id = entities.pk_entity_id " +
"WHERE entities.jid = :jid")
LiveData<RoomAvatarModel> getAvatarByJid(EntityBareJid jid);
}