*/ use HasFactory, Notifiable, HasRoles, LogsActivity; /** * The attributes that are mass assignable. * * @var list */ protected $fillable = [ 'name', 'email', 'username', 'password', ]; /** * The attributes that should be hidden for serialization. * * @var list */ protected $hidden = [ 'password', 'remember_token', ]; /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function getActivitylogOptions(): LogOptions { return LogOptions::defaults() ->logAll() ->logOnlyDirty() ->dontSubmitEmptyLogs(); } public function tapActivity(\Spatie\Activitylog\Contracts\Activity $activity, string $eventName) { $activity->properties = $activity->properties->merge([ 'snapshot' => [ 'name' => $this->name, 'username' => $this->username, ] ]); } }