json(Tenant::query()->latest()->get()); } public function store(Request $request): JsonResponse { $validated = $request->validate($this->rules()); $tenant = Tenant::create($validated); return response()->json($tenant, 201); } public function show(Tenant $tenant): JsonResponse { return response()->json($tenant); } public function update(Request $request, Tenant $tenant): JsonResponse { $validated = $request->validate($this->rules($tenant->id)); $tenant->update($validated); return response()->json($tenant); } public function destroy(Tenant $tenant): Response { $tenant->delete(); return response()->noContent(); } /** * @return array */ protected function rules(?int $tenantId = null): array { return [ 'codigo' => [ 'required', 'string', 'max:255', Rule::unique('tenants', 'codigo')->ignore($tenantId), ], 'nombre' => ['required', 'string', 'max:255'], 'dominio' => ['nullable', 'string', 'max:255'], ]; } }