// coverage:ignore-file
// GENERATED CODE - DO NOT MODIFY BY HAND
// ignore_for_file: type=lint
// ignore_for_file: unused_element, deprecated_member_use, deprecated_member_use_from_same_package, use_function_type_syntax_for_parameters, unnecessary_const, avoid_init_to_null, invalid_override_different_default_values_named, prefer_expression_function_bodies, annotate_overrides, invalid_annotation_target, unnecessary_question_mark

part of 'equipment_dto.dart';

// **************************************************************************
// FreezedGenerator
// **************************************************************************

T _$identity<T>(T value) => value;

final _privateConstructorUsedError = UnsupportedError(
    'It seems like you constructed your class using `MyClass._()`. This constructor is only meant to be used by freezed and you are not supposed to need it nor use it.\nPlease check the documentation here for more information: https://github.com/rrousselGit/freezed#adding-getters-and-methods-to-our-models');

EquipmentDto _$EquipmentDtoFromJson(Map<String, dynamic> json) {
  return _EquipmentDto.fromJson(json);
}

/// @nodoc
mixin _$EquipmentDto {
  int get id => throw _privateConstructorUsedError;
  @JsonKey(name: 'companies_id')
  int get companiesId => throw _privateConstructorUsedError;
  @JsonKey(name: 'company_name', includeToJson: false)
  String? get companyName =>
      throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
  @JsonKey(name: 'models_id')
  int get modelsId => throw _privateConstructorUsedError;
  @JsonKey(name: 'model_name', includeToJson: false)
  String? get modelName =>
      throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
  @JsonKey(name: 'vendor_name', includeToJson: false)
  String? get vendorName =>
      throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
  @JsonKey(name: 'warehouses_id')
  int? get warehousesId => throw _privateConstructorUsedError;
  @JsonKey(name: 'warehouses_name', includeToJson: false)
  String? get warehousesName =>
      throw _privateConstructorUsedError; // JOIN 필드 - 응답에서만 제공
  @JsonKey(name: 'serial_number')
  String get serialNumber => throw _privateConstructorUsedError;
  String? get barcode => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchased_at')
  DateTime? get purchasedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchase_price')
  int get purchasePrice => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_number')
  String get warrantyNumber => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_started_at')
  DateTime get warrantyStartedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_ended_at')
  DateTime get warrantyEndedAt => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;
  @JsonKey(name: 'is_deleted')
  bool get isDeleted => throw _privateConstructorUsedError;
  @JsonKey(name: 'registered_at')
  DateTime? get registeredAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt => throw _privateConstructorUsedError;

  /// Serializes this EquipmentDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of EquipmentDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $EquipmentDtoCopyWith<EquipmentDto> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $EquipmentDtoCopyWith<$Res> {
  factory $EquipmentDtoCopyWith(
          EquipmentDto value, $Res Function(EquipmentDto) then) =
      _$EquipmentDtoCopyWithImpl<$Res, EquipmentDto>;
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'companies_id') int companiesId,
      @JsonKey(name: 'company_name', includeToJson: false) String? companyName,
      @JsonKey(name: 'models_id') int modelsId,
      @JsonKey(name: 'model_name', includeToJson: false) String? modelName,
      @JsonKey(name: 'vendor_name', includeToJson: false) String? vendorName,
      @JsonKey(name: 'warehouses_id') int? warehousesId,
      @JsonKey(name: 'warehouses_name', includeToJson: false)
      String? warehousesName,
      @JsonKey(name: 'serial_number') String serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') int purchasePrice,
      @JsonKey(name: 'warranty_number') String warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime warrantyEndedAt,
      String? remark,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'registered_at') DateTime? registeredAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class _$EquipmentDtoCopyWithImpl<$Res, $Val extends EquipmentDto>
    implements $EquipmentDtoCopyWith<$Res> {
  _$EquipmentDtoCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of EquipmentDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? companiesId = null,
    Object? companyName = freezed,
    Object? modelsId = null,
    Object? modelName = freezed,
    Object? vendorName = freezed,
    Object? warehousesId = freezed,
    Object? warehousesName = freezed,
    Object? serialNumber = null,
    Object? barcode = freezed,
    Object? purchasedAt = freezed,
    Object? purchasePrice = null,
    Object? warrantyNumber = null,
    Object? warrantyStartedAt = null,
    Object? warrantyEndedAt = null,
    Object? remark = freezed,
    Object? isDeleted = null,
    Object? registeredAt = freezed,
    Object? updatedAt = freezed,
  }) {
    return _then(_value.copyWith(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      companiesId: null == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      modelsId: null == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendorName: freezed == vendorName
          ? _value.vendorName
          : vendorName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehousesId: freezed == warehousesId
          ? _value.warehousesId
          : warehousesId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehousesName: freezed == warehousesName
          ? _value.warehousesName
          : warehousesName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: null == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: freezed == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: null == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int,
      warrantyNumber: null == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String,
      warrantyStartedAt: null == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      warrantyEndedAt: null == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      registeredAt: freezed == registeredAt
          ? _value.registeredAt
          : registeredAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentDtoImplCopyWith<$Res>
    implements $EquipmentDtoCopyWith<$Res> {
  factory _$$EquipmentDtoImplCopyWith(
          _$EquipmentDtoImpl value, $Res Function(_$EquipmentDtoImpl) then) =
      __$$EquipmentDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {int id,
      @JsonKey(name: 'companies_id') int companiesId,
      @JsonKey(name: 'company_name', includeToJson: false) String? companyName,
      @JsonKey(name: 'models_id') int modelsId,
      @JsonKey(name: 'model_name', includeToJson: false) String? modelName,
      @JsonKey(name: 'vendor_name', includeToJson: false) String? vendorName,
      @JsonKey(name: 'warehouses_id') int? warehousesId,
      @JsonKey(name: 'warehouses_name', includeToJson: false)
      String? warehousesName,
      @JsonKey(name: 'serial_number') String serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') int purchasePrice,
      @JsonKey(name: 'warranty_number') String warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime warrantyEndedAt,
      String? remark,
      @JsonKey(name: 'is_deleted') bool isDeleted,
      @JsonKey(name: 'registered_at') DateTime? registeredAt,
      @JsonKey(name: 'updated_at') DateTime? updatedAt});
}

/// @nodoc
class __$$EquipmentDtoImplCopyWithImpl<$Res>
    extends _$EquipmentDtoCopyWithImpl<$Res, _$EquipmentDtoImpl>
    implements _$$EquipmentDtoImplCopyWith<$Res> {
  __$$EquipmentDtoImplCopyWithImpl(
      _$EquipmentDtoImpl _value, $Res Function(_$EquipmentDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? id = null,
    Object? companiesId = null,
    Object? companyName = freezed,
    Object? modelsId = null,
    Object? modelName = freezed,
    Object? vendorName = freezed,
    Object? warehousesId = freezed,
    Object? warehousesName = freezed,
    Object? serialNumber = null,
    Object? barcode = freezed,
    Object? purchasedAt = freezed,
    Object? purchasePrice = null,
    Object? warrantyNumber = null,
    Object? warrantyStartedAt = null,
    Object? warrantyEndedAt = null,
    Object? remark = freezed,
    Object? isDeleted = null,
    Object? registeredAt = freezed,
    Object? updatedAt = freezed,
  }) {
    return _then(_$EquipmentDtoImpl(
      id: null == id
          ? _value.id
          : id // ignore: cast_nullable_to_non_nullable
              as int,
      companiesId: null == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int,
      companyName: freezed == companyName
          ? _value.companyName
          : companyName // ignore: cast_nullable_to_non_nullable
              as String?,
      modelsId: null == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int,
      modelName: freezed == modelName
          ? _value.modelName
          : modelName // ignore: cast_nullable_to_non_nullable
              as String?,
      vendorName: freezed == vendorName
          ? _value.vendorName
          : vendorName // ignore: cast_nullable_to_non_nullable
              as String?,
      warehousesId: freezed == warehousesId
          ? _value.warehousesId
          : warehousesId // ignore: cast_nullable_to_non_nullable
              as int?,
      warehousesName: freezed == warehousesName
          ? _value.warehousesName
          : warehousesName // ignore: cast_nullable_to_non_nullable
              as String?,
      serialNumber: null == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: freezed == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: null == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int,
      warrantyNumber: null == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String,
      warrantyStartedAt: null == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      warrantyEndedAt: null == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
      isDeleted: null == isDeleted
          ? _value.isDeleted
          : isDeleted // ignore: cast_nullable_to_non_nullable
              as bool,
      registeredAt: freezed == registeredAt
          ? _value.registeredAt
          : registeredAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      updatedAt: freezed == updatedAt
          ? _value.updatedAt
          : updatedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentDtoImpl extends _EquipmentDto {
  const _$EquipmentDtoImpl(
      {required this.id,
      @JsonKey(name: 'companies_id') required this.companiesId,
      @JsonKey(name: 'company_name', includeToJson: false) this.companyName,
      @JsonKey(name: 'models_id') required this.modelsId,
      @JsonKey(name: 'model_name', includeToJson: false) this.modelName,
      @JsonKey(name: 'vendor_name', includeToJson: false) this.vendorName,
      @JsonKey(name: 'warehouses_id') this.warehousesId,
      @JsonKey(name: 'warehouses_name', includeToJson: false)
      this.warehousesName,
      @JsonKey(name: 'serial_number') required this.serialNumber,
      this.barcode,
      @JsonKey(name: 'purchased_at') this.purchasedAt,
      @JsonKey(name: 'purchase_price') this.purchasePrice = 0,
      @JsonKey(name: 'warranty_number') required this.warrantyNumber,
      @JsonKey(name: 'warranty_started_at') required this.warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') required this.warrantyEndedAt,
      this.remark,
      @JsonKey(name: 'is_deleted') this.isDeleted = false,
      @JsonKey(name: 'registered_at') this.registeredAt,
      @JsonKey(name: 'updated_at') this.updatedAt})
      : super._();

  factory _$EquipmentDtoImpl.fromJson(Map<String, dynamic> json) =>
      _$$EquipmentDtoImplFromJson(json);

  @override
  final int id;
  @override
  @JsonKey(name: 'companies_id')
  final int companiesId;
  @override
  @JsonKey(name: 'company_name', includeToJson: false)
  final String? companyName;
// JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'models_id')
  final int modelsId;
  @override
  @JsonKey(name: 'model_name', includeToJson: false)
  final String? modelName;
// JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'vendor_name', includeToJson: false)
  final String? vendorName;
// JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'warehouses_id')
  final int? warehousesId;
  @override
  @JsonKey(name: 'warehouses_name', includeToJson: false)
  final String? warehousesName;
// JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'serial_number')
  final String serialNumber;
  @override
  final String? barcode;
  @override
  @JsonKey(name: 'purchased_at')
  final DateTime? purchasedAt;
  @override
  @JsonKey(name: 'purchase_price')
  final int purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  final String warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  final DateTime warrantyStartedAt;
  @override
  @JsonKey(name: 'warranty_ended_at')
  final DateTime warrantyEndedAt;
  @override
  final String? remark;
  @override
  @JsonKey(name: 'is_deleted')
  final bool isDeleted;
  @override
  @JsonKey(name: 'registered_at')
  final DateTime? registeredAt;
  @override
  @JsonKey(name: 'updated_at')
  final DateTime? updatedAt;

  @override
  String toString() {
    return 'EquipmentDto(id: $id, companiesId: $companiesId, companyName: $companyName, modelsId: $modelsId, modelName: $modelName, vendorName: $vendorName, warehousesId: $warehousesId, warehousesName: $warehousesName, serialNumber: $serialNumber, barcode: $barcode, purchasedAt: $purchasedAt, purchasePrice: $purchasePrice, warrantyNumber: $warrantyNumber, warrantyStartedAt: $warrantyStartedAt, warrantyEndedAt: $warrantyEndedAt, remark: $remark, isDeleted: $isDeleted, registeredAt: $registeredAt, updatedAt: $updatedAt)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentDtoImpl &&
            (identical(other.id, id) || other.id == id) &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId) &&
            (identical(other.companyName, companyName) ||
                other.companyName == companyName) &&
            (identical(other.modelsId, modelsId) ||
                other.modelsId == modelsId) &&
            (identical(other.modelName, modelName) ||
                other.modelName == modelName) &&
            (identical(other.vendorName, vendorName) ||
                other.vendorName == vendorName) &&
            (identical(other.warehousesId, warehousesId) ||
                other.warehousesId == warehousesId) &&
            (identical(other.warehousesName, warehousesName) ||
                other.warehousesName == warehousesName) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.barcode, barcode) || other.barcode == barcode) &&
            (identical(other.purchasedAt, purchasedAt) ||
                other.purchasedAt == purchasedAt) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.warrantyNumber, warrantyNumber) ||
                other.warrantyNumber == warrantyNumber) &&
            (identical(other.warrantyStartedAt, warrantyStartedAt) ||
                other.warrantyStartedAt == warrantyStartedAt) &&
            (identical(other.warrantyEndedAt, warrantyEndedAt) ||
                other.warrantyEndedAt == warrantyEndedAt) &&
            (identical(other.remark, remark) || other.remark == remark) &&
            (identical(other.isDeleted, isDeleted) ||
                other.isDeleted == isDeleted) &&
            (identical(other.registeredAt, registeredAt) ||
                other.registeredAt == registeredAt) &&
            (identical(other.updatedAt, updatedAt) ||
                other.updatedAt == updatedAt));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hashAll([
        runtimeType,
        id,
        companiesId,
        companyName,
        modelsId,
        modelName,
        vendorName,
        warehousesId,
        warehousesName,
        serialNumber,
        barcode,
        purchasedAt,
        purchasePrice,
        warrantyNumber,
        warrantyStartedAt,
        warrantyEndedAt,
        remark,
        isDeleted,
        registeredAt,
        updatedAt
      ]);

  /// Create a copy of EquipmentDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$EquipmentDtoImplCopyWith<_$EquipmentDtoImpl> get copyWith =>
      __$$EquipmentDtoImplCopyWithImpl<_$EquipmentDtoImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$EquipmentDtoImplToJson(
      this,
    );
  }
}

