<?php namespace App\Modules\Mini\Controllers; use App\Base\BaseController; use App\Models\Cart; use App\Modules\Mini\Services\CartService; use Faker\Provider\Image; use Illuminate\Support\Facades\Auth; class CartController extends BaseController { protected CartService $service; /** * @param CartService $service */ public function __construct(CartService $service) { $this->service = $service; } public function index() { $params = $this->valid([ "page_size" => "int", ]); return $this->ok($this->service->paginate(Auth::user(), $params)); } public function del() { $params = $this->valid([ "ids" => "required|array", ]); $row = Cart::whereIn("id", $params['ids'])->where("user_id", Auth::id())->delete(); return $this->ok([ "row" => $row, ]); } public function ask() { $params = $this->valid([ "ids" => "required|array", ]); return $this->ok($this->service->ask(Auth::user(), $params)); } public function store() { $params = $this->valid([ "id" => "required", "count" => "required", ]); $cart = app(CartService::class)->update(Auth::user(), $params); return $this->ok([ "id" => $cart->id, ]); } }