mirror of
https://codeberg.org/Mercury-IM/Mercury-IM
synced 2024-06-11 22:24:53 +02:00
63 lines
2.2 KiB
Java
63 lines
2.2 KiB
Java
package org.mercury_im.messenger.persistence.room;
|
|
|
|
import android.content.Context;
|
|
|
|
import androidx.annotation.NonNull;
|
|
import androidx.room.Database;
|
|
import androidx.room.Room;
|
|
import androidx.room.RoomDatabase;
|
|
import androidx.room.migration.Migration;
|
|
import androidx.sqlite.db.SupportSQLiteDatabase;
|
|
|
|
import org.mercury_im.messenger.persistence.room.dao.AccountDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.AvatarDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.ChatDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.ContactDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.ContactAttributesDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.EntityDao;
|
|
import org.mercury_im.messenger.persistence.room.dao.MessageDao;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomAccountModel;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomAvatarModel;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomChatModel;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomContactAttributes;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomEntityModel;
|
|
import org.mercury_im.messenger.persistence.room.model.RoomMessageModel;
|
|
|
|
@Database(version = 1,
|
|
entities = {
|
|
RoomContactAttributes.class,
|
|
RoomAccountModel.class,
|
|
RoomChatModel.class,
|
|
RoomMessageModel.class,
|
|
RoomEntityModel.class,
|
|
RoomAvatarModel.class
|
|
})
|
|
public abstract class AppDatabase extends RoomDatabase {
|
|
|
|
private static final String DB_NAME = "mercury_db";
|
|
private static AppDatabase INSTANCE;
|
|
|
|
public static AppDatabase getDatabase(final Context context) {
|
|
if (INSTANCE == null) {
|
|
INSTANCE = Room.databaseBuilder(context.getApplicationContext(),
|
|
AppDatabase.class, DB_NAME)
|
|
.build();
|
|
}
|
|
return INSTANCE;
|
|
}
|
|
|
|
public abstract ContactAttributesDao rosterEntryDao();
|
|
|
|
public abstract ChatDao chatDao();
|
|
|
|
public abstract MessageDao messageDao();
|
|
|
|
public abstract AccountDao accountDao();
|
|
|
|
public abstract EntityDao entityDao();
|
|
|
|
public abstract ContactDao contactDao();
|
|
|
|
public abstract AvatarDao avatarDao();
|
|
}
|