abstract class _EquipmentDto extends EquipmentDto {
  const factory _EquipmentDto(
      {required final int id,
      @JsonKey(name: 'companies_id') required final int companiesId,
      @JsonKey(name: 'company_name', includeToJson: false)
      final String? companyName,
      @JsonKey(name: 'models_id') required final int modelsId,
      @JsonKey(name: 'model_name', includeToJson: false)
      final String? modelName,
      @JsonKey(name: 'vendor_name', includeToJson: false)
      final String? vendorName,
      @JsonKey(name: 'warehouses_id') final int? warehousesId,
      @JsonKey(name: 'warehouses_name', includeToJson: false)
      final String? warehousesName,
      @JsonKey(name: 'serial_number') required final String serialNumber,
      final String? barcode,
      @JsonKey(name: 'purchased_at') final DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') final int purchasePrice,
      @JsonKey(name: 'warranty_number') required final String warrantyNumber,
      @JsonKey(name: 'warranty_started_at')
      required final DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at')
      required final DateTime warrantyEndedAt,
      final String? remark,
      @JsonKey(name: 'is_deleted') final bool isDeleted,
      @JsonKey(name: 'registered_at') final DateTime? registeredAt,
      @JsonKey(name: 'updated_at')
      final DateTime? updatedAt}) = _$EquipmentDtoImpl;
  const _EquipmentDto._() : super._();

