belongsTo(self::class, 'parent_id'); } public function children(): HasMany { return $this->hasMany(self::class, 'parent_id'); } public function users(): BelongsToMany { return $this->belongsToMany(User::class, 'user_server_permissions') ->withPivot(['can_ssh', 'can_sftp', 'can_rdp']) ->withTimestamps(); } public function accessLogs(): HasMany { return $this->hasMany(AccessLog::class); } protected function casts(): array { return [ 'protocols' => 'array', 'is_active' => 'boolean', ]; } }