feat: Implement secure database operations and caching for encrypted accounts
This commit is contained in:
@@ -0,0 +1,38 @@
|
||||
package com.rosetta.messenger.database
|
||||
|
||||
import androidx.room.ColumnInfo
|
||||
import androidx.room.Entity
|
||||
import androidx.room.Index
|
||||
import androidx.room.PrimaryKey
|
||||
|
||||
/**
|
||||
* Зашифрованный аккаунт в базе данных
|
||||
* Соответствует структуре из React Native приложения
|
||||
*/
|
||||
@Entity(
|
||||
tableName = "encrypted_accounts",
|
||||
indices = [Index(value = ["public_key"], unique = true)]
|
||||
)
|
||||
data class EncryptedAccountEntity(
|
||||
@PrimaryKey(autoGenerate = true)
|
||||
@ColumnInfo(name = "id")
|
||||
val id: Long = 0,
|
||||
|
||||
@ColumnInfo(name = "public_key")
|
||||
val publicKey: String,
|
||||
|
||||
@ColumnInfo(name = "private_key_encrypted")
|
||||
val privateKeyEncrypted: String,
|
||||
|
||||
@ColumnInfo(name = "seed_phrase_encrypted")
|
||||
val seedPhraseEncrypted: String,
|
||||
|
||||
@ColumnInfo(name = "created_at")
|
||||
val createdAt: String,
|
||||
|
||||
@ColumnInfo(name = "last_used")
|
||||
val lastUsed: String? = null,
|
||||
|
||||
@ColumnInfo(name = "is_active")
|
||||
val isActive: Boolean = true
|
||||
)
|
||||
Reference in New Issue
Block a user