mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-11 14:17:11 +02:00
33 lines
1.1 KiB
Java
33 lines
1.1 KiB
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.RoomContactModel;
|
|
import org.mercury_im.messenger.persistence.room.type_converter.EntityBareJidConverter;
|
|
|
|
import java.util.List;
|
|
|
|
@Dao
|
|
@TypeConverters(EntityBareJidConverter.class)
|
|
public interface ContactDao extends BaseDao<RoomContactModel> {
|
|
|
|
/**
|
|
* Return a {@link LiveData} wrapping a {@link List} of all {@link RoomContactModel RosterEntries}
|
|
* which are currently found in the database.
|
|
*
|
|
* @return
|
|
*/
|
|
@Query("SELECT * FROM contacts")
|
|
LiveData<List<RoomContactModel>> getAllRosterEntries();
|
|
|
|
@Query("SELECT contacts.* FROM contacts JOIN entities WHERE jid = :jid")
|
|
RoomContactModel getRosterEntryByJid(EntityBareJid jid);
|
|
|
|
@Query("SELECT * FROM contacts WHERE accountId = :accountId")
|
|
LiveData<List<RoomContactModel>> getRosterEntriesForAccount(long accountId);
|
|
}
|