use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; // ... dentro do método handle() do middleware ... $domain = $request->getHost(); // Captura o domínio acessado (ex: centerbak.com) // 1. Tenta buscar o Tenant no banco $tenant = DB::table('tenants')->where('domain', $domain)->first(); // 2. Se não existir, nós criamos "na mão" injetando o UUID if (! $tenant) { $uuid = Str::uuid()->toString(); // Define o nome provisório baseado no domínio para a auto-criação $name = str_contains($domain, 'centerbak') ? 'Centerbak Peças Técnicas de Plástico' : 'AIO Sapatas & Pés'; DB::table('tenants')->insert([ 'id' => $uuid, 'domain' => $domain, 'name' => $name, 'is_active' => true, 'created_at' => now(), 'updated_at' => now(), ]); // Busca novamente para ter o objeto completo $tenant = DB::table('tenants')->where('id', $uuid)->first(); } // 3. (Opcional, mas recomendado) Salva o tenant_id na sessão ou requisição para uso global // session()->put('current_tenant_id', $tenant->id); // app()->instance('current_tenant', $tenant); return $next($request);use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; // ... dentro do método handle() do middleware ... $domain = $request->getHost(); // Captura o domínio acessado (ex: centerbak.com) // 1. Tenta buscar o Tenant no banco $tenant = DB::table('tenants')->where('domain', $domain)->first(); // 2. Se não existir, nós criamos "na mão" injetando o UUID if (! $tenant) { $uuid = Str::uuid()->toString(); // Define o nome provisório baseado no domínio para a auto-criação $name = str_contains($domain, 'centerbak') ? 'Centerbak Peças Técnicas de Plástico' : 'AIO Sapatas & Pés'; DB::table('tenants')->insert([ 'id' => $uuid, 'domain' => $domain, 'name' => $name, 'is_active' => true, 'created_at' => now(), 'updated_at' => now(), ]); // Busca novamente para ter o objeto completo $tenant = DB::table('tenants')->where('id', $uuid)->first(); } // 3. (Opcional, mas recomendado) Salva o tenant_id na sessão ou requisição para uso global // session()->put('current_tenant_id', $tenant->id); // app()->instance('current_tenant', $tenant); return $next($request);use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; // ... dentro do método handle() do middleware ... $domain = $request->getHost(); // Captura o domínio acessado (ex: centerbak.com) // 1. Tenta buscar o Tenant no banco $tenant = DB::table('tenants')->where('domain', $domain)->first(); // 2. Se não existir, nós criamos "na mão" injetando o UUID if (! $tenant) { $uuid = Str::uuid()->toString(); // Define o nome provisório baseado no domínio para a auto-criação $name = str_contains($domain, 'centerbak') ? 'Centerbak Peças Técnicas de Plástico' : 'AIO Sapatas & Pés'; DB::table('tenants')->insert([ 'id' => $uuid, 'domain' => $domain, 'name' => $name, 'is_active' => true, 'created_at' => now(), 'updated_at' => now(), ]); // Busca novamente para ter o objeto completo $tenant = DB::table('tenants')->where('id', $uuid)->first(); } // 3. (Opcional, mas recomendado) Salva o tenant_id na sessão ou requisição para uso global // session()->put('current_tenant_id', $tenant->id); // app()->instance('current_tenant', $tenant); return $next($request);use Illuminate\Support\Str; use Illuminate\Support\Facades\DB; // ... dentro do método handle() do middleware ... $domain = $request->getHost(); // Captura o domínio acessado (ex: centerbak.com) // 1. Tenta buscar o Tenant no banco $tenant = DB::table('tenants')->where('domain', $domain)->first(); // 2. Se não existir, nós criamos "na mão" injetando o UUID if (! $tenant) { $uuid = Str::uuid()->toString(); // Define o nome provisório baseado no domínio para a auto-criação $name = str_contains($domain, 'centerbak') ? 'Centerbak Peças Técnicas de Plástico' : 'AIO Sapatas & Pés'; DB::table('tenants')->insert([ 'id' => $uuid, 'domain' => $domain, 'name' => $name, 'is_active' => true, 'created_at' => now(), 'updated_at' => now(), ]); // Busca novamente para ter o objeto completo $tenant = DB::table('tenants')->where('id', $uuid)->first(); } // 3. (Opcional, mas recomendado) Salva o tenant_id na sessão ou requisição para uso global // session()->put('current_tenant_id', $tenant->id); // app()->instance('current_tenant', $tenant); return $next($request);
Target class [App\Http\Middleware\IdentifyTenant] does not exist.
Illuminate\Container\Container->build()Illuminate\Container\Container->build()Illuminate\Container\Container->resolve()Illuminate\Foundation\Application->resolve()Illuminate\Container\Container->make()Illuminate\Foundation\Application->make()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Routing\Middleware\SubstituteBindings->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\VerifyCsrfToken->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\View\Middleware\ShareErrorsFromSession->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Session\Middleware\StartSession->handleStatefulRequest()Illuminate\Session\Middleware\StartSession->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Cookie\Middleware\AddQueuedCookiesToResponse->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Cookie\Middleware\EncryptCookies->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Pipeline\Pipeline->then()Illuminate\Routing\Router->runRouteWithinStack()Illuminate\Routing\Router->runRoute()Illuminate\Routing\Router->dispatchToRoute()Illuminate\Routing\Router->dispatch()Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\TransformsRequest->handle()Illuminate\Foundation\Http\Middleware\TrimStrings->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\ValidatePostSize->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\HandleCors->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\TrustProxies->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Http\Middleware\ValidatePathEncoding->handle()Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}()Illuminate\Pipeline\Pipeline->then()Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter()Illuminate\Foundation\Http\Kernel->handle()Illuminate\Foundation\Application->handleRequest()1516// Bootstrap Laravel and handle the request...17/** @var Application $app */18$app = require_once __DIR__.'/../bootstrap/app.php';1920$app->handleRequest(Request::capture());21select exists (select 1 from pg_class c, pg_namespace n where n.nspname = current_schema() and c.relname = 'app_settings' and c.relkind in ('r', 'p') and n.oid = c.relnamespace)select "value", "key" from "app_settings"