diff --git a/app/Classes/Modules/Orders/ControllersLogic/ListOrdersLogic.php b/app/Classes/Modules/Orders/ControllersLogic/ListOrdersLogic.php new file mode 100644 index 00000000..bf960049 --- /dev/null +++ b/app/Classes/Modules/Orders/ControllersLogic/ListOrdersLogic.php @@ -0,0 +1,55 @@ + 'Retrieved Orders', + 'message' => 'You have successfully retrieved a list of Orders' + ]; + } + + /** @var CanListOrders */ + private $canListOrders; + + /** @var ListsOrders */ + private $listsOrders; + + /** + * ListOrdersLogic constructor. + * @param CanListOrders $canListOrders + * @param ListsOrders $listsOrders + */ + public function __construct(CanListOrders $canListOrders, ListsOrders $listsOrders) + { + $this->canListOrders = $canListOrders; + $this->listsOrders = $listsOrders; + } + + public function logic(Request $request) : JsonResponse + { + $this->canListOrders->passes(); + + $query = $this->listsOrders->execute($this->listsOrders->deserializeFilters($request->input('filters'))); + + return $this->collectionResponse(OrderResource::collection($query)); + + } + + + +} diff --git a/app/Classes/Modules/Orders/Services/ListsOrders.php b/app/Classes/Modules/Orders/Services/ListsOrders.php new file mode 100644 index 00000000..8b9c835b --- /dev/null +++ b/app/Classes/Modules/Orders/Services/ListsOrders.php @@ -0,0 +1,31 @@ +repository = $repository; + } + + /** + * @return Builder + */ + public function getRepository(): Builder + { + return $this->repository->newQuery(); + } +} diff --git a/app/Classes/Modules/Orders/Standards/Rules/CanListOrders.php b/app/Classes/Modules/Orders/Standards/Rules/CanListOrders.php new file mode 100644 index 00000000..b7d48485 --- /dev/null +++ b/app/Classes/Modules/Orders/Standards/Rules/CanListOrders.php @@ -0,0 +1,40 @@ +execute($request); + } +}