diff --git a/src/Controller/Component/ShoppingCartComponent.php b/src/Controller/Component/ShoppingCartComponent.php index 43ae241..66c5459 100644 --- a/src/Controller/Component/ShoppingCartComponent.php +++ b/src/Controller/Component/ShoppingCartComponent.php @@ -18,17 +18,12 @@ use CakeCarts\Model\Table\CartsTable; */ class ShoppingCartComponent extends Component { - /** - * @var string $userIdField - */ protected string $userIdField; - /** - * @var \CakeCarts\Model\Table\CartsTable|\Cake\ORM\Table $Carts - */ protected CartsTable|Table $Carts; /** + * @param array $config * @return void */ public function initialize(array $config): void { @@ -46,6 +41,7 @@ class ShoppingCartComponent extends Component { protected array $_defaultConfig = []; /** + * @param \Cake\Event\EventInterface $event * @return void */ public function beforeFilter(EventInterface $event): void { @@ -62,7 +58,7 @@ class ShoppingCartComponent extends Component { /** * @param string $cartId * - * @return mixed + * @return \Cake\Datasource\EntityInterface|\CakeCarts\Model\Entity\Cart */ public function getCartForUserById(string $cartId) { $identity = $this->getController()->getRequest()->getAttribute('identity'); @@ -81,6 +77,12 @@ class ShoppingCartComponent extends Component { return $cartsQ->firstOrFail(); } + /** + * @param string $sessionId + * @param int|null $cartTypeId + * @return EntityInterface|\CakeCarts\Model\Entity\Cart + */ + public function findExistingCartOrCreate(string $sessionId, int|null $cartTypeId = null) { $identity = $this->getController()->getRequest()->getAttribute('identity'); @@ -114,6 +116,9 @@ class ShoppingCartComponent extends Component { return $cart; } + /** + * @return string + */ public function getUserIdField() { return $this->userIdField; } diff --git a/src/Model/Enum/CartTypeId.php b/src/Model/Enum/CartTypeId.php index 88119d1..cafe1d9 100644 --- a/src/Model/Enum/CartTypeId.php +++ b/src/Model/Enum/CartTypeId.php @@ -13,6 +13,9 @@ enum CartTypeId: int implements EnumLabelInterface case Wishlist = 2; case CustomList = 3; + /** + * @return string + */ public function label(): string { return match ($this) { static::Cart => 'Cart', diff --git a/src/Model/Table/CartItemsTable.php b/src/Model/Table/CartItemsTable.php index c24e0ad..a85e76e 100644 --- a/src/Model/Table/CartItemsTable.php +++ b/src/Model/Table/CartItemsTable.php @@ -84,6 +84,12 @@ class CartItemsTable extends Table { return $validator; } + /** + * Requires Pricing validation rules. + * + * @param \Cake\Validation\Validator $validator Validator instance. + * @return \Cake\Validation\Validator + */ public function validationRequiresPricing(Validator $validator): Validator { $validator = $this->validationDefault($validator);