import 'package:syncrow_web/pages/spaces_management/all_spaces/model/space_model.dart';

class Connection {
  final SpaceModel startSpace;
  final SpaceModel endSpace;

  Connection({
    required this.startSpace,
    required this.endSpace,
  });

  Map<String, dynamic> toMap() {
    return {
      'startUuid': startSpace.uuid ??
          'unsaved-start-space-${startSpace.name}', // Fallback for unsaved spaces
      'endUuid': endSpace.uuid ??
          'unsaved-end-space-${endSpace.name}', // Fallback for unsaved spaces
    };
  }

  static Connection fromMap(
      Map<String, dynamic> map, Map<String, SpaceModel> spaces) {
    return Connection(
      startSpace: spaces[map['startUuid']]!,
      endSpace: spaces[map['endUuid']]!,
    );
  }
}
