Paillasse/portail/app/Models/LabSession.php

52 lines
1.2 KiB
PHP
Raw Normal View History

<?php
namespace App\Models;
use Illuminate\Database\Eloquent\Factories\HasFactory;
use Illuminate\Database\Eloquent\Model;
use Illuminate\Database\Eloquent\Relations\BelongsTo;
use Illuminate\Database\Eloquent\Relations\HasMany;
class LabSession extends Model
{
use HasFactory;
public const EN_ATTENTE = 'en_attente';
// Admis par le prof : CreerStackLab est dispatché, la stack Heat se construit.
public const ADMIS = 'admis';
// Stack CREATE_COMPLETE : les VM existent, les terminaux peuvent s'ouvrir.
public const ACTIF = 'actif';
public const TERMINE = 'termine';
public const EXPIRE = 'expire';
protected $fillable = ['seance_id', 'eleve_id', 'lab_id', 'heat_stack_id', 'heat_stack_name', 'etat', 'expire_a'];
protected $casts = [
'expire_a' => 'datetime',
];
public function seance(): BelongsTo
{
return $this->belongsTo(Seance::class);
}
public function eleve(): BelongsTo
{
return $this->belongsTo(Eleve::class);
}
public function lab(): BelongsTo
{
return $this->belongsTo(Lab::class);
}
public function machines(): HasMany
{
return $this->hasMany(LabSessionMachine::class);
}
}