  factory _EquipmentDto.fromJson(Map<String, dynamic> json) =
      _$EquipmentDtoImpl.fromJson;

  @override
  int get id;
  @override
  @JsonKey(name: 'companies_id')
  int get companiesId;
  @override
  @JsonKey(name: 'company_name', includeToJson: false)
  String? get companyName; // JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'models_id')
  int get modelsId;
  @override
  @JsonKey(name: 'model_name', includeToJson: false)
  String? get modelName; // JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'vendor_name', includeToJson: false)
  String? get vendorName; // JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'warehouses_id')
  int? get warehousesId;
  @override
  @JsonKey(name: 'warehouses_name', includeToJson: false)
  String? get warehousesName; // JOIN 필드 - 응답에서만 제공
  @override
  @JsonKey(name: 'serial_number')
  String get serialNumber;
  @override
  String? get barcode;
  @override
  @JsonKey(name: 'purchased_at')
  DateTime? get purchasedAt;
  @override
  @JsonKey(name: 'purchase_price')
  int get purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  String get warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  DateTime get warrantyStartedAt;
  @override
  @JsonKey(name: 'warranty_ended_at')
  DateTime get warrantyEndedAt;
  @override
  String? get remark;
  @override
  @JsonKey(name: 'is_deleted')
  bool get isDeleted;
  @override
  @JsonKey(name: 'registered_at')
  DateTime? get registeredAt;
  @override
  @JsonKey(name: 'updated_at')
  DateTime? get updatedAt;

