Paillasse/portail/app/Console/Commands/EnregistrerDeploiementLti.php

39 lines
1.1 KiB
PHP
Raw Permalink Normal View History

<?php
namespace App\Console\Commands;
use App\Models\LtiDeploiement;
use App\Models\LtiPlateforme;
use Illuminate\Console\Command;
/**
* Enregistre un déploiement (V2, LTI 1.3) : Moodle en crée un chaque fois
* que l'outil est ajouté à un cours, affiché dans la configuration de
* l'activité. Un lancement dont le déploiement n'est pas enregistré est
* refusé.
*/
class EnregistrerDeploiementLti extends Command
{
protected $signature = 'lti:enregistrer-deploiement {plateforme_id} {deployment_id}';
protected $description = 'Enregistre un déploiement Moodle (ajout de l’outil à un cours)';
public function handle(): void
{
$plateforme = LtiPlateforme::find($this->argument('plateforme_id'));
if ($plateforme === null) {
$this->error('Plateforme introuvable.');
return;
}
LtiDeploiement::create([
'lti_plateforme_id' => $plateforme->id,
'deployment_id' => $this->argument('deployment_id'),
]);
$this->info('Déploiement enregistré.');
}
}