- schema for cart and product - define relationship, DTO, Resource and API collections - Add post and get endpoint for cart api
52 lines
1.1 KiB
PHP
52 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Http\Controllers;
|
|
|
|
use App\Actions\AddProductToCartAction;
|
|
use App\Actions\GetActiveUserCartAction;
|
|
use App\Data\AddToCartDTO;
|
|
use App\Http\Requests\AddProductToCartRequest;
|
|
use App\Http\Resources\CartResource;
|
|
use Illuminate\Http\Request;
|
|
use Illuminate\Support\Facades\Auth;
|
|
|
|
class CartController extends Controller
|
|
{
|
|
/**
|
|
* Store a newly created resource in storage.
|
|
*/
|
|
public function store(AddProductToCartRequest $request, AddProductToCartAction $addProductAction)
|
|
{
|
|
$addToCartData = AddToCartDTO::fromRequest($request);
|
|
|
|
$cart = $addProductAction->execute($addToCartData, Auth::user());
|
|
|
|
return new CartResource($cart);
|
|
|
|
}
|
|
|
|
/**
|
|
* Display the specified resource.
|
|
*/
|
|
public function show(GetActiveUserCartAction $action)
|
|
{
|
|
return new CartResource($action->execute(Auth::user()));
|
|
}
|
|
|
|
/**
|
|
* Update the specified resource in storage.
|
|
*/
|
|
public function update(Request $request, string $id)
|
|
{
|
|
//
|
|
}
|
|
|
|
/**
|
|
* Remove the specified resource from storage.
|
|
*/
|
|
public function destroy(string $id)
|
|
{
|
|
//
|
|
}
|
|
}
|