package com.gestoreasy.database

import androidx.room.Database
import androidx.room.RoomDatabase
import androidx.room.TypeConverters
import com.gestoreasy.database.dao.*
import com.gestoreasy.database.entities.*

@Database(
    entities = [
        Product::class,
        Client::class,
        Order::class,
        OrderItem::class,
        SyncLog::class,
        PendingSync::class,
        CheckIn::class,
        Goal::class,
        Commission::class
    ],
    version = 2,
    exportSchema = false
)
@TypeConverters(Converters::class)
abstract class AppDatabase : RoomDatabase() {
    abstract fun productDao(): ProductDao
    abstract fun clientDao(): ClientDao
    abstract fun orderDao(): OrderDao
    abstract fun orderItemDao(): OrderItemDao
    abstract fun syncLogDao(): SyncLogDao
    abstract fun pendingSyncDao(): PendingSyncDao
    abstract fun checkInDao(): CheckInDao
    abstract fun goalDao(): GoalDao
    abstract fun commissionDao(): CommissionDao
}

