header('company')); $this->authorize('manage company', $company); $company->update($request->getCompanyPayload()); $company->address()->updateOrCreate(['company_id' => $company->id], $request->address); return new CompanyResource($company); } public function uploadCompanyLogo(CompanyLogoRequest $request) { $company = Company::find($request->header('company')); $this->authorize('manage company', $company); $data = json_decode($request->company_logo); if (isset($request->is_company_logo_removed) && (bool) $request->is_company_logo_removed) { $company->clearMediaCollection('logo'); } if ($data) { $company = Company::find($request->header('company')); if ($company) { $company->clearMediaCollection('logo'); $company->addMediaFromBase64($data->data) ->usingFileName($data->name) ->toMediaCollection('logo'); } } return response()->json([ 'success' => true, ]); } }