package com.prodhack.moscow2025.data.data_providers.local_db

import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import com.prodhack.moscow2025.data.data_providers.local_db.dao.CleanUpDao
import com.prodhack.moscow2025.data.data_providers.local_db.dao.ResumeHistoryDao
import com.prodhack.moscow2025.data.data_providers.local_db.dao.ResumeDao
import com.prodhack.moscow2025.data.data_providers.local_db.dao.UserDao
import com.prodhack.moscow2025.data.data_providers.local_db.entities.JsonTypeConverters
import com.prodhack.moscow2025.data.data_providers.local_db.entities.ResumeHistoryEntity
import com.prodhack.moscow2025.data.data_providers.local_db.entities.ResumeEntity
import com.prodhack.moscow2025.data.data_providers.local_db.entities.UserEntity

@Database(
	entities = [UserEntity::class, ResumeEntity::class, ResumeHistoryEntity::class],
	version = 1,
	exportSchema = true
)
@TypeConverters(JsonTypeConverters::class)
abstract class AppDatabase : RoomDatabase() {
	abstract fun userDao(): UserDao

	abstract fun cleanUpDao(): CleanUpDao
	abstract fun resumeDao(): ResumeDao
	abstract fun resumeHistoryDao(): ResumeHistoryDao
}