  /// Create a copy of EquipmentDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$EquipmentDtoImplCopyWith<_$EquipmentDtoImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

EquipmentRequestDto _$EquipmentRequestDtoFromJson(Map<String, dynamic> json) {
  return _EquipmentRequestDto.fromJson(json);
}

/// @nodoc
mixin _$EquipmentRequestDto {
  @JsonKey(name: 'companies_id')
  int? get companiesId =>
      throw _privateConstructorUsedError; // 백엔드: Option<i32>
  @JsonKey(name: 'models_id')
  int? get modelsId => throw _privateConstructorUsedError; // 백엔드: Option<i32>
  @JsonKey(name: 'serial_number')
  String get serialNumber => throw _privateConstructorUsedError;
  String? get barcode => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchased_at')
  DateTime get purchasedAt =>
      throw _privateConstructorUsedError; // UTC로 미리 변환해서 전달
  @JsonKey(name: 'purchase_price')
  int get purchasePrice => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_number')
  String get warrantyNumber => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_started_at')
  DateTime get warrantyStartedAt =>
      throw _privateConstructorUsedError; // UTC로 미리 변환해서 전달
  @JsonKey(name: 'warranty_ended_at')
  DateTime get warrantyEndedAt =>
      throw _privateConstructorUsedError; // UTC로 미리 변환해서 전달
  String? get remark => throw _privateConstructorUsedError;

  /// Serializes this EquipmentRequestDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of EquipmentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $EquipmentRequestDtoCopyWith<EquipmentRequestDto> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $EquipmentRequestDtoCopyWith<$Res> {
  factory $EquipmentRequestDtoCopyWith(
          EquipmentRequestDto value, $Res Function(EquipmentRequestDto) then) =
      _$EquipmentRequestDtoCopyWithImpl<$Res, EquipmentRequestDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'companies_id') int? companiesId,
      @JsonKey(name: 'models_id') int? modelsId,
      @JsonKey(name: 'serial_number') String serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime purchasedAt,
      @JsonKey(name: 'purchase_price') int purchasePrice,
      @JsonKey(name: 'warranty_number') String warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime warrantyEndedAt,
      String? remark});
}

/// @nodoc
class _$EquipmentRequestDtoCopyWithImpl<$Res, $Val extends EquipmentRequestDto>
    implements $EquipmentRequestDtoCopyWith<$Res> {
  _$EquipmentRequestDtoCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of EquipmentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? companiesId = freezed,
    Object? modelsId = freezed,
    Object? serialNumber = null,
    Object? barcode = freezed,
    Object? purchasedAt = null,
    Object? purchasePrice = null,
    Object? warrantyNumber = null,
    Object? warrantyStartedAt = null,
    Object? warrantyEndedAt = null,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      companiesId: freezed == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int?,
      modelsId: freezed == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int?,
      serialNumber: null == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: null == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      purchasePrice: null == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int,
      warrantyNumber: null == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String,
      warrantyStartedAt: null == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      warrantyEndedAt: null == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentRequestDtoImplCopyWith<$Res>
    implements $EquipmentRequestDtoCopyWith<$Res> {
  factory _$$EquipmentRequestDtoImplCopyWith(_$EquipmentRequestDtoImpl value,
          $Res Function(_$EquipmentRequestDtoImpl) then) =
      __$$EquipmentRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'companies_id') int? companiesId,
      @JsonKey(name: 'models_id') int? modelsId,
      @JsonKey(name: 'serial_number') String serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime purchasedAt,
      @JsonKey(name: 'purchase_price') int purchasePrice,
      @JsonKey(name: 'warranty_number') String warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime warrantyEndedAt,
      String? remark});
}

/// @nodoc
class __$$EquipmentRequestDtoImplCopyWithImpl<$Res>
    extends _$EquipmentRequestDtoCopyWithImpl<$Res, _$EquipmentRequestDtoImpl>
    implements _$$EquipmentRequestDtoImplCopyWith<$Res> {
  __$$EquipmentRequestDtoImplCopyWithImpl(_$EquipmentRequestDtoImpl _value,
      $Res Function(_$EquipmentRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? companiesId = freezed,
    Object? modelsId = freezed,
    Object? serialNumber = null,
    Object? barcode = freezed,
    Object? purchasedAt = null,
    Object? purchasePrice = null,
    Object? warrantyNumber = null,
    Object? warrantyStartedAt = null,
    Object? warrantyEndedAt = null,
    Object? remark = freezed,
  }) {
    return _then(_$EquipmentRequestDtoImpl(
      companiesId: freezed == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int?,
      modelsId: freezed == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int?,
      serialNumber: null == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: null == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      purchasePrice: null == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int,
      warrantyNumber: null == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String,
      warrantyStartedAt: null == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      warrantyEndedAt: null == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentRequestDtoImpl implements _EquipmentRequestDto {
  const _$EquipmentRequestDtoImpl(
      {@JsonKey(name: 'companies_id') this.companiesId,
      @JsonKey(name: 'models_id') this.modelsId,
      @JsonKey(name: 'serial_number') required this.serialNumber,
      this.barcode,
      @JsonKey(name: 'purchased_at') required this.purchasedAt,
      @JsonKey(name: 'purchase_price') this.purchasePrice = 0,
      @JsonKey(name: 'warranty_number') required this.warrantyNumber,
      @JsonKey(name: 'warranty_started_at') required this.warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') required this.warrantyEndedAt,
      this.remark});

  factory _$EquipmentRequestDtoImpl.fromJson(Map<String, dynamic> json) =>
      _$$EquipmentRequestDtoImplFromJson(json);

  @override
  @JsonKey(name: 'companies_id')
  final int? companiesId;
// 백엔드: Option<i32>
  @override
  @JsonKey(name: 'models_id')
  final int? modelsId;
// 백엔드: Option<i32>
  @override
  @JsonKey(name: 'serial_number')
  final String serialNumber;
  @override
  final String? barcode;
  @override
  @JsonKey(name: 'purchased_at')
  final DateTime purchasedAt;
// UTC로 미리 변환해서 전달
  @override
  @JsonKey(name: 'purchase_price')
  final int purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  final String warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  final DateTime warrantyStartedAt;
// UTC로 미리 변환해서 전달
  @override
  @JsonKey(name: 'warranty_ended_at')
  final DateTime warrantyEndedAt;
// UTC로 미리 변환해서 전달
  @override
  final String? remark;

  @override
  String toString() {
    return 'EquipmentRequestDto(companiesId: $companiesId, modelsId: $modelsId, serialNumber: $serialNumber, barcode: $barcode, purchasedAt: $purchasedAt, purchasePrice: $purchasePrice, warrantyNumber: $warrantyNumber, warrantyStartedAt: $warrantyStartedAt, warrantyEndedAt: $warrantyEndedAt, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentRequestDtoImpl &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId) &&
            (identical(other.modelsId, modelsId) ||
                other.modelsId == modelsId) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.barcode, barcode) || other.barcode == barcode) &&
            (identical(other.purchasedAt, purchasedAt) ||
                other.purchasedAt == purchasedAt) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.warrantyNumber, warrantyNumber) ||
                other.warrantyNumber == warrantyNumber) &&
            (identical(other.warrantyStartedAt, warrantyStartedAt) ||
                other.warrantyStartedAt == warrantyStartedAt) &&
            (identical(other.warrantyEndedAt, warrantyEndedAt) ||
                other.warrantyEndedAt == warrantyEndedAt) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      companiesId,
      modelsId,
      serialNumber,
      barcode,
      purchasedAt,
      purchasePrice,
      warrantyNumber,
      warrantyStartedAt,
      warrantyEndedAt,
      remark);

  /// Create a copy of EquipmentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$EquipmentRequestDtoImplCopyWith<_$EquipmentRequestDtoImpl> get copyWith =>
      __$$EquipmentRequestDtoImplCopyWithImpl<_$EquipmentRequestDtoImpl>(
          this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$EquipmentRequestDtoImplToJson(
      this,
    );
  }
}

