34 lines
1.0 KiB
PHP
34 lines
1.0 KiB
PHP
<?php
|
|
|
|
namespace App\Models;
|
|
|
|
use Illuminate\Database\Eloquent\Model;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsTo;
|
|
use Illuminate\Database\Eloquent\Relations\BelongsToMany;
|
|
use Illuminate\Database\Eloquent\Relations\HasMany;
|
|
use Illuminate\Database\Eloquent\Relations\HasOne;
|
|
use Illuminate\Database\Eloquent\SoftDeletes;
|
|
|
|
/** Copie locale d'un utilisateur Entra (alimentée par la synchro Graph, jamais modifiée à la main). */
|
|
class DirectoryUser extends Model
|
|
{
|
|
use SoftDeletes;
|
|
|
|
protected $guarded = ['id'];
|
|
|
|
protected function casts(): array
|
|
{
|
|
return ['account_enabled' => 'boolean', 'synced_at' => 'datetime'];
|
|
}
|
|
|
|
public function tenant(): BelongsTo { return $this->belongsTo(Tenant::class); }
|
|
|
|
public function groups(): BelongsToMany
|
|
{
|
|
return $this->belongsToMany(DirectoryGroup::class, 'group_members');
|
|
}
|
|
|
|
public function overrides(): HasMany { return $this->hasMany(UserOverride::class); }
|
|
public function preference(): HasOne { return $this->hasOne(UserPreference::class); }
|
|
}
|