File manager - Edit - /var/www/html/spdc/api/app/Http/Services/OccurrencyScriptureDemolitionService.php
Back
<?php namespace App\Http\Services; use PDF; use App\Models\Occurrency; use Illuminate\Support\Carbon; use Illuminate\Http\JsonResponse; use App\Classes\BaseServiceResponse; use App\Models\OccurrencyScriptureDemolition; use App\Http\Requests\OccurrencyScriptureDemolitionRequest; use App\Http\Resources\OccurrencyScriptureDemolitionResource; class OccurrencyScriptureDemolitionService extends BaseService { public function store(OccurrencyScriptureDemolitionRequest $request, Occurrency $occurrency): BaseServiceResponse { if (!in_array('AUTOS', $occurrency->category?->sections)) { $this->response(null, JsonResponse::HTTP_BAD_REQUEST, 'This occurrency can not have scriptures.'); } $inputs = $request->all(); $user = $request->user; $scripture = $occurrency->scriptures()->create([ ...$inputs, 'responsable' => [ 'name' => $user['name'], 'document' => $user['document'], 'registration' => $user['registration'], 'email' => $user['email'] ] ]); $demolition = $scripture->demolitions()->create($inputs); return $this->response(new OccurrencyScriptureDemolitionResource($demolition), JsonResponse::HTTP_CREATED); } public function update(OccurrencyScriptureDemolitionRequest $request, OccurrencyScriptureDemolition $demolition): BaseServiceResponse { $inputs = $request->all(); $demolition->scripture->fill($inputs)->save(); $demolition->fill($inputs)->save(); return $this->response(new OccurrencyScriptureDemolitionResource($demolition)); } public function show(OccurrencyScriptureDemolition $demolition): BaseServiceResponse { return $this->response(new OccurrencyScriptureDemolitionResource($demolition)); } public function pdf(OccurrencyScriptureDemolition $demolition): BaseServiceResponse { $scripture = $demolition->scripture; $address = $scripture->occurrency?->address?->setAppends(['full_address']); $occurrency = $demolition->scripture?->occurrency; $signature = $demolition->scripture?->signature; Carbon::setLocale('pt_BR'); $date = Carbon::now()->isoFormat('D [de] MMMM [de] YYYY'); $signature_date = $signature?->created_at?->isoFormat('D [de] MMMM [de] YYYY'); // generating pdf $data = [ 'place' => $demolition?->scripture?->placeType->name, 'address' => $address?->full_address, 'occurrency_code' => $occurrency?->code, 'date' => $date, 'responsable_name' => $scripture?->responsable['name'], 'responsable_registration' => $scripture?->responsable['registration'], 'notes' => $scripture?->note, 'base64Signature' => $signature?->file, 'signature_name' => $signature?->name, 'signature_document' => $signature?->document, 'signature_date' => $signature_date, ]; $pdf = PDF::loadView('scriptures.demolition', $data); $pdf->setOption('chroot', public_path('/')); $pdfContent = $pdf->output(); // Storage::put(storage_path('temp/' . str()->uuid() . '.pdf'), $pdfContent); // convert to base64 $base64pdf = base64_encode($pdfContent); // saving $demolition->scripture?->fill(['file' => $base64pdf])->save(); return $this->response(new OccurrencyScriptureDemolitionResource($demolition)); } }
| ver. 1.4 |
Github
|
.
| PHP 8.3.28 | Generation time: 0.02 |
proxy
|
phpinfo
|
Settings