Feature: add to basket delete method sneaker from basket
This commit is contained in:
parent
76ef28b66c
commit
5c105ebdb2
@ -100,6 +100,12 @@ interface BackendService {
|
||||
@Path("sneakerId") sneakerId: Int,
|
||||
): Boolean
|
||||
|
||||
@GET("basket/removeSneaker/{basketId}/{sneakerId}")
|
||||
suspend fun deleteSneakerFromBasket(
|
||||
@Path("basketId") basketId: Int,
|
||||
@Path("sneakerId") sneakerId: Int,
|
||||
)
|
||||
|
||||
companion object {
|
||||
private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/"
|
||||
|
||||
|
@ -46,9 +46,9 @@ class RestBasketRepository(
|
||||
// TODO("Not yet implemented")
|
||||
// }
|
||||
//
|
||||
// override suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int) {
|
||||
// TODO("Not yet implemented")
|
||||
// }
|
||||
override suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int) {
|
||||
service.deleteSneakerFromBasket(basketId, sneakerId)
|
||||
}
|
||||
//
|
||||
// override suspend fun updateSneakerQuantity(basketId: Int, sneakerId: Int, quantity: Int) {
|
||||
// TODO("Not yet implemented")
|
||||
|
@ -16,7 +16,7 @@ interface BasketRepository {
|
||||
// fun getAllBasket(): Flow<List<Basket>>
|
||||
// suspend fun delete(basket: Basket)
|
||||
// suspend fun createBasket(basket: Basket):Long
|
||||
// suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int)
|
||||
suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int)
|
||||
// suspend fun updateSneakerQuantity(basketId: Int, sneakerId: Int, quantity: Int)
|
||||
suspend fun incrementSneakerQuantity(basketId: Int, sneakerId: Int)
|
||||
suspend fun decrementSneakerQuantity(basketId: Int, sneakerId: Int)
|
||||
|
@ -65,11 +65,11 @@ class BasketViewModel(private val basketRepository: BasketRepository): ViewModel
|
||||
return basketRepository.getUserBasketId(userId)
|
||||
}
|
||||
|
||||
//
|
||||
// fun deleteSneakerFromBasket(basketId: Int, sneakerId: Int) = viewModelScope.launch {
|
||||
// basketRepository.removeSneakerFromBasket(basketId, sneakerId)
|
||||
// }
|
||||
//
|
||||
|
||||
fun deleteSneakerFromBasket(basketId: Int, sneakerId: Int) = viewModelScope.launch {
|
||||
basketRepository.removeSneakerFromBasket(basketId, sneakerId)
|
||||
}
|
||||
|
||||
fun incrementQuantity(basketId: Int, sneakerId: Int) {
|
||||
val currentQuantity = _quantityStateMap[sneakerId]?.value ?: 1
|
||||
_quantityStateMap[sneakerId]?.value = currentQuantity + 1
|
||||
|
@ -40,6 +40,10 @@ import com.example.android_programming.model.Sneaker
|
||||
import com.example.android_programming.businessLogic.vmodel.AppViewModelProvider
|
||||
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
||||
import com.example.android_programming.model.BasketSneakers
|
||||
import kotlinx.coroutines.Dispatchers
|
||||
import kotlinx.coroutines.launch
|
||||
import kotlinx.coroutines.runBlocking
|
||||
|
||||
@SuppressLint("UnrememberedMutableState")
|
||||
@Composable
|
||||
@ -81,7 +85,11 @@ fun CardSneakerLike(item: Sneaker, basketViewModel: BasketViewModel = viewModel(
|
||||
contentColor = Color.White
|
||||
),
|
||||
onClick = {
|
||||
// basketViewModel.deleteSneakerFromBasket(GlobalUser.getInstance().getUser()?.userId!!, item.sneakerId!!)
|
||||
runBlocking {
|
||||
launch(Dispatchers.Default) {
|
||||
basketViewModel.deleteSneakerFromBasket(basketViewModel.getUserBasketId(GlobalUser.getInstance().getUser()?.userId!!), item.sneakerId!!)
|
||||
}
|
||||
}
|
||||
},
|
||||
modifier = Modifier
|
||||
.padding(end = 16.dp)
|
||||
|
Loading…
Reference in New Issue
Block a user