¨4.0.1¨

This commit is contained in:
¨NW¨
2023-12-03 14:07:47 +00:00
parent c08b36d1b6
commit f35052522d
1112 changed files with 43019 additions and 24987 deletions

View File

@@ -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();