35 lines
888 B
PHP
35 lines
888 B
PHP
|
|
<?php
|
||
|
|
|
||
|
|
namespace App\Models;
|
||
|
|
|
||
|
|
use Illuminate\Database\Eloquent\Model;
|
||
|
|
use Illuminate\Support\Facades\Hash;
|
||
|
|
|
||
|
|
class AppUser extends Model
|
||
|
|
{
|
||
|
|
protected $fillable = ['email', 'surname', 'firstname', 'password', 'activated', 'role', 'authorizedFolders'];
|
||
|
|
|
||
|
|
public static function boot()
|
||
|
|
{
|
||
|
|
parent::boot();
|
||
|
|
|
||
|
|
self::creating(function ($model) {
|
||
|
|
$model->password = Hash::make($model->password);
|
||
|
|
$model->authorizedFolders = json_encode([]);
|
||
|
|
});
|
||
|
|
|
||
|
|
self::updating(function ($model) {
|
||
|
|
$model->password = $model->password !== null ? Hash::make($model->password) : $model->getOriginal('password');
|
||
|
|
});
|
||
|
|
|
||
|
|
static::deleting(function ($model) {
|
||
|
|
$model->contacts()->delete();
|
||
|
|
});
|
||
|
|
}
|
||
|
|
|
||
|
|
public function contacts()
|
||
|
|
{
|
||
|
|
return $this->hasMany(Contacts::class, 'user_id', 'id');
|
||
|
|
}
|
||
|
|
}
|