abstract class _EquipmentRequestDto implements EquipmentRequestDto {
  const factory _EquipmentRequestDto(
      {@JsonKey(name: 'companies_id') final int? companiesId,
      @JsonKey(name: 'models_id') final int? modelsId,
      @JsonKey(name: 'serial_number') required final String serialNumber,
      final String? barcode,
      @JsonKey(name: 'purchased_at') required final DateTime purchasedAt,
      @JsonKey(name: 'purchase_price') final int purchasePrice,
      @JsonKey(name: 'warranty_number') required final String warrantyNumber,
      @JsonKey(name: 'warranty_started_at')
      required final DateTime warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at')
      required final DateTime warrantyEndedAt,
      final String? remark}) = _$EquipmentRequestDtoImpl;

  factory _EquipmentRequestDto.fromJson(Map<String, dynamic> json) =
      _$EquipmentRequestDtoImpl.fromJson;

  @override
  @JsonKey(name: 'companies_id')
  int? get companiesId; // 백엔드: Option<i32>
  @override
  @JsonKey(name: 'models_id')
  int? get modelsId; // 백엔드: Option<i32>
  @override
  @JsonKey(name: 'serial_number')
  String get serialNumber;
  @override
  String? get barcode;
  @override
  @JsonKey(name: 'purchased_at')
  DateTime get purchasedAt; // UTC로 미리 변환해서 전달
  @override
  @JsonKey(name: 'purchase_price')
  int get purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  String get warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  DateTime get warrantyStartedAt; // UTC로 미리 변환해서 전달
  @override
  @JsonKey(name: 'warranty_ended_at')
  DateTime get warrantyEndedAt; // UTC로 미리 변환해서 전달
  @override
  String? get remark;

  /// Create a copy of EquipmentRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$EquipmentRequestDtoImplCopyWith<_$EquipmentRequestDtoImpl> get copyWith =>
      throw _privateConstructorUsedError;
}

EquipmentUpdateRequestDto _$EquipmentUpdateRequestDtoFromJson(
    Map<String, dynamic> json) {
  return _EquipmentUpdateRequestDto.fromJson(json);
}

/// @nodoc
mixin _$EquipmentUpdateRequestDto {
  @JsonKey(name: 'companies_id')
  int? get companiesId => throw _privateConstructorUsedError;
  @JsonKey(name: 'models_id')
  int? get modelsId => throw _privateConstructorUsedError;
  @JsonKey(name: 'serial_number')
  String? get serialNumber => throw _privateConstructorUsedError;
  String? get barcode => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchased_at')
  DateTime? get purchasedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'purchase_price')
  int? get purchasePrice => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_number')
  String? get warrantyNumber => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_started_at')
  DateTime? get warrantyStartedAt => throw _privateConstructorUsedError;
  @JsonKey(name: 'warranty_ended_at')
  DateTime? get warrantyEndedAt => throw _privateConstructorUsedError;
  String? get remark => throw _privateConstructorUsedError;

  /// Serializes this EquipmentUpdateRequestDto to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of EquipmentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $EquipmentUpdateRequestDtoCopyWith<EquipmentUpdateRequestDto> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $EquipmentUpdateRequestDtoCopyWith<$Res> {
  factory $EquipmentUpdateRequestDtoCopyWith(EquipmentUpdateRequestDto value,
          $Res Function(EquipmentUpdateRequestDto) then) =
      _$EquipmentUpdateRequestDtoCopyWithImpl<$Res, EquipmentUpdateRequestDto>;
  @useResult
  $Res call(
      {@JsonKey(name: 'companies_id') int? companiesId,
      @JsonKey(name: 'models_id') int? modelsId,
      @JsonKey(name: 'serial_number') String? serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') int? purchasePrice,
      @JsonKey(name: 'warranty_number') String? warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime? warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime? warrantyEndedAt,
      String? remark});
}

