¨4.0.1¨
This commit is contained in:
@@ -2,6 +2,7 @@
|
||||
|
||||
namespace Modules\Coupon\Http\Controllers;
|
||||
|
||||
use Illuminate\Http\Request;
|
||||
use Modules\Cart\Facades\Cart;
|
||||
use Illuminate\Pipeline\Pipeline;
|
||||
use Modules\Coupon\Entities\Coupon;
|
||||
@@ -19,7 +20,7 @@ use Modules\Coupon\Checkers\UsageLimitPerCustomer;
|
||||
|
||||
class CartCouponController
|
||||
{
|
||||
private $checkers = [
|
||||
private array $checkers = [
|
||||
CouponExists::class,
|
||||
AlreadyApplied::class,
|
||||
ValidCoupon::class,
|
||||
@@ -33,32 +34,40 @@ class CartCouponController
|
||||
UsageLimitPerCustomer::class,
|
||||
];
|
||||
|
||||
|
||||
/**
|
||||
* Store a newly created resource in storage.
|
||||
*
|
||||
* @param \Illuminate\Http\Request $request
|
||||
* @return \Illuminate\Http\Response
|
||||
* @param Request $request
|
||||
*
|
||||
* @return false|string
|
||||
*/
|
||||
public function store()
|
||||
{
|
||||
$cartWithCoupon = null;
|
||||
$coupon = Coupon::findByCode(request('coupon'));
|
||||
|
||||
resolve(Pipeline::class)
|
||||
->send($coupon)
|
||||
->through($this->checkers)
|
||||
->then(function ($coupon) {
|
||||
->then(function ($coupon) use (&$cartWithCoupon) {
|
||||
Cart::applyCoupon($coupon);
|
||||
|
||||
$cartWithCoupon = json_encode(Cart::instance());
|
||||
|
||||
Cart::removeCoupon();
|
||||
});
|
||||
|
||||
return Cart::instance();
|
||||
return $cartWithCoupon;
|
||||
}
|
||||
|
||||
|
||||
/**
|
||||
* Destroy resources by given ids.
|
||||
*
|
||||
* @return void
|
||||
* @return \Modules\Cart\Cart
|
||||
*/
|
||||
public function destroy()
|
||||
public function destroy(): \Modules\Cart\Cart
|
||||
{
|
||||
Cart::removeCoupon();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user