22 lines
639 B
Dart
22 lines
639 B
Dart
import 'package:dartz/dartz.dart';
|
|
import '../../../../core/errors/failures.dart';
|
|
import '../entities/cart_item.dart';
|
|
|
|
/// Cart repository interface
|
|
abstract class CartRepository {
|
|
/// Get all cart items
|
|
Future<Either<Failure, List<CartItem>>> getCartItems();
|
|
|
|
/// Add item to cart
|
|
Future<Either<Failure, void>> addToCart(CartItem item);
|
|
|
|
/// Update cart item quantity
|
|
Future<Either<Failure, void>> updateQuantity(String productId, int quantity);
|
|
|
|
/// Remove item from cart
|
|
Future<Either<Failure, void>> removeFromCart(String productId);
|
|
|
|
/// Clear all cart items
|
|
Future<Either<Failure, void>> clearCart();
|
|
}
|