/// @nodoc
class _$EquipmentUpdateRequestDtoCopyWithImpl<$Res,
        $Val extends EquipmentUpdateRequestDto>
    implements $EquipmentUpdateRequestDtoCopyWith<$Res> {
  _$EquipmentUpdateRequestDtoCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of EquipmentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? companiesId = freezed,
    Object? modelsId = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchasedAt = freezed,
    Object? purchasePrice = freezed,
    Object? warrantyNumber = freezed,
    Object? warrantyStartedAt = freezed,
    Object? warrantyEndedAt = freezed,
    Object? remark = freezed,
  }) {
    return _then(_value.copyWith(
      companiesId: freezed == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int?,
      modelsId: freezed == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: freezed == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int?,
      warrantyNumber: freezed == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      warrantyStartedAt: freezed == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      warrantyEndedAt: freezed == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentUpdateRequestDtoImplCopyWith<$Res>
    implements $EquipmentUpdateRequestDtoCopyWith<$Res> {
  factory _$$EquipmentUpdateRequestDtoImplCopyWith(
          _$EquipmentUpdateRequestDtoImpl value,
          $Res Function(_$EquipmentUpdateRequestDtoImpl) then) =
      __$$EquipmentUpdateRequestDtoImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'companies_id') int? companiesId,
      @JsonKey(name: 'models_id') int? modelsId,
      @JsonKey(name: 'serial_number') String? serialNumber,
      String? barcode,
      @JsonKey(name: 'purchased_at') DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') int? purchasePrice,
      @JsonKey(name: 'warranty_number') String? warrantyNumber,
      @JsonKey(name: 'warranty_started_at') DateTime? warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') DateTime? warrantyEndedAt,
      String? remark});
}

