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,
|
@Path("sneakerId") sneakerId: Int,
|
||||||
): Boolean
|
): Boolean
|
||||||
|
|
||||||
|
@GET("basket/removeSneaker/{basketId}/{sneakerId}")
|
||||||
|
suspend fun deleteSneakerFromBasket(
|
||||||
|
@Path("basketId") basketId: Int,
|
||||||
|
@Path("sneakerId") sneakerId: Int,
|
||||||
|
)
|
||||||
|
|
||||||
companion object {
|
companion object {
|
||||||
private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/"
|
private const val BASE_URL = "https://59k4pfj3-8080.euw.devtunnels.ms/api/"
|
||||||
|
|
||||||
|
@ -46,9 +46,9 @@ class RestBasketRepository(
|
|||||||
// TODO("Not yet implemented")
|
// TODO("Not yet implemented")
|
||||||
// }
|
// }
|
||||||
//
|
//
|
||||||
// override suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int) {
|
override suspend fun removeSneakerFromBasket(basketId: Int, sneakerId: Int) {
|
||||||
// TODO("Not yet implemented")
|
service.deleteSneakerFromBasket(basketId, sneakerId)
|
||||||
// }
|
}
|
||||||
//
|
//
|
||||||
// override suspend fun updateSneakerQuantity(basketId: Int, sneakerId: Int, quantity: Int) {
|
// override suspend fun updateSneakerQuantity(basketId: Int, sneakerId: Int, quantity: Int) {
|
||||||
// TODO("Not yet implemented")
|
// TODO("Not yet implemented")
|
||||||
|
@ -16,7 +16,7 @@ interface BasketRepository {
|
|||||||
// fun getAllBasket(): Flow<List<Basket>>
|
// fun getAllBasket(): Flow<List<Basket>>
|
||||||
// suspend fun delete(basket: Basket)
|
// suspend fun delete(basket: Basket)
|
||||||
// suspend fun createBasket(basket: Basket):Long
|
// 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 updateSneakerQuantity(basketId: Int, sneakerId: Int, quantity: Int)
|
||||||
suspend fun incrementSneakerQuantity(basketId: Int, sneakerId: Int)
|
suspend fun incrementSneakerQuantity(basketId: Int, sneakerId: Int)
|
||||||
suspend fun decrementSneakerQuantity(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)
|
return basketRepository.getUserBasketId(userId)
|
||||||
}
|
}
|
||||||
|
|
||||||
//
|
|
||||||
// fun deleteSneakerFromBasket(basketId: Int, sneakerId: Int) = viewModelScope.launch {
|
fun deleteSneakerFromBasket(basketId: Int, sneakerId: Int) = viewModelScope.launch {
|
||||||
// basketRepository.removeSneakerFromBasket(basketId, sneakerId)
|
basketRepository.removeSneakerFromBasket(basketId, sneakerId)
|
||||||
// }
|
}
|
||||||
//
|
|
||||||
fun incrementQuantity(basketId: Int, sneakerId: Int) {
|
fun incrementQuantity(basketId: Int, sneakerId: Int) {
|
||||||
val currentQuantity = _quantityStateMap[sneakerId]?.value ?: 1
|
val currentQuantity = _quantityStateMap[sneakerId]?.value ?: 1
|
||||||
_quantityStateMap[sneakerId]?.value = currentQuantity + 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.AppViewModelProvider
|
||||||
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
import com.example.android_programming.businessLogic.vmodel.BasketViewModel
|
||||||
import com.example.android_programming.businessLogic.vmodel.OrderViewModel
|
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")
|
@SuppressLint("UnrememberedMutableState")
|
||||||
@Composable
|
@Composable
|
||||||
@ -81,7 +85,11 @@ fun CardSneakerLike(item: Sneaker, basketViewModel: BasketViewModel = viewModel(
|
|||||||
contentColor = Color.White
|
contentColor = Color.White
|
||||||
),
|
),
|
||||||
onClick = {
|
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
|
modifier = Modifier
|
||||||
.padding(end = 16.dp)
|
.padding(end = 16.dp)
|
||||||
|
Loading…
Reference in New Issue
Block a user