json($this->mailConfigurationService->getDefaultConfig()); } public function getMailConfig(Request $request): JsonResponse { return response()->json( $this->mailConfigurationService->getCompanyConfig($request->header('company')) ); } public function saveMailConfig(CompanyMailConfigurationRequest $request): JsonResponse { $this->authorize('owner only'); $this->mailConfigurationService->saveCompanyConfig( $request->header('company'), $request->validated() ); return response()->json(['success' => true]); } public function testMailConfig(Request $request): JsonResponse { $this->authorize('owner only'); $this->validate($request, [ 'to' => 'required|email', 'subject' => 'required', 'message' => 'required', ]); CompanyMailConfigService::apply($request->header('company')); Mail::to($request->to)->send(new TestMail($request->subject, $request->message)); return response()->json(['success' => true]); } }