'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 AccessForbiddenException * @throws MalformedRequestException * @throws RequestValidationException */ public function logic(Request $request): JsonResponse { $this->canListDocuments->passes(); $query = $this->listsDocuments->execute(array_merge($this->listsDocuments->deserializeFilters($request->input('filters')), ['with_owner' => true])); $data = fractal() ->parseIncludes(['owner']) ->collection($query, new DocumentTransformer, "data") ->serializeWith(new ArraySerializer()) ->respond(200, [], JSON_PRETTY_PRINT); return $data; } }