validate([ 'id' => 'required|string|unique:mysql.tenants', 'domain' => 'required|string|unique:mysql.domains,domain', ]); $tenant = Tenant::create([ 'id' => $validated['id'], 'last_updated_by' => Auth::user()->name ?? 'Super Admin', ]); $tenant->domains()->create([ 'domain' => $validated['domain'], ]); return redirect()->route('super-admin.tenants.index') ->with('success', 'Tenant created successfully.'); } public function edit($id) { $tenant = Tenant::findOrFail($id); return view('super-admin.tenants.edit', compact('tenant')); } public function update(Request $request, $id) { $tenant = Tenant::findOrFail($id); $validated = $request->validate([ 'domain' => 'required|string|unique:mysql.domains,domain,' . $tenant->domains->first()->id, ]); // Update domain $tenant->domains()->update([ 'domain' => $validated['domain'], ]); $tenant->update([ 'last_updated_by' => Auth::user()->name ?? 'Super Admin', ]); return redirect()->route('super-admin.tenants.index') ->with('success', 'Tenant updated successfully.'); } public function destroy($id) { $tenant = Tenant::findOrFail($id); $tenant->delete(); return redirect()->route('super-admin.tenants.index') ->with('success', 'Tenant deleted successfully.'); } }