import 'package:json_annotation/json_annotation.dart';
import 'package:krow/core/data/models/staff/full_address_model.dart';
import 'package:krow/features/shifts/data/models/event.dart';
import 'package:krow/features/shifts/data/models/shift_contact.dart';

part 'event_shift.g.dart';

@JsonSerializable(fieldRename: FieldRename.snake)
class Shift {
  String? id;
  String? name;
  String? address;
  FullAddress? fullAddress;
  List<Contact>? contacts;
  Event? event;

  Shift({
    this.id,
    this.name,
    this.address,
    this.event,
    this.contacts,
    this.fullAddress,
  });

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

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