*/ use HasFactory, SoftDeletes; use HasRoles; use Notifiable; use TwoFactorAuthenticatable; public function restrictedPermissions(): \Illuminate\Database\Eloquent\Relations\BelongsToMany { return $this->belongsToMany( \Spatie\Permission\Models\Permission::class, 'restricted_user_permissions', 'user_id', 'permission_id' )->withPivot('role_id')->withTimestamps(); } /** * Get the user's initials */ public function initials(): string { return Str::of($this->name) ->explode(' ') ->take(2) ->map(fn ($word) => Str::substr($word, 0, 1)) ->implode(''); } /** * Get the attributes that should be cast. * * @return array */ protected function casts(): array { return [ 'email_verified_at' => 'datetime', 'password' => 'hashed', ]; } public function outlookToken(): HasOne { return $this->hasOne(OutlookToken::class); } }