package de.krisenvorrat.app.domain.repository

import de.krisenvorrat.shared.model.InventoryDto
import de.krisenvorrat.shared.model.ItemDto

internal interface SyncService {
    suspend fun downloadInventory(since: Long? = null): Result<InventoryDto>
    suspend fun uploadInventory(inventory: InventoryDto): Result<InventoryDto>
    suspend fun login(serverUrl: String, username: String, password: String): Result<Unit>
    suspend fun logout()
    suspend fun patchItem(itemId: String, item: ItemDto): Result<Unit>
    suspend fun deleteItem(itemId: String): Result<Unit>
}
