UPD: Dataformat for sync
This commit is contained in:
parent
ad8e180134
commit
c8e9452a7e
@ -8,8 +8,9 @@ import androidx.room.RoomDatabase
|
||||
import androidx.room.TypeConverters
|
||||
import come.stormborntales.notevault.data.local.dao.NoteDao
|
||||
import come.stormborntales.notevault.data.local.entity.NoteEntity
|
||||
import come.stormborntales.notevault.data.local.entity.SyncTime
|
||||
|
||||
@Database(entities = [NoteEntity::class], version = 1)
|
||||
@Database(entities = [NoteEntity::class, SyncTime::class], version = 1)
|
||||
@TypeConverters(UriListConverter::class)
|
||||
abstract class AppDatabase : RoomDatabase() {
|
||||
abstract fun noteDao(): NoteDao
|
||||
|
@ -3,6 +3,11 @@ package come.stormborntales.notevault.data.local.entity
|
||||
import androidx.room.Entity
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
enum class SyncStatus {
|
||||
PENDING, // Lokale Änderungen warten auf Synchronisation
|
||||
SYNCHRONIZED, // Der Eintrag wurde mit dem Server synchronisiert
|
||||
DELETED // Der Eintrag wurde lokal gelöscht und wartet auf Serverabgleich
|
||||
}
|
||||
@Entity(tableName = "notes")
|
||||
data class NoteEntity(
|
||||
@PrimaryKey(autoGenerate = true) val id: Int = 0,
|
||||
@ -12,5 +17,10 @@ data class NoteEntity(
|
||||
var year: Int?,
|
||||
var genre: String?,
|
||||
var description: String?,
|
||||
val imagePreview: String
|
||||
val imagePreview: String,
|
||||
|
||||
val remoteId: String? = null,
|
||||
val localModificationTimestamp: Long = System.currentTimeMillis(), // Zeitstempel der letzten lokalen Änderung
|
||||
val syncStatus: SyncStatus = SyncStatus.PENDING // Status der Synchronisation
|
||||
|
||||
)
|
||||
|
@ -0,0 +1,8 @@
|
||||
package come.stormborntales.notevault.data.local.entity
|
||||
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
data class SyncTime(
|
||||
@PrimaryKey val id: Long = 1, // Einziger Eintrag für das Gerät
|
||||
val lastSyncTimestamp: Long = System.currentTimeMillis() // Zeitstempel des letzten Syncsy
|
||||
)
|
Loading…
Reference in New Issue
Block a user