'Retrieved Feedback', 'message' => 'You have successfully exported feedback data' ]; } /** @var ExportsFeedback */ private $exportsFeedback; /** @var CanExportFeedback */ private $canExportFeedback; /** * ExportFeedbackDataLogic constructor. * @param ExportsFeedback $exportsFeedback * @param CanExportFeedback $canExportFeedback */ public function __construct(ExportsFeedback $exportsFeedback, CanExportFeedback $canExportFeedback) { $this->exportsFeedback = $exportsFeedback; $this->canExportFeedback = $canExportFeedback; } /** * @param Request $request * @return Response */ public function logic(Request $request) : JsonResponse { $this->canExportFeedback->passes(); $exportFileName = 'feedback.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ return $this->response([ 'src' => AWSS3Helper::S3Exportable($exportFileName, $this->exportsFeedback) ]); } return $this->response([ 'src' => null ]); } }