add separate table for users
This commit is contained in:
parent
996ece8ee5
commit
af37f7b307
8 changed files with 126 additions and 42 deletions
|
|
@ -7,20 +7,23 @@ import androidx.sqlite.db.SupportSQLiteDatabase;
|
|||
|
||||
import com.dkanada.gramophone.model.Server;
|
||||
import com.dkanada.gramophone.model.Song;
|
||||
import com.dkanada.gramophone.model.User;
|
||||
|
||||
@androidx.room.Database(
|
||||
entities = {
|
||||
Server.class,
|
||||
Song.class,
|
||||
QueueSong.class,
|
||||
Server.class
|
||||
User.class
|
||||
},
|
||||
version = 2,
|
||||
version = 3,
|
||||
exportSchema = false
|
||||
)
|
||||
public abstract class JellyDatabase extends RoomDatabase {
|
||||
public abstract QueueSongDao queueSongDao();
|
||||
public abstract SongDao songDao();
|
||||
public abstract ServerDao serverDao();
|
||||
public abstract SongDao songDao();
|
||||
public abstract QueueSongDao queueSongDao();
|
||||
public abstract UserDao userDao();
|
||||
|
||||
public static final Migration Migration2 = new Migration(1, 2) {
|
||||
@Override
|
||||
|
|
@ -29,4 +32,16 @@ public abstract class JellyDatabase extends RoomDatabase {
|
|||
+ "url TEXT, user TEXT, token TEXT)");
|
||||
}
|
||||
};
|
||||
|
||||
public static final Migration Migration3 = new Migration(2, 3) {
|
||||
@Override
|
||||
public void migrate(@NonNull SupportSQLiteDatabase database) {
|
||||
database.execSQL("DROP TABLE servers");
|
||||
|
||||
database.execSQL("CREATE TABLE servers (id TEXT NOT NULL PRIMARY KEY,"
|
||||
+ "name TEXT, url TEXT)");
|
||||
database.execSQL("CREATE TABLE users (id TEXT NOT NULL PRIMARY KEY,"
|
||||
+ "serverId TEXT, name TEXT, token TEXT)");
|
||||
}
|
||||
};
|
||||
}
|
||||
|
|
|
|||
|
|
@ -0,0 +1,26 @@
|
|||
package com.dkanada.gramophone.database;
|
||||
|
||||
import androidx.room.Dao;
|
||||
import androidx.room.Delete;
|
||||
import androidx.room.Insert;
|
||||
import androidx.room.OnConflictStrategy;
|
||||
import androidx.room.Query;
|
||||
|
||||
import com.dkanada.gramophone.model.User;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
@Dao
|
||||
public interface UserDao {
|
||||
@Insert(onConflict = OnConflictStrategy.REPLACE)
|
||||
void insertUser(User user);
|
||||
|
||||
@Delete
|
||||
void deleteUser(User user);
|
||||
|
||||
@Query("SELECT * FROM users")
|
||||
List<User> getUsers();
|
||||
|
||||
@Query("SELECT * FROM users WHERE id = :id")
|
||||
User getUser(String id);
|
||||
}
|
||||
Loading…
Add table
Add a link
Reference in a new issue