has('rows') ? $request->input('rows') : 50; $activities = Activity::orderBy('created_at', 'DESC')->company() ->take($default_activities); return $this->listResponse($activities); } /** * @OA\Get( * path="/api/v1/actvities/download_entity/{activity_id}", * operationId="getActivityHistoricalEntityPdf", * tags={"actvities"}, * summary="Gets a PDF for the given activity", * description="Gets a PDF for the given activity", * @OA\Parameter(ref="#/components/parameters/X-Api-Secret"), * @OA\Parameter(ref="#/components/parameters/X-Api-Token"), * @OA\Parameter(ref="#/components/parameters/X-Requested-With"), * @OA\Parameter( * name="activity_id", * in="path", * description="The Activity Hashed ID", * example="D2J234DFA", * required=true, * @OA\Schema( * type="string", * format="string", * ), * ), * @OA\Response( * response=200, * description="PDF File", * @OA\Header(header="X-MINIMUM-CLIENT-VERSION", ref="#/components/headers/X-MINIMUM-CLIENT-VERSION"), * @OA\Header(header="X-RateLimit-Remaining", ref="#/components/headers/X-RateLimit-Remaining"), * @OA\Header(header="X-RateLimit-Limit", ref="#/components/headers/X-RateLimit-Limit"), * ), * @OA\Response( * response=404, * description="No file exists for the given record", * ), * @OA\Response( * response="default", * description="Unexpected Error", * @OA\JsonContent(ref="#/components/schemas/Error"), * ), * ) * @param DownloadHistoricalEntityRequest $request * @param Activity $activity * @return JsonResponse|StreamedResponse */ public function downloadHistoricalEntity(DownloadHistoricalEntityRequest $request, Activity $activity) { $backup = $activity->backup; if (! $backup || ! $backup->html_backup) { return response()->json(['message'=> ctrans('texts.no_backup_exists'), 'errors' => new stdClass], 404); } if (config('ninja.phantomjs_pdf_generation') || config('ninja.pdf_generator') == 'phantom') { $pdf = (new Phantom)->convertHtmlToPdf($backup->html_backup); } elseif(config('ninja.invoiceninja_hosted_pdf_generation') || config('ninja.pdf_generator') == 'hosted_ninja'){ $pdf = (new NinjaPdf())->build($backup->html_backup); } else { $pdf = $this->makePdf(null, null, $backup->html_backup); } if (isset($activity->invoice_id)) { $filename = $activity->invoice->numberFormatter().'.pdf'; } elseif (isset($activity->quote_id)) { $filename = $activity->quote->numberFormatter().'.pdf'; } elseif (isset($activity->credit_id)) { $filename = $activity->credit->numberFormatter().'.pdf'; } else { $filename = 'backup.pdf'; } return response()->streamDownload(function () use ($pdf) { echo $pdf; }, $filename); } }