package com.example.pmulabs.room.repository

import com.example.pmulabs.room.models.Article
import com.example.pmulabs.room.models.Comment
import com.example.pmulabs.room.models.Tag
import com.example.pmulabs.room.models.User
import kotlinx.coroutines.flow.Flow

interface UserRepository {
    suspend fun insertUser(user: User)
    suspend fun updateUser(user: User)
    suspend fun deleteUser(user: User)
    fun getAllUsers(): Flow<List<User>>
    fun getUserById(idUser: Int?): Flow<User>
    fun getUserComms(idUser: Int): Flow<List<Comment>>
    fun getUserArticles(idUser: Int): Flow<List<Article>>
    fun getUserTags(idUser: Int): Flow<List<Tag>>
}