update address, cancel order
This commit is contained in:
@@ -189,3 +189,51 @@ Future<OrderDetail> orderDetail(Ref ref, String orderId) async {
|
||||
final repository = await ref.watch(orderRepositoryProvider.future);
|
||||
return await repository.getOrderDetail(orderId);
|
||||
}
|
||||
|
||||
/// Update Order Address Action
|
||||
///
|
||||
/// Updates the shipping and billing addresses for an order.
|
||||
@Riverpod(keepAlive: true)
|
||||
class UpdateOrderAddress extends _$UpdateOrderAddress {
|
||||
@override
|
||||
FutureOr<void> build() {
|
||||
// No initial state needed
|
||||
}
|
||||
|
||||
/// Update order address
|
||||
Future<void> updateAddress({
|
||||
required String orderId,
|
||||
required String shippingAddressName,
|
||||
required String customerAddress,
|
||||
}) async {
|
||||
state = const AsyncValue.loading();
|
||||
state = await AsyncValue.guard(() async {
|
||||
final repository = await ref.read(orderRepositoryProvider.future);
|
||||
await repository.updateOrderAddress(
|
||||
orderId: orderId,
|
||||
shippingAddressName: shippingAddressName,
|
||||
customerAddress: customerAddress,
|
||||
);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
/// Cancel Order Action
|
||||
///
|
||||
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
|
||||
@Riverpod(keepAlive: true)
|
||||
class CancelOrder extends _$CancelOrder {
|
||||
@override
|
||||
FutureOr<void> build() {
|
||||
// No initial state needed
|
||||
}
|
||||
|
||||
/// Cancel order
|
||||
Future<void> cancel(String orderId) async {
|
||||
state = const AsyncValue.loading();
|
||||
state = await AsyncValue.guard(() async {
|
||||
final repository = await ref.read(orderRepositoryProvider.future);
|
||||
await repository.cancelOrder(orderId);
|
||||
});
|
||||
}
|
||||
}
|
||||
|
||||
@@ -492,3 +492,122 @@ final class OrderDetailFamily extends $Family
|
||||
@override
|
||||
String toString() => r'orderDetailProvider';
|
||||
}
|
||||
|
||||
/// Update Order Address Action
|
||||
///
|
||||
/// Updates the shipping and billing addresses for an order.
|
||||
|
||||
@ProviderFor(UpdateOrderAddress)
|
||||
const updateOrderAddressProvider = UpdateOrderAddressProvider._();
|
||||
|
||||
/// Update Order Address Action
|
||||
///
|
||||
/// Updates the shipping and billing addresses for an order.
|
||||
final class UpdateOrderAddressProvider
|
||||
extends $AsyncNotifierProvider<UpdateOrderAddress, void> {
|
||||
/// Update Order Address Action
|
||||
///
|
||||
/// Updates the shipping and billing addresses for an order.
|
||||
const UpdateOrderAddressProvider._()
|
||||
: super(
|
||||
from: null,
|
||||
argument: null,
|
||||
retry: null,
|
||||
name: r'updateOrderAddressProvider',
|
||||
isAutoDispose: false,
|
||||
dependencies: null,
|
||||
$allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
@override
|
||||
String debugGetCreateSourceHash() => _$updateOrderAddressHash();
|
||||
|
||||
@$internal
|
||||
@override
|
||||
UpdateOrderAddress create() => UpdateOrderAddress();
|
||||
}
|
||||
|
||||
String _$updateOrderAddressHash() =>
|
||||
r'1913c2ccc2ba232debb4368f350f64c3d08cccec';
|
||||
|
||||
/// Update Order Address Action
|
||||
///
|
||||
/// Updates the shipping and billing addresses for an order.
|
||||
|
||||
abstract class _$UpdateOrderAddress extends $AsyncNotifier<void> {
|
||||
FutureOr<void> build();
|
||||
@$mustCallSuper
|
||||
@override
|
||||
void runBuild() {
|
||||
build();
|
||||
final ref = this.ref as $Ref<AsyncValue<void>, void>;
|
||||
final element =
|
||||
ref.element
|
||||
as $ClassProviderElement<
|
||||
AnyNotifier<AsyncValue<void>, void>,
|
||||
AsyncValue<void>,
|
||||
Object?,
|
||||
Object?
|
||||
>;
|
||||
element.handleValue(ref, null);
|
||||
}
|
||||
}
|
||||
|
||||
/// Cancel Order Action
|
||||
///
|
||||
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
|
||||
|
||||
@ProviderFor(CancelOrder)
|
||||
const cancelOrderProvider = CancelOrderProvider._();
|
||||
|
||||
/// Cancel Order Action
|
||||
///
|
||||
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
|
||||
final class CancelOrderProvider
|
||||
extends $AsyncNotifierProvider<CancelOrder, void> {
|
||||
/// Cancel Order Action
|
||||
///
|
||||
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
|
||||
const CancelOrderProvider._()
|
||||
: super(
|
||||
from: null,
|
||||
argument: null,
|
||||
retry: null,
|
||||
name: r'cancelOrderProvider',
|
||||
isAutoDispose: false,
|
||||
dependencies: null,
|
||||
$allTransitiveDependencies: null,
|
||||
);
|
||||
|
||||
@override
|
||||
String debugGetCreateSourceHash() => _$cancelOrderHash();
|
||||
|
||||
@$internal
|
||||
@override
|
||||
CancelOrder create() => CancelOrder();
|
||||
}
|
||||
|
||||
String _$cancelOrderHash() => r'201624156f3ae3c05fe438ea7e266cb8fa2a5bd6';
|
||||
|
||||
/// Cancel Order Action
|
||||
///
|
||||
/// Cancels an order (only allowed for "Chờ phê duyệt" status).
|
||||
|
||||
abstract class _$CancelOrder extends $AsyncNotifier<void> {
|
||||
FutureOr<void> build();
|
||||
@$mustCallSuper
|
||||
@override
|
||||
void runBuild() {
|
||||
build();
|
||||
final ref = this.ref as $Ref<AsyncValue<void>, void>;
|
||||
final element =
|
||||
ref.element
|
||||
as $ClassProviderElement<
|
||||
AnyNotifier<AsyncValue<void>, void>,
|
||||
AsyncValue<void>,
|
||||
Object?,
|
||||
Object?
|
||||
>;
|
||||
element.handleValue(ref, null);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user