package chats.data.local.database import androidx.room.Database import androidx.room.RoomDatabase import androidx.room.TypeConverters import chats.data.local.dao.ChatDao import chats.data.local.dao.MessageDao import chats.data.local.dao.UserProfileDao /** * Room Database для локального хранения данных мессенджера * Реализует паттерн Single Source of Truth */ @Database( entities = [ MessageEntity::class, ChatEntity::class, UserProfileEntity::class ], version = 2, exportSchema = false ) @TypeConverters(MessageStatusConverter::class) abstract class AppDatabase : RoomDatabase() { abstract fun messageDao(): MessageDao abstract fun chatDao(): ChatDao abstract fun userProfileDao(): UserProfileDao companion object { const val DATABASE_NAME = "knot_messenger.db" } }