SQLSTATE[HY000] [1045] Access denied for user 'tfo.cms-universel'@'ec2-23-21-116-100.compute-1.amazonaws.com' (using password: YES) (Connection: mysql, SQL: select * from `settings` where `key` = exclusion_list limit 1)
Illuminate\Database\Connection->runQueryCallback(string, array, object(Closure))
Illuminate\Database\Connection->tryAgainIfCausedByLostConnection(object(Illuminate\Database\QueryException), string, array, object(Closure))
Illuminate\Database\Connection->handleQueryException(object(Illuminate\Database\QueryException), string, array, object(Closure))
Illuminate\Database\Connection->run(string, array, object(Closure))
Illuminate\Database\Connection->select(string, array, boolean)
Illuminate\Database\Query\Builder->runSelect()
Illuminate\Database\Query\Builder->Illuminate\Database\Query\{closure}()
Illuminate\Database\Query\Builder->onceWithColumns(array, object(Closure))
Illuminate\Database\Query\Builder->get(array)
Illuminate\Database\Eloquent\Builder->getModels(array)
Illuminate\Database\Eloquent\Builder->get(array)
Illuminate\Database\Concerns\BuildsQueries->first()
app/Services/ExclusionService.php
36
37 public function getExclusionList(): array
38 {
39 $row = SettingsModel::query()
40 ->where('key', 'exclusion_list')
41 ->first();
42
43 if (! $row || blank($row->value))
44 {
45 return [];
46 }
47
48 $decoded = json_decode($row->value, true);
49
50 if (! is_array($decoded))
51 {
52 return [];
53
app/Services/ExclusionService.php
16 if ($biznumber === '')
17 {
18 return false;
19 }
20
21 $rows = $this->getExclusionList();
22
23 foreach ($rows as $row)
24 {
25 if (
26 (string) data_get($row, 'model_type', 'products') === $modelType
27 && (string) data_get($row, 'biznumber', '') === $biznumber
28 )
29 {
30 return true;
31 }
32 }
33
App\Helpers\FilamentActionsMethod::isExcludedTFODestination(string, string)
899 if ($modelType === null)
900 {
901 return false;
902 }
903
904 return app(ExclusionService::class)->isExcluded($modelType, $biznumber);
905 }
906
907 protected static function tfoDestinationNotFound(string $type, string $biznumber): object
908 {
909 return (object)[
910 "error" => true,
911 "errorCode" => 404,
912 "message" => "No such {$type} {$biznumber}",
913 ];
914 }
915
916
App\Helpers\FilamentActionsMethod::getTFODestination(array, array, null, array)
678 $output = null;
679 $type = $record[0];
680 $slug = $record[1];
681 $biznumber = $record[2] ?? $record[1];
682
683 if (self::isExcludedTFODestination($type, (string) $biznumber))
684 {
685 return self::tfoDestinationNotFound($type, (string) $biznumber);
686 }
687
688 $now = Carbon::now()->timezone("America/Toronto")->toDateTimeString();
689 [$commanditaires, $activeCommanditaires] = self::getActiveCommanditaires( $biznumber );
690
691 if (in_array($type, ["product"]))
692 {
693 $product = DirectusProducts
694 ::where("biznumber", $biznumber)
695
App\Helpers\Evaluator::evaluateData(array, array)
547 $method = $option["method"] ?? "";
548 $class = FilamentActionsMethod::class;
549
550 if (is_callable([$class, $method]))
551 {
552 $output = $class::$method($option, $record, $caller, $record);
553 }
554 else {
555 $output = ["data" => "method not found :" . $method, "status" => 404];
556 }
557 }
558 else if ($type == "mutator")
559 {
560 $method = $option["method"] ?? "";
561 $class = Mutators::class;
562
563 if (is_callable([$class, $method]))
564
App\Controllers\Api::populate(array)
686 {
687
688 $params = (object)$route["params"];
689 }
690
691 $data = Evaluator::evaluateData($getData, $params);
692
693 //$conditions = $node["conditions"] ?? [];
694
695 //$canOutput = self::evalConditions($conditions, $route["params"]);
696
697 return ["data" => $data, "status" => 200];
698 }
699
700
701
702 public static function findRoute($api, $strRoute)
703
App\Controllers\Api::matchRoute(string)
654 return response()->json([
655 'error' => $route["error"],
656 ], 404);
657 }
658
659 $output = self::populate($route);
660
661 return response()->json($output["data"], $output["status"] ?? 200, [], JSON_UNESCAPED_UNICODE | JSON_UNESCAPED_SLASHES);
662 }
663
664 public static function populate ($route)
665 {
666 $node = $route["node"][$route["matched_type"]] ?? null;
667
668 if (empty($node))
669 {
670 return ["data" => "Route not found", "status" => 404];
671
Illuminate\Routing\ControllerDispatcher->dispatch(object(Illuminate\Routing\Route), object(App\Controllers\Api), string)
Illuminate\Routing\Route->runController()
Illuminate\Routing\Route->run()
Illuminate\Routing\Router->Illuminate\Routing\{closure}(object(Illuminate\Http\Request))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Routing\Middleware\SubstituteBindings->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Pipeline\Pipeline->then(object(Closure))
Illuminate\Routing\Router->runRouteWithinStack(object(Illuminate\Routing\Route), object(Illuminate\Http\Request))
Illuminate\Routing\Router->runRoute(object(Illuminate\Http\Request), object(Illuminate\Routing\Route))
Illuminate\Routing\Router->dispatchToRoute(object(Illuminate\Http\Request))
Illuminate\Routing\Router->dispatch(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Kernel->Illuminate\Foundation\Http\{closure}(object(Illuminate\Http\Request))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Livewire\Features\SupportDisablingBackButtonCache\DisableBackButtonCacheMiddleware->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Http\Middleware\TrustProxies->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Foundation\Http\Middleware\ConvertEmptyStringsToNull->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Middleware\TransformsRequest->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Foundation\Http\Middleware\TrimStrings->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Http\Middleware\ValidatePostSize->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Middleware\PreventRequestsDuringMaintenance->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Http\Middleware\HandleCors->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Http\Middleware\TrustProxies->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Middleware\InvokeDeferredCallbacks->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Http\Middleware\ValidatePathEncoding->handle(object(Illuminate\Http\Request), object(Closure))
Illuminate\Pipeline\Pipeline->Illuminate\Pipeline\{closure}(object(Illuminate\Http\Request))
Illuminate\Pipeline\Pipeline->then(object(Closure))
Illuminate\Foundation\Http\Kernel->sendRequestThroughRouter(object(Illuminate\Http\Request))
Illuminate\Foundation\Http\Kernel->handle(object(Illuminate\Http\Request))
Illuminate\Foundation\Application->handleRequest(object(Illuminate\Http\Request))
html/index.php
15
16// Bootstrap Laravel and handle the request...
17/** @var Application $app */
18$app = require_once __DIR__.'/../bootstrap/app.php';
19
20$app->handleRequest(Request::capture());
21
{
"any": "tfo.org/single/product/trailer-slug/GP709882"
}
Illuminate\Http\Client\Response {#374 // app/Services/ApiDataService.php:162 #response: GuzzleHttp\Psr7\Response {#410 -reasonPhrase: "Internal Server Error" -statusCode: 500 -headers: array:7 [ "Access-Control-Allow-Origin" => array:1 [ 0 => "*" ] "Cache-Control" => array:1 [ 0 => "no-cache, private" ] "Content-Type" => array:1 [ 0 => "text/html; charset=UTF-8" ] "Date" => array:1 [ 0 => "Tue, 23 Jun 2026 14:33:02 GMT" ] "Server" => array:1 [ 0 => "nginx/1.25.3" ] "X-Powered-By" => array:1 [ 0 => "PHP/8.3.4" ] "Transfer-Encoding" => array:1 [ 0 => "chunked" ] ] -headerNames: array:7 [ "access-control-allow-origin" => "Access-Control-Allow-Origin" "cache-control" => "Cache-Control" "content-type" => "Content-Type" "date" => "Date" "server" => "Server" "x-powered-by" => "X-Powered-By" "transfer-encoding" => "Transfer-Encoding" ] -protocol: "1.1" -stream: GuzzleHttp\Psr7\Stream {#406 -stream: stream resource @518 : "PHP" : "TEMP" : "w+b" : 0 : true : "php://temp" : [] } -size: null -seekable: true -readable: true -writable: true -uri: "php://temp" -customMetadata: [] } } #decoded: null #decodingFlags: ? int +cookies: GuzzleHttp\Cookie\CookieJar {#392 -cookies: [] -strictMode: false } +transferStats: GuzzleHttp\TransferStats {#411 -request: GuzzleHttp\Psr7\Request {#397 -method: "GET" -requestTarget: null -uri: GuzzleHttp\Psr7\Uri {#393 -scheme: "https" -userInfo: "" -host: "cms-universel.tfo.beta.lesaffranchis.ca" -port: null -path: "/api/tfo.org/single/product/trailer-slug/GP709882" -query: "" -fragment: "" -composedComponents: "https://cms-universel.tfo.beta.lesaffranchis.ca/api/tfo.org/single/product/trailer-slug/GP709882" } -headers: array:2 [ "User-Agent" => array:1 [ 0 => "GuzzleHttp/7" ] "Host" => array:1 [ 0 => "cms-universel.tfo.beta.lesaffranchis.ca" ] ] -headerNames: array:2 [ "user-agent" => "User-Agent" "host" => "Host" ] -protocol: "1.1" -stream: GuzzleHttp\Psr7\Stream {#396 -stream: stream resource @508 : "PHP" : "TEMP" : "w+b" : 0 : true : "php://temp" : [] } -size: 0 -seekable: true -readable: true -writable: true -uri: "php://temp" -customMetadata: [] } } -response: GuzzleHttp\Psr7\Response {#410} -transferTime: 8.877816 -handlerStats: array:41 [ "url" => "https://cms-universel.tfo.beta.lesaffranchis.ca/api/tfo.org/single/product/trailer-slug/GP709882" "content_type" => "text/html; charset=UTF-8" "http_code" => 500 "header_size" => 256 "request_size" => 139 "filetime" => -1 "ssl_verify_result" => 0 "redirect_count" => 0 "total_time" => 8.877816 "namelookup_time" => 0.001388 "connect_time" => 0.005113 "pretransfer_time" => 0.104401 "size_upload" => 0.0 "size_download" => 1359659.0 "speed_download" => 153152.0 "speed_upload" => 0.0 "download_content_length" => -1.0 "upload_content_length" => 0.0 "starttransfer_time" => 8.843649 "redirect_time" => 0.0 "redirect_url" => "" "primary_ip" => "54.235.143.92" "certinfo" => [] "primary_port" => 443 "local_ip" => "172.20.0.25" "local_port" => 51294 "http_version" => 2 "protocol" => 2 "ssl_verifyresult" => 0 "scheme" => "HTTPS" "appconnect_time_us" => 104342 "connect_time_us" => 5113 "namelookup_time_us" => 1388 "pretransfer_time_us" => 104401 "redirect_time_us" => 0 "starttransfer_time_us" => 8843649 "total_time_us" => 8877816 "effective_method" => "GET" "capath" => "/etc/ssl/certs" "cainfo" => "/etc/ssl/certs/ca-certificates.crt" "appconnect_time" => 0.104342 ] -handlerErrorData: 0 } #truncateExceptionsAt: null }