/// @nodoc
class __$$EquipmentUpdateRequestDtoImplCopyWithImpl<$Res>
    extends _$EquipmentUpdateRequestDtoCopyWithImpl<$Res,
        _$EquipmentUpdateRequestDtoImpl>
    implements _$$EquipmentUpdateRequestDtoImplCopyWith<$Res> {
  __$$EquipmentUpdateRequestDtoImplCopyWithImpl(
      _$EquipmentUpdateRequestDtoImpl _value,
      $Res Function(_$EquipmentUpdateRequestDtoImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? companiesId = freezed,
    Object? modelsId = freezed,
    Object? serialNumber = freezed,
    Object? barcode = freezed,
    Object? purchasedAt = freezed,
    Object? purchasePrice = freezed,
    Object? warrantyNumber = freezed,
    Object? warrantyStartedAt = freezed,
    Object? warrantyEndedAt = freezed,
    Object? remark = freezed,
  }) {
    return _then(_$EquipmentUpdateRequestDtoImpl(
      companiesId: freezed == companiesId
          ? _value.companiesId
          : companiesId // ignore: cast_nullable_to_non_nullable
              as int?,
      modelsId: freezed == modelsId
          ? _value.modelsId
          : modelsId // ignore: cast_nullable_to_non_nullable
              as int?,
      serialNumber: freezed == serialNumber
          ? _value.serialNumber
          : serialNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      barcode: freezed == barcode
          ? _value.barcode
          : barcode // ignore: cast_nullable_to_non_nullable
              as String?,
      purchasedAt: freezed == purchasedAt
          ? _value.purchasedAt
          : purchasedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      purchasePrice: freezed == purchasePrice
          ? _value.purchasePrice
          : purchasePrice // ignore: cast_nullable_to_non_nullable
              as int?,
      warrantyNumber: freezed == warrantyNumber
          ? _value.warrantyNumber
          : warrantyNumber // ignore: cast_nullable_to_non_nullable
              as String?,
      warrantyStartedAt: freezed == warrantyStartedAt
          ? _value.warrantyStartedAt
          : warrantyStartedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      warrantyEndedAt: freezed == warrantyEndedAt
          ? _value.warrantyEndedAt
          : warrantyEndedAt // ignore: cast_nullable_to_non_nullable
              as DateTime?,
      remark: freezed == remark
          ? _value.remark
          : remark // ignore: cast_nullable_to_non_nullable
              as String?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentUpdateRequestDtoImpl implements _EquipmentUpdateRequestDto {
  const _$EquipmentUpdateRequestDtoImpl(
      {@JsonKey(name: 'companies_id') this.companiesId,
      @JsonKey(name: 'models_id') this.modelsId,
      @JsonKey(name: 'serial_number') this.serialNumber,
      this.barcode,
      @JsonKey(name: 'purchased_at') this.purchasedAt,
      @JsonKey(name: 'purchase_price') this.purchasePrice,
      @JsonKey(name: 'warranty_number') this.warrantyNumber,
      @JsonKey(name: 'warranty_started_at') this.warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') this.warrantyEndedAt,
      this.remark});

  factory _$EquipmentUpdateRequestDtoImpl.fromJson(Map<String, dynamic> json) =>
      _$$EquipmentUpdateRequestDtoImplFromJson(json);

  @override
  @JsonKey(name: 'companies_id')
  final int? companiesId;
  @override
  @JsonKey(name: 'models_id')
  final int? modelsId;
  @override
  @JsonKey(name: 'serial_number')
  final String? serialNumber;
  @override
  final String? barcode;
  @override
  @JsonKey(name: 'purchased_at')
  final DateTime? purchasedAt;
  @override
  @JsonKey(name: 'purchase_price')
  final int? purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  final String? warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  final DateTime? warrantyStartedAt;
  @override
  @JsonKey(name: 'warranty_ended_at')
  final DateTime? warrantyEndedAt;
  @override
  final String? remark;

  @override
  String toString() {
    return 'EquipmentUpdateRequestDto(companiesId: $companiesId, modelsId: $modelsId, serialNumber: $serialNumber, barcode: $barcode, purchasedAt: $purchasedAt, purchasePrice: $purchasePrice, warrantyNumber: $warrantyNumber, warrantyStartedAt: $warrantyStartedAt, warrantyEndedAt: $warrantyEndedAt, remark: $remark)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentUpdateRequestDtoImpl &&
            (identical(other.companiesId, companiesId) ||
                other.companiesId == companiesId) &&
            (identical(other.modelsId, modelsId) ||
                other.modelsId == modelsId) &&
            (identical(other.serialNumber, serialNumber) ||
                other.serialNumber == serialNumber) &&
            (identical(other.barcode, barcode) || other.barcode == barcode) &&
            (identical(other.purchasedAt, purchasedAt) ||
                other.purchasedAt == purchasedAt) &&
            (identical(other.purchasePrice, purchasePrice) ||
                other.purchasePrice == purchasePrice) &&
            (identical(other.warrantyNumber, warrantyNumber) ||
                other.warrantyNumber == warrantyNumber) &&
            (identical(other.warrantyStartedAt, warrantyStartedAt) ||
                other.warrantyStartedAt == warrantyStartedAt) &&
            (identical(other.warrantyEndedAt, warrantyEndedAt) ||
                other.warrantyEndedAt == warrantyEndedAt) &&
            (identical(other.remark, remark) || other.remark == remark));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      companiesId,
      modelsId,
      serialNumber,
      barcode,
      purchasedAt,
      purchasePrice,
      warrantyNumber,
      warrantyStartedAt,
      warrantyEndedAt,
      remark);

  /// Create a copy of EquipmentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$EquipmentUpdateRequestDtoImplCopyWith<_$EquipmentUpdateRequestDtoImpl>
      get copyWith => __$$EquipmentUpdateRequestDtoImplCopyWithImpl<
          _$EquipmentUpdateRequestDtoImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$EquipmentUpdateRequestDtoImplToJson(
      this,
    );
  }
}

abstract class _EquipmentUpdateRequestDto implements EquipmentUpdateRequestDto {
  const factory _EquipmentUpdateRequestDto(
      {@JsonKey(name: 'companies_id') final int? companiesId,
      @JsonKey(name: 'models_id') final int? modelsId,
      @JsonKey(name: 'serial_number') final String? serialNumber,
      final String? barcode,
      @JsonKey(name: 'purchased_at') final DateTime? purchasedAt,
      @JsonKey(name: 'purchase_price') final int? purchasePrice,
      @JsonKey(name: 'warranty_number') final String? warrantyNumber,
      @JsonKey(name: 'warranty_started_at') final DateTime? warrantyStartedAt,
      @JsonKey(name: 'warranty_ended_at') final DateTime? warrantyEndedAt,
      final String? remark}) = _$EquipmentUpdateRequestDtoImpl;

  factory _EquipmentUpdateRequestDto.fromJson(Map<String, dynamic> json) =
      _$EquipmentUpdateRequestDtoImpl.fromJson;

  @override
  @JsonKey(name: 'companies_id')
  int? get companiesId;
  @override
  @JsonKey(name: 'models_id')
  int? get modelsId;
  @override
  @JsonKey(name: 'serial_number')
  String? get serialNumber;
  @override
  String? get barcode;
  @override
  @JsonKey(name: 'purchased_at')
  DateTime? get purchasedAt;
  @override
  @JsonKey(name: 'purchase_price')
  int? get purchasePrice;
  @override
  @JsonKey(name: 'warranty_number')
  String? get warrantyNumber;
  @override
  @JsonKey(name: 'warranty_started_at')
  DateTime? get warrantyStartedAt;
  @override
  @JsonKey(name: 'warranty_ended_at')
  DateTime? get warrantyEndedAt;
  @override
  String? get remark;

  /// Create a copy of EquipmentUpdateRequestDto
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$EquipmentUpdateRequestDtoImplCopyWith<_$EquipmentUpdateRequestDtoImpl>
      get copyWith => throw _privateConstructorUsedError;
}

EquipmentListResponse _$EquipmentListResponseFromJson(
    Map<String, dynamic> json) {
  return _EquipmentListResponse.fromJson(json);
}

/// @nodoc
mixin _$EquipmentListResponse {
  @JsonKey(name: 'data')
  List<EquipmentDto> get items => throw _privateConstructorUsedError;
  @JsonKey(name: 'total')
  int get totalCount => throw _privateConstructorUsedError;
  @JsonKey(name: 'page')
  int get currentPage => throw _privateConstructorUsedError;
  @JsonKey(name: 'total_pages')
  int get totalPages => throw _privateConstructorUsedError;
  @JsonKey(name: 'page_size')
  int? get pageSize => throw _privateConstructorUsedError;

  /// Serializes this EquipmentListResponse to a JSON map.
  Map<String, dynamic> toJson() => throw _privateConstructorUsedError;

  /// Create a copy of EquipmentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  $EquipmentListResponseCopyWith<EquipmentListResponse> get copyWith =>
      throw _privateConstructorUsedError;
}

/// @nodoc
abstract class $EquipmentListResponseCopyWith<$Res> {
  factory $EquipmentListResponseCopyWith(EquipmentListResponse value,
          $Res Function(EquipmentListResponse) then) =
      _$EquipmentListResponseCopyWithImpl<$Res, EquipmentListResponse>;
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<EquipmentDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class _$EquipmentListResponseCopyWithImpl<$Res,
        $Val extends EquipmentListResponse>
    implements $EquipmentListResponseCopyWith<$Res> {
  _$EquipmentListResponseCopyWithImpl(this._value, this._then);

  // ignore: unused_field
  final $Val _value;
  // ignore: unused_field
  final $Res Function($Val) _then;

  /// Create a copy of EquipmentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_value.copyWith(
      items: null == items
          ? _value.items
          : items // ignore: cast_nullable_to_non_nullable
              as List<EquipmentDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ) as $Val);
  }
}

/// @nodoc
abstract class _$$EquipmentListResponseImplCopyWith<$Res>
    implements $EquipmentListResponseCopyWith<$Res> {
  factory _$$EquipmentListResponseImplCopyWith(
          _$EquipmentListResponseImpl value,
          $Res Function(_$EquipmentListResponseImpl) then) =
      __$$EquipmentListResponseImplCopyWithImpl<$Res>;
  @override
  @useResult
  $Res call(
      {@JsonKey(name: 'data') List<EquipmentDto> items,
      @JsonKey(name: 'total') int totalCount,
      @JsonKey(name: 'page') int currentPage,
      @JsonKey(name: 'total_pages') int totalPages,
      @JsonKey(name: 'page_size') int? pageSize});
}

