29 lines
1.0 KiB
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);
|
|
}
|