import 'package:freezed_annotation/freezed_annotation.dart';
import 'package:krow/core/data/models/event/event_model.dart';
import 'package:krow/core/sevices/create_event_service/data/models/create_event_shift_input_model.dart';

part 'create_event_input_model.g.dart';

@JsonSerializable(fieldRename: FieldRename.snake)
class CreateEventInputModel {
  final String? id;
  final String name;
  final String date;
  final String hubId;

  // final String? contractId;
  final String? purchaseOrder;
  final EventContractType contractType;
  final String? additionalInfo;
  final List<String>? tags;
  final List<String>? addons;
  final List<CreateEventShiftInputModel>? shifts;

  CreateEventInputModel(
      {this.id,
      required this.name,
      required this.date,
      required this.hubId,
      // required this.contractId,
      required this.purchaseOrder,
      required this.contractType,
      required this.additionalInfo,
      required this.tags,
      required this.addons,
      required this.shifts});

  factory CreateEventInputModel.fromJson(Map<String, dynamic> json) {
    return _$CreateEventInputModelFromJson(json);
  }

  Map<String, dynamic> toJson() => _$CreateEventInputModelToJson(this);
}
