diff --git a/10_mainscope/10 b/10_mainscope/10 new file mode 100644 index 0000000..2782993 --- /dev/null +++ b/10_mainscope/10 @@ -0,0 +1,31 @@ +fun likeById(id: Long) { + viewModelScope.launch { + try { + repository.likeById(id) + } catch (e: Exception) { + } + } +} + +fun removeById(id: Long) { + viewModelScope.launch { + try { + repository.removeById(id) + } catch (e: Exception) { + } + } +} + + +override suspend fun removeById(id: Long) { + dao.removeById(id) + api.removeById(id) +} + +override suspend fun likeById(id: Long) { + + val post = dao.getById(id) + dao.save(post.copy(liked = !post.liked)) + + api.likeById(id) +}