import 'package:freezed_annotation/freezed_annotation.dart'; import 'package:superport/core/utils/equipment_status_converter.dart'; part 'equipment_request.freezed.dart'; part 'equipment_request.g.dart'; @freezed class CreateEquipmentRequest with _$CreateEquipmentRequest { const factory CreateEquipmentRequest({ @JsonKey(name: 'equipment_number') required String equipmentNumber, String? category1, String? category2, String? category3, required String manufacturer, @JsonKey(name: 'model_name') String? modelName, @JsonKey(name: 'serial_number') String? serialNumber, @JsonKey(name: 'purchase_date') DateTime? purchaseDate, @JsonKey(name: 'purchase_price') double? purchasePrice, String? remark, }) = _CreateEquipmentRequest; factory CreateEquipmentRequest.fromJson(Map json) => _$CreateEquipmentRequestFromJson(json); } @freezed class UpdateEquipmentRequest with _$UpdateEquipmentRequest { const factory UpdateEquipmentRequest({ String? category1, String? category2, String? category3, String? manufacturer, @JsonKey(name: 'model_name') String? modelName, @JsonKey(name: 'serial_number') String? serialNumber, String? barcode, @JsonKey(name: 'purchase_date') DateTime? purchaseDate, @JsonKey(name: 'purchase_price') double? purchasePrice, @EquipmentStatusJsonConverter() String? status, @JsonKey(name: 'current_company_id') int? currentCompanyId, @JsonKey(name: 'current_branch_id') int? currentBranchId, @JsonKey(name: 'warehouse_location_id') int? warehouseLocationId, @JsonKey(name: 'last_inspection_date') DateTime? lastInspectionDate, @JsonKey(name: 'next_inspection_date') DateTime? nextInspectionDate, String? remark, }) = _UpdateEquipmentRequest; factory UpdateEquipmentRequest.fromJson(Map json) => _$UpdateEquipmentRequestFromJson(json); }