From decb6265eb2ac7ae053e6b4450f2e1b4ada43b9e Mon Sep 17 00:00:00 2001 From: weichien00 Date: Mon, 2 Aug 2021 23:42:51 +0800 Subject: [PATCH] add: list order api. --- .../ControllersLogic/ListOrdersLogic.php | 55 +++++++++++++++++++ .../Modules/Orders/Services/ListsOrders.php | 31 +++++++++++ .../Orders/Standards/Rules/CanListOrders.php | 40 ++++++++++++++ .../Orders/ListOrdersController.php | 22 ++++++++ 4 files changed, 148 insertions(+) create mode 100644 app/Classes/Modules/Orders/ControllersLogic/ListOrdersLogic.php create mode 100644 app/Classes/Modules/Orders/Services/ListsOrders.php create mode 100644 app/Classes/Modules/Orders/Standards/Rules/CanListOrders.php create mode 100644 app/Http/Controllers/Orders/ListOrdersController.php 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); + } +}