Files
izyim/app/Classes/Modules/Companies/Services/ListsCompanyCompleteOrders.php
2019-04-12 18:25:22 +08:00

43 lines
1.1 KiB
PHP

<?php
namespace App\Classes\Modules\Companies\Services;
use App\Classes\Modules\Companies\Exceptions\CannotListCompanyOrderCategoryException;
use App\Models\Order;
use App\Http\Resources\Order as OrderResource;
class ListsCompanyCompleteOrders
{
/** @var Order */
private $repository;
/**
* ListsCompleteOrders constructor.
* @param Order $repository
*/
public function __construct(Order $repository)
{
$this->repository = $repository;
}
/**
* @param int $id
* @return \Illuminate\Http\Resources\Json\AnonymousResourceCollection
* @throws CannotListCompanyOrderCategoryException
*/
public function execute(int $id){
try {
/** @var Order $orders */
$orders = $this->repository->where('company_id', $id)
->where('complete', true)->orderBy('created_at', 'desc')->get();
return OrderResource::collection($orders);
} catch (\Exception $exception){
throw new CannotListCompanyOrderCategoryException($exception->getMessage());
}
}
}