PHP Class Sonata\BasketBundle\Controller\Api\BasketController

Author: Hugo Briand ([email protected])
Show file Open project: sonata-project/ecommerce

Protected Properties

Property Type Description
$basketBuilder Sonata\Component\Basket\BasketBuilderInterface
$basketElementManager Sonata\Component\Basket\BasketElementManagerInterface
$basketManager Sonata\Component\Basket\BasketManagerInterface
$formFactory Symfony\Component\Form\FormFactoryInterface
$productManager Sonata\Component\Product\ProductManagerInterface

Public Methods

Method Description
__construct ( Sonata\Component\Basket\BasketManagerInterface $basketManager, Sonata\Component\Basket\BasketElementManagerInterface $basketElementManager, Sonata\Component\Product\ProductManagerInterface $productManager, Sonata\Component\Basket\BasketBuilderInterface $basketBuilder, Symfony\Component\Form\FormFactoryInterface $formFactory ) Constructor.
deleteBasketAction ( integer $id ) : FOS\RestBundle\View\View Deletes a basket.
deleteBasketBasketelementsAction ( integer $basketId, integer $elementId ) : FOS\RestBundle\View\View Deletes a basket element from a basket.
getBasketAction ( $id ) : Sonata\Component\Basket\BasketInterface Retrieves a specific basket.
getBasketBasketelementsAction ( $id ) : Sonata\Component\Basket\BasketElementInterface[] Retrieves a specific basket's elements.
getBasketsAction ( FOS\RestBundle\Request\ParamFetcherInterface $paramFetcher ) : Sonata\DatagridBundle\Pager\PagerInterface[] Returns a paginated list of baskets.
postBasketAction ( Request $request ) : Sonata\Component\Basket\BasketInterface Adds a basket.
postBasketBasketelementsAction ( integer $id, Request $request ) : Sonata\Component\Basket\BasketInterface Adds a basket element to a basket.
putBasketAction ( integer $id, Request $request ) : Sonata\Component\Basket\BasketInterface Updates a basket.
putBasketBasketelementsAction ( integer $basketId, integer $elementId, Request $request ) : Sonata\Component\Basket\BasketInterface Updates a basket element of a basket.

Protected Methods

Method Description
checkExistingCustomerBasket ( $customerId ) Throws an exception if it already exists a basket with a specific customer id.
getBasket ( $id ) : Sonata\Component\Basket\BasketInterface Retrieves basket with id $id or throws an exception if it doesn't exist.
getBasketElement ( $id ) : Sonata\Component\Basket\BasketElementInterface Retrieves basket element with id $id or throws an exception if it doesn't exist.
getProduct ( $id ) : Sonata\Component\Product\ProductInterface Retrieves product with id $id or throws an exception if it doesn't exist.
handleWriteBasket ( Request $request, integer | null $id = null ) : FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface Write a basket, this method is used by both POST and PUT action methods.
handleWriteBasketElement ( integer $basketId, Request $request, integer $elementId = null ) : FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface Write a basket element, this method is used by both POST and PUT action methods.

Method Details

__construct() public method

Constructor.
public __construct ( Sonata\Component\Basket\BasketManagerInterface $basketManager, Sonata\Component\Basket\BasketElementManagerInterface $basketElementManager, Sonata\Component\Product\ProductManagerInterface $productManager, Sonata\Component\Basket\BasketBuilderInterface $basketBuilder, Symfony\Component\Form\FormFactoryInterface $formFactory )
$basketManager Sonata\Component\Basket\BasketManagerInterface A Sonata ecommerce basket manager
$basketElementManager Sonata\Component\Basket\BasketElementManagerInterface A Sonata ecommerce basket element manager
$productManager Sonata\Component\Product\ProductManagerInterface A Sonata ecommerce product manager
$basketBuilder Sonata\Component\Basket\BasketBuilderInterface A Sonata ecommerce basket builder
$formFactory Symfony\Component\Form\FormFactoryInterface A Symfony form factory

checkExistingCustomerBasket() protected method

Throws an exception if it already exists a basket with a specific customer id.
protected checkExistingCustomerBasket ( $customerId )
$customerId

deleteBasketAction() public method

Deletes a basket.
public deleteBasketAction ( integer $id ) : FOS\RestBundle\View\View
$id integer A Basket identifier
return FOS\RestBundle\View\View

deleteBasketBasketelementsAction() public method

