39 lines
1.1 KiB
PHP
39 lines
1.1 KiB
PHP
|
|
<?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é.');
|
|||
|
|
}
|
|||
|
|
}
|