where('client_id', $clientId); } $plateforme = $requete->first(); if ($plateforme === null) { return null; } return LtiRegistration::new([ 'issuer' => $plateforme->emetteur, 'clientId' => $plateforme->client_id, 'keySetUrl' => $plateforme->url_jeu_cles, 'authTokenUrl' => $plateforme->url_jeton_auth, 'authLoginUrl' => $plateforme->url_connexion_auth, 'authServer' => $plateforme->serveur_auth, 'toolPrivateKey' => $plateforme->cle_privee_outil, 'kid' => $plateforme->identifiant_cle, ]); } public function findDeployment(string $iss, string $deploymentId, ?string $clientId = null): ?ILtiDeployment { $requete = LtiDeploiement::where('deployment_id', $deploymentId) ->whereHas('plateforme', function ($q) use ($iss, $clientId) { $q->where('emetteur', $iss); if ($clientId !== null) { $q->where('client_id', $clientId); } }); $deploiement = $requete->first(); return $deploiement === null ? null : LtiDeployment::new($deploiement->deployment_id); } }