Deletes a basket element from a basket.
public deleteBasketBasketelementsAction ( integer $basketId, integer $elementId ) : FOS\RestBundle\View\View
$basketId integer A basket identifier
$elementId integer A basket element identifier
return FOS\RestBundle\View\View

getBasket() protected method

Retrieves basket with id $id or throws an exception if it doesn't exist.
protected getBasket ( $id ) : Sonata\Component\Basket\BasketInterface
$id
return Sonata\Component\Basket\BasketInterface

getBasketAction() public method

Retrieves a specific basket.
public getBasketAction ( $id ) : Sonata\Component\Basket\BasketInterface
$id
return Sonata\Component\Basket\BasketInterface

getBasketBasketelementsAction() public method

Retrieves a specific basket's elements.
public getBasketBasketelementsAction ( $id ) : Sonata\Component\Basket\BasketElementInterface[]
$id
return Sonata\Component\Basket\BasketElementInterface[]

getBasketElement() protected method

Retrieves basket element with id $id or throws an exception if it doesn't exist.
protected getBasketElement ( $id ) : Sonata\Component\Basket\BasketElementInterface
$id
return Sonata\Component\Basket\BasketElementInterface

getBasketsAction() public method

Returns a paginated list of baskets.
public getBasketsAction ( FOS\RestBundle\Request\ParamFetcherInterface $paramFetcher ) : Sonata\DatagridBundle\Pager\PagerInterface[]
$paramFetcher FOS\RestBundle\Request\ParamFetcherInterface
return Sonata\DatagridBundle\Pager\PagerInterface[]

getProduct() protected method

Retrieves product with id $id or throws an exception if it doesn't exist.
protected getProduct ( $id ) : Sonata\Component\Product\ProductInterface
$id
return Sonata\Component\Product\ProductInterface

handleWriteBasket() protected method

Write a basket, this method is used by both POST and PUT action methods.
protected handleWriteBasket ( Request $request, integer | null $id = null ) : FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface
$request Symfony\Component\HttpFoundation\Request Symfony request
$id integer | null A basket identifier
return FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface

handleWriteBasketElement() protected method

Write a basket element, this method is used by both POST and PUT action methods.
protected handleWriteBasketElement ( integer $basketId, Request $request, integer $elementId = null ) : FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface
$basketId integer A Sonata ecommerce basket identifier
$request Symfony\Component\HttpFoundation\Request A Symfony Request service
$elementId integer A Sonata ecommerce basket element identifier
return FOS\RestBundle\View\View | Symfony\Component\Form\FormInterface

postBasketAction() public method

Adds a basket.
public postBasketAction ( Request $request ) : Sonata\Component\Basket\BasketInterface
$request Symfony\Component\HttpFoundation\Request A Symfony request
return Sonata\Component\Basket\BasketInterface

postBasketBasketelementsAction() public method

Adds a basket element to a basket.
public postBasketBasketelementsAction ( integer $id, Request $request ) : Sonata\Component\Basket\BasketInterface
$id integer A basket identifier
$request Symfony\Component\HttpFoundation\Request A Symfony request
return Sonata\Component\Basket\BasketInterface

putBasketAction() public method

Updates a basket.
public putBasketAction ( integer $id, Request $request ) : Sonata\Component\Basket\BasketInterface
$id integer A Basket identifier
$request Symfony\Component\HttpFoundation\Request A Symfony request
return Sonata\Component\Basket\BasketInterface

putBasketBasketelementsAction() public method

Updates a basket element of a basket.
public putBasketBasketelementsAction ( integer $basketId, integer $elementId, Request $request ) : Sonata\Component\Basket\BasketInterface
$basketId integer A basket identifier
$elementId integer A basket element identifier
$request Symfony\Component\HttpFoundation\Request A Symfony request
return Sonata\Component\Basket\BasketInterface

Property Details

$basketBuilder protected property

protected BasketBuilderInterface,Sonata\Component\Basket $basketBuilder
return Sonata\Component\Basket\BasketBuilderInterface

$basketElementManager protected property

protected BasketElementManagerInterface,Sonata\Component\Basket $basketElementManager
return Sonata\Component\Basket\BasketElementManagerInterface

$basketManager protected property

protected BasketManagerInterface,Sonata\Component\Basket $basketManager
return Sonata\Component\Basket\BasketManagerInterface

$formFactory protected property

protected FormFactoryInterface,Symfony\Component\Form $formFactory
return Symfony\Component\Form\FormFactoryInterface

$productManager protected property

protected ProductManagerInterface,Sonata\Component\Product $productManager
return Sonata\Component\Product\ProductManagerInterface