/// Represents a terminal session in the IT0 system.
class TerminalSession {
  final String id;
  final String? serverId;
  final String? serverName;
  final DateTime? connectedAt;
  final String status; // connected, disconnected

  const TerminalSession({
    required this.id,
    this.serverId,
    this.serverName,
    this.connectedAt,
    required this.status,
  });

  TerminalSession copyWith({
    String? id,
    String? serverId,
    String? serverName,
    DateTime? connectedAt,
    String? status,
  }) {
    return TerminalSession(
      id: id ?? this.id,
      serverId: serverId ?? this.serverId,
      serverName: serverName ?? this.serverName,
      connectedAt: connectedAt ?? this.connectedAt,
      status: status ?? this.status,
    );
  }
}