/// @nodoc
class __$$EquipmentListResponseImplCopyWithImpl<$Res>
    extends _$EquipmentListResponseCopyWithImpl<$Res,
        _$EquipmentListResponseImpl>
    implements _$$EquipmentListResponseImplCopyWith<$Res> {
  __$$EquipmentListResponseImplCopyWithImpl(_$EquipmentListResponseImpl _value,
      $Res Function(_$EquipmentListResponseImpl) _then)
      : super(_value, _then);

  /// Create a copy of EquipmentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @pragma('vm:prefer-inline')
  @override
  $Res call({
    Object? items = null,
    Object? totalCount = null,
    Object? currentPage = null,
    Object? totalPages = null,
    Object? pageSize = freezed,
  }) {
    return _then(_$EquipmentListResponseImpl(
      items: null == items
          ? _value._items
          : items // ignore: cast_nullable_to_non_nullable
              as List<EquipmentDto>,
      totalCount: null == totalCount
          ? _value.totalCount
          : totalCount // ignore: cast_nullable_to_non_nullable
              as int,
      currentPage: null == currentPage
          ? _value.currentPage
          : currentPage // ignore: cast_nullable_to_non_nullable
              as int,
      totalPages: null == totalPages
          ? _value.totalPages
          : totalPages // ignore: cast_nullable_to_non_nullable
              as int,
      pageSize: freezed == pageSize
          ? _value.pageSize
          : pageSize // ignore: cast_nullable_to_non_nullable
              as int?,
    ));
  }
}

/// @nodoc
@JsonSerializable()
class _$EquipmentListResponseImpl implements _EquipmentListResponse {
  const _$EquipmentListResponseImpl(
      {@JsonKey(name: 'data') required final List<EquipmentDto> items,
      @JsonKey(name: 'total') required this.totalCount,
      @JsonKey(name: 'page') required this.currentPage,
      @JsonKey(name: 'total_pages') required this.totalPages,
      @JsonKey(name: 'page_size') this.pageSize})
      : _items = items;

  factory _$EquipmentListResponseImpl.fromJson(Map<String, dynamic> json) =>
      _$$EquipmentListResponseImplFromJson(json);

  final List<EquipmentDto> _items;
  @override
  @JsonKey(name: 'data')
  List<EquipmentDto> get items {
    if (_items is EqualUnmodifiableListView) return _items;
    // ignore: implicit_dynamic_type
    return EqualUnmodifiableListView(_items);
  }

  @override
  @JsonKey(name: 'total')
  final int totalCount;
  @override
  @JsonKey(name: 'page')
  final int currentPage;
  @override
  @JsonKey(name: 'total_pages')
  final int totalPages;
  @override
  @JsonKey(name: 'page_size')
  final int? pageSize;

  @override
  String toString() {
    return 'EquipmentListResponse(items: $items, totalCount: $totalCount, currentPage: $currentPage, totalPages: $totalPages, pageSize: $pageSize)';
  }

  @override
  bool operator ==(Object other) {
    return identical(this, other) ||
        (other.runtimeType == runtimeType &&
            other is _$EquipmentListResponseImpl &&
            const DeepCollectionEquality().equals(other._items, _items) &&
            (identical(other.totalCount, totalCount) ||
                other.totalCount == totalCount) &&
            (identical(other.currentPage, currentPage) ||
                other.currentPage == currentPage) &&
            (identical(other.totalPages, totalPages) ||
                other.totalPages == totalPages) &&
            (identical(other.pageSize, pageSize) ||
                other.pageSize == pageSize));
  }

  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  int get hashCode => Object.hash(
      runtimeType,
      const DeepCollectionEquality().hash(_items),
      totalCount,
      currentPage,
      totalPages,
      pageSize);

  /// Create a copy of EquipmentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @JsonKey(includeFromJson: false, includeToJson: false)
  @override
  @pragma('vm:prefer-inline')
  _$$EquipmentListResponseImplCopyWith<_$EquipmentListResponseImpl>
      get copyWith => __$$EquipmentListResponseImplCopyWithImpl<
          _$EquipmentListResponseImpl>(this, _$identity);

  @override
  Map<String, dynamic> toJson() {
    return _$$EquipmentListResponseImplToJson(
      this,
    );
  }
}

abstract class _EquipmentListResponse implements EquipmentListResponse {
  const factory _EquipmentListResponse(
          {@JsonKey(name: 'data') required final List<EquipmentDto> items,
          @JsonKey(name: 'total') required final int totalCount,
          @JsonKey(name: 'page') required final int currentPage,
          @JsonKey(name: 'total_pages') required final int totalPages,
          @JsonKey(name: 'page_size') final int? pageSize}) =
      _$EquipmentListResponseImpl;

  factory _EquipmentListResponse.fromJson(Map<String, dynamic> json) =
      _$EquipmentListResponseImpl.fromJson;

  @override
  @JsonKey(name: 'data')
  List<EquipmentDto> get items;
  @override
  @JsonKey(name: 'total')
  int get totalCount;
  @override
  @JsonKey(name: 'page')
  int get currentPage;
  @override
  @JsonKey(name: 'total_pages')
  int get totalPages;
  @override
  @JsonKey(name: 'page_size')
  int? get pageSize;

  /// Create a copy of EquipmentListResponse
  /// with the given fields replaced by the non-null parameter values.
  @override
  @JsonKey(includeFromJson: false, includeToJson: false)
  _$$EquipmentListResponseImplCopyWith<_$EquipmentListResponseImpl>
      get copyWith => throw _privateConstructorUsedError;
}
