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,

    @ColumnInfo(name = "username")
    val username: String? = null
)
