emailSettings; if (! $settings) { // Return defaults when no custom settings exist return $this->success($this->emailService->resolveBranding($organisation)); } return $this->success(new EmailSettingsResource($settings)); } public function update(UpdateEmailSettingsRequest $request, Organisation $organisation): JsonResponse { Gate::authorize('update', $organisation); $settings = OrganisationEmailSettings::updateOrCreate( ['organisation_id' => $organisation->id], $request->validated(), ); activity('email_settings') ->performedOn($settings) ->causedBy($request->user()) ->log('email_settings.updated'); return $this->success(new EmailSettingsResource($settings->fresh())); } }