e5e6f72f92
- CI/CD Gitea Actions: ci.yml (Pint + PHPUnit), deploy.yml (déploiement SSH) - Suppression de l'ancien workflow GitHub cassé - En-têtes de sécurité: ajout CSP et Permissions-Policy - RGPD: droit à l'effacement (anonymisation du compte) + tests - Correctifs: ForceHttps hors env testing, timestamps du modèle Utilisateur, suppression des migrations en doublon (migrate échouait sur base neuve) - Qualité: formatage Laravel Pint sur l'ensemble du code - Documentation dossier technique (docs/) + .docx + .pptx Co-Authored-By: Claude Opus 4.8 <noreply@anthropic.com>
49 lines
1.1 KiB
PHP
49 lines
1.1 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
|
|
class Activite extends Model
|
|
{
|
|
protected $primaryKey = 'ID_Instance';
|
|
|
|
protected $table = 'activites';
|
|
|
|
public $incrementing = true;
|
|
|
|
public $timestamps = false;
|
|
|
|
protected $fillable = [
|
|
'DateDebut',
|
|
'DateFin',
|
|
'ID_Utilisateur_Hote',
|
|
'ID_Ressource',
|
|
];
|
|
|
|
protected $casts = [
|
|
'DateDebut' => 'datetime',
|
|
'DateFin' => 'datetime',
|
|
];
|
|
|
|
public function hote()
|
|
{
|
|
return $this->belongsTo(Utilisateur::class, 'ID_Utilisateur_Hote', 'ID_Utilisateur');
|
|
}
|
|
|
|
public function ressource()
|
|
{
|
|
return $this->belongsTo(Ressource::class, 'ID_Ressource', 'ID_Ressource');
|
|
}
|
|
|
|
public function messages()
|
|
{
|
|
return $this->hasMany(ActiviteMessage::class, 'ID_Instance', 'ID_Instance');
|
|
}
|
|
|
|
public function participants()
|
|
{
|
|
return $this->belongsToMany(Utilisateur::class, 'activite_participants', 'ID_Instance', 'ID_Utilisateur_Participant', 'ID_Instance', 'ID_Utilisateur');
|
|
}
|
|
}
|