import 'package:test_sa/models/base.dart';
import 'package:test_sa/models/new_models/assigned_employee.dart';

// int? id;
//   String? userId;
//   DateTime? startDate;
//   DateTime? endDate;
//   int? workingHours;
//   String? technicalComment;

class AssistantEmployees extends Base {
  String? userId;

  AssistantEmployees({
    this.id,
    this.user,
    this.userId,
  }) : super(name: user?.name, identifier: user?.id);

  AssistantEmployees.fromJson(dynamic json) {
    id = json['id'];
    user = json['user'] != null ? AssignedEmployee.fromJson(json['user']) : null;
    name = user?.name;
    userId = user?.id;
    identifier = user?.id;
  }

  num? id; // Now nullable
  AssignedEmployee? user; // Now nullable

  AssistantEmployees copyWith({
    num? id, // Parameter is now nullable
    AssignedEmployee? user, // Parameter is now nullable
  }) =>
      AssistantEmployees(
        id: id ?? this.id,
        user: user ?? this.user,
      );

  Map<String, dynamic> toJson() {
    final map = <String, dynamic>{};
    map['id'] = id;
    if (user != null) {
      map['user'] = user?.toJson(); // Use '?.' to handle potential null
    }
    return map;
  }
}
