Skip to content

Commit

Permalink
Introduce Order ApiPlatform resource
Browse files Browse the repository at this point in the history
  • Loading branch information
jolelievre committed Feb 16, 2024
1 parent d184bc2 commit 88d6334
Showing 1 changed file with 64 additions and 0 deletions.
64 changes: 64 additions & 0 deletions src/ApiPlatform/Resources/Order.php
Original file line number Diff line number Diff line change
@@ -0,0 +1,64 @@
<?php
/**
* Copyright since 2007 PrestaShop SA and Contributors
* PrestaShop is an International Registered Trademark & Property of PrestaShop SA
*
* NOTICE OF LICENSE
*
* This source file is subject to the Open Software License (OSL 3.0)
* that is bundled with this package in the file LICENSE.md.
* It is also available through the world-wide-web at this URL:
* https://opensource.org/licenses/OSL-3.0
* If you did not receive a copy of the license and are unable to
* obtain it through the world-wide-web, please send an email
* to [email protected] so we can send you a copy immediately.
*
* DISCLAIMER
*
* Do not edit or add to this file if you wish to upgrade PrestaShop to newer
* versions in the future. If you wish to customize PrestaShop for your
* needs please refer to https://devdocs.prestashop.com/ for more information.
*
* @author PrestaShop SA and Contributors <[email protected]>
* @copyright Since 2007 PrestaShop SA and Contributors
* @license https://opensource.org/licenses/OSL-3.0 Open Software License (OSL 3.0)
*/

declare(strict_types=1);

namespace PrestaShop\Module\APIResources\ApiPlatform\Resources;

use ApiPlatform\Metadata\ApiResource;
use PrestaShop\PrestaShop\Core\Domain\Order\Command\UpdateOrderStatusCommand;
use PrestaShop\PrestaShop\Core\Domain\Order\Exception\OrderNotFoundException;
use PrestaShop\PrestaShop\Core\Domain\Order\Query\GetOrderForViewing;
use PrestaShopBundle\ApiPlatform\Metadata\CQRSGet;
use PrestaShopBundle\ApiPlatform\Metadata\CQRSPartialUpdate;
use Symfony\Component\HttpFoundation\Response;

#[ApiResource(
operations: [
new CQRSGet(
uriTemplate: '/order/{orderId}',
CQRSQuery: GetOrderForViewing::class,
scopes: [
'order_read',
],
),
new CQRSPartialUpdate(
uriTemplate: '/order/{orderId}/status',
CQRSCommand: UpdateOrderStatusCommand::class,
CQRSQuery: GetOrderForViewing::class,
scopes: [
'product_write',
],
),
],
exceptionToStatus: [
OrderNotFoundException::class => Response::HTTP_NOT_FOUND,
],
)]
class Order
{

}

0 comments on commit 88d6334

Please sign in to comment.