'Retrieved Document', 'message' => 'You have successfully retrieved a list of Document' ]; } /** @var CanListDocuments */ private $canListDocuments; /** @var ListsDocuments */ private $listsDocuments; /** * ListStandardSegmentLogic constructor. * @param CanListDocuments $canListDocuments * @param ListsDocuments $listsDocuments */ public function __construct(CanListDocuments $canListDocuments, ListsDocuments $listsDocuments) { $this->canListDocuments = $canListDocuments; $this->listsDocuments = $listsDocuments; } /** * @param Request $request * @return JsonResponse * @throws \App\Classes\Exceptions\AccessForbiddenException * @throws \App\Classes\Exceptions\MalformedRequestException * @throws \App\Classes\Exceptions\RequestValidationException */ public function logic(Request $request) : JsonResponse { $this->canListDocuments->passes(); // dd(json_encode($request->input('filters'))); // /"{\"per_page\":30,\"with_owner\":true,\"document_type_in\":[\"PURCHASE_ORDER\"],\"order_by\":{\"column\":\"id\",\"DESC\":true}}" // dd(json_encode($this->listsDocuments->deserializeFilters($request->input('filters')))); //{"per_page":30,"with_owner":true,"document_type_in":["INVOICE"],"order_by":{"column":"id","DESC":true}} //{"page":"1","filters":"{\"per_page\":30,\"with_owner\":true,\"document_type_in\":[\"PURCHASE_ORDER\"],\"order_by\":{\"column\":\"id\",\"DESC\":true}}"} $query = $this->listsDocuments->execute($this->listsDocuments->deserializeFilters($request->input('filters'))); return $this->collectionResponse(DocumentResource::collection($query)); } }