'Export Questions & Answers', 'message' => 'You have successfully exported data' ]; } /** @var ExportsQAWithGroups */ private $exportsQAWithGroups; /** @var CanExportQuestionsAnswers */ private $canExport; /** * ExportQAWithGroupsLogic constructor. * @param ExportsQAWithGroups $exportsQAWithGroups * @param CanExportQuestionsAnswers $canExport */ public function __construct(ExportsQAWithGroups $exportsQAWithGroups, CanExportQuestionsAnswers $canExport) { $this->exportsQAWithGroups = $exportsQAWithGroups; $this->canExport = $canExport; } /** * @param Request $request * @return Response */ public function logic(Request $request) : JsonResponse { $this->canExport->passes(); $this->exportsQAWithGroups->setFilters(Helper::deserializeFilters($request->input('filters'))); $exportFileName = 'qas.xls'; $filesystemDriver = Storage::getDefaultDriver(); if($filesystemDriver === 's3'){ return $this->response([ 'src' => AWSS3Helper::S3Exportable($exportFileName, $this->exportsQAWithGroups) ]); } return $this->response([ 'src' => null ]); } }