Files
superport/lib/data/models/equipment/equipment_response.freezed.dart
JiWoong Sul f08b7fec79 fix: API 응답 파싱 오류 수정 및 에러 처리 개선
주요 변경사항:
- 창고 관리 API 응답 구조와 DTO 불일치 수정
  - WarehouseLocationDto에 code, manager_phone 필드 추가
  - RemoteDataSource에서 API 응답을 DTO 구조에 맞게 변환
- 회사 관리 API 응답 파싱 오류 수정
  - CompanyResponse의 필수 필드를 nullable로 변경
  - PaginatedResponse 구조 매핑 로직 개선
- 에러 처리 및 로깅 개선
  - Service Layer에 상세 에러 로깅 추가
  - Controller에서 에러 타입별 처리
- 새로운 유틸리티 추가
  - ResponseInterceptor: API 응답 정규화
  - DebugLogger: 디버깅 도구
  - HealthCheckService: 서버 상태 확인
- 문서화
  - API 통합 테스트 가이드
  - 에러 분석 보고서
  - 리팩토링 계획서
2025-07-31 19:15:39 +09:00

659 lines
24 KiB
Dart

// 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_response.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');
EquipmentResponse _$EquipmentResponseFromJson(Map<String, dynamic> json) {
return _EquipmentResponse.fromJson(json);
}
/// @nodoc
mixin _$EquipmentResponse {
int get id => throw _privateConstructorUsedError;
String get equipmentNumber => throw _privateConstructorUsedError;
String? get category1 => throw _privateConstructorUsedError;
String? get category2 => throw _privateConstructorUsedError;
String? get category3 => throw _privateConstructorUsedError;
String get manufacturer => throw _privateConstructorUsedError;
String? get modelName => throw _privateConstructorUsedError;
String? get serialNumber => throw _privateConstructorUsedError;
String? get barcode => throw _privateConstructorUsedError;
DateTime? get purchaseDate => throw _privateConstructorUsedError;
double? get purchasePrice => throw _privateConstructorUsedError;
@EquipmentStatusJsonConverter()
String get status => throw _privateConstructorUsedError;
int? get currentCompanyId => throw _privateConstructorUsedError;
int? get currentBranchId => throw _privateConstructorUsedError;
int? get warehouseLocationId => throw _privateConstructorUsedError;
DateTime? get lastInspectionDate => throw _privateConstructorUsedError;
DateTime? get nextInspectionDate => throw _privateConstructorUsedError;
String? get remark => throw _privateConstructorUsedError;
DateTime get createdAt => throw _privateConstructorUsedError;
DateTime get updatedAt =>
throw _privateConstructorUsedError; // 추가 필드 (조인된 데이터)
String? get companyName => throw _privateConstructorUsedError;
String? get branchName => throw _privateConstructorUsedError;
String? get warehouseName => throw _privateConstructorUsedError;
/// Serializes this EquipmentResponse to a JSON map.
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
/// Create a copy of EquipmentResponse
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
$EquipmentResponseCopyWith<EquipmentResponse> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class $EquipmentResponseCopyWith<$Res> {
factory $EquipmentResponseCopyWith(
EquipmentResponse value, $Res Function(EquipmentResponse) then) =
_$EquipmentResponseCopyWithImpl<$Res, EquipmentResponse>;
@useResult
$Res call(
{int id,
String equipmentNumber,
String? category1,
String? category2,
String? category3,
String manufacturer,
String? modelName,
String? serialNumber,
String? barcode,
DateTime? purchaseDate,
double? purchasePrice,
@EquipmentStatusJsonConverter() String status,
int? currentCompanyId,
int? currentBranchId,
int? warehouseLocationId,
DateTime? lastInspectionDate,
DateTime? nextInspectionDate,
String? remark,
DateTime createdAt,
DateTime updatedAt,
String? companyName,
String? branchName,
String? warehouseName});
}
/// @nodoc
class _$EquipmentResponseCopyWithImpl<$Res, $Val extends EquipmentResponse>
implements $EquipmentResponseCopyWith<$Res> {
_$EquipmentResponseCopyWithImpl(this._value, this._then);
// ignore: unused_field
final $Val _value;
// ignore: unused_field
final $Res Function($Val) _then;
/// Create a copy of EquipmentResponse
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? id = null,
Object? equipmentNumber = null,
Object? category1 = freezed,
Object? category2 = freezed,
Object? category3 = freezed,
Object? manufacturer = null,
Object? modelName = freezed,
Object? serialNumber = freezed,
Object? barcode = freezed,
Object? purchaseDate = freezed,
Object? purchasePrice = freezed,
Object? status = null,
Object? currentCompanyId = freezed,
Object? currentBranchId = freezed,
Object? warehouseLocationId = freezed,
Object? lastInspectionDate = freezed,
Object? nextInspectionDate = freezed,
Object? remark = freezed,
Object? createdAt = null,
Object? updatedAt = null,
Object? companyName = freezed,
Object? branchName = freezed,
Object? warehouseName = freezed,
}) {
return _then(_value.copyWith(
id: null == id
? _value.id
: id // ignore: cast_nullable_to_non_nullable
as int,
equipmentNumber: null == equipmentNumber
? _value.equipmentNumber
: equipmentNumber // ignore: cast_nullable_to_non_nullable
as String,
category1: freezed == category1
? _value.category1
: category1 // ignore: cast_nullable_to_non_nullable
as String?,
category2: freezed == category2
? _value.category2
: category2 // ignore: cast_nullable_to_non_nullable
as String?,
category3: freezed == category3
? _value.category3
: category3 // ignore: cast_nullable_to_non_nullable
as String?,
manufacturer: null == manufacturer
? _value.manufacturer
: manufacturer // ignore: cast_nullable_to_non_nullable
as String,
modelName: freezed == modelName
? _value.modelName
: modelName // ignore: cast_nullable_to_non_nullable
as String?,
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?,
purchaseDate: freezed == purchaseDate
? _value.purchaseDate
: purchaseDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
purchasePrice: freezed == purchasePrice
? _value.purchasePrice
: purchasePrice // ignore: cast_nullable_to_non_nullable
as double?,
status: null == status
? _value.status
: status // ignore: cast_nullable_to_non_nullable
as String,
currentCompanyId: freezed == currentCompanyId
? _value.currentCompanyId
: currentCompanyId // ignore: cast_nullable_to_non_nullable
as int?,
currentBranchId: freezed == currentBranchId
? _value.currentBranchId
: currentBranchId // ignore: cast_nullable_to_non_nullable
as int?,
warehouseLocationId: freezed == warehouseLocationId
? _value.warehouseLocationId
: warehouseLocationId // ignore: cast_nullable_to_non_nullable
as int?,
lastInspectionDate: freezed == lastInspectionDate
? _value.lastInspectionDate
: lastInspectionDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
nextInspectionDate: freezed == nextInspectionDate
? _value.nextInspectionDate
: nextInspectionDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
remark: freezed == remark
? _value.remark
: remark // ignore: cast_nullable_to_non_nullable
as String?,
createdAt: null == createdAt
? _value.createdAt
: createdAt // ignore: cast_nullable_to_non_nullable
as DateTime,
updatedAt: null == updatedAt
? _value.updatedAt
: updatedAt // ignore: cast_nullable_to_non_nullable
as DateTime,
companyName: freezed == companyName
? _value.companyName
: companyName // ignore: cast_nullable_to_non_nullable
as String?,
branchName: freezed == branchName
? _value.branchName
: branchName // ignore: cast_nullable_to_non_nullable
as String?,
warehouseName: freezed == warehouseName
? _value.warehouseName
: warehouseName // ignore: cast_nullable_to_non_nullable
as String?,
) as $Val);
}
}
/// @nodoc
abstract class _$$EquipmentResponseImplCopyWith<$Res>
implements $EquipmentResponseCopyWith<$Res> {
factory _$$EquipmentResponseImplCopyWith(_$EquipmentResponseImpl value,
$Res Function(_$EquipmentResponseImpl) then) =
__$$EquipmentResponseImplCopyWithImpl<$Res>;
@override
@useResult
$Res call(
{int id,
String equipmentNumber,
String? category1,
String? category2,
String? category3,
String manufacturer,
String? modelName,
String? serialNumber,
String? barcode,
DateTime? purchaseDate,
double? purchasePrice,
@EquipmentStatusJsonConverter() String status,
int? currentCompanyId,
int? currentBranchId,
int? warehouseLocationId,
DateTime? lastInspectionDate,
DateTime? nextInspectionDate,
String? remark,
DateTime createdAt,
DateTime updatedAt,
String? companyName,
String? branchName,
String? warehouseName});
}
/// @nodoc
class __$$EquipmentResponseImplCopyWithImpl<$Res>
extends _$EquipmentResponseCopyWithImpl<$Res, _$EquipmentResponseImpl>
implements _$$EquipmentResponseImplCopyWith<$Res> {
__$$EquipmentResponseImplCopyWithImpl(_$EquipmentResponseImpl _value,
$Res Function(_$EquipmentResponseImpl) _then)
: super(_value, _then);
/// Create a copy of EquipmentResponse
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? id = null,
Object? equipmentNumber = null,
Object? category1 = freezed,
Object? category2 = freezed,
Object? category3 = freezed,
Object? manufacturer = null,
Object? modelName = freezed,
Object? serialNumber = freezed,
Object? barcode = freezed,
Object? purchaseDate = freezed,
Object? purchasePrice = freezed,
Object? status = null,
Object? currentCompanyId = freezed,
Object? currentBranchId = freezed,
Object? warehouseLocationId = freezed,
Object? lastInspectionDate = freezed,
Object? nextInspectionDate = freezed,
Object? remark = freezed,
Object? createdAt = null,
Object? updatedAt = null,
Object? companyName = freezed,
Object? branchName = freezed,
Object? warehouseName = freezed,
}) {
return _then(_$EquipmentResponseImpl(
id: null == id
? _value.id
: id // ignore: cast_nullable_to_non_nullable
as int,
equipmentNumber: null == equipmentNumber
? _value.equipmentNumber
: equipmentNumber // ignore: cast_nullable_to_non_nullable
as String,
category1: freezed == category1
? _value.category1
: category1 // ignore: cast_nullable_to_non_nullable
as String?,
category2: freezed == category2
? _value.category2
: category2 // ignore: cast_nullable_to_non_nullable
as String?,
category3: freezed == category3
? _value.category3
: category3 // ignore: cast_nullable_to_non_nullable
as String?,
manufacturer: null == manufacturer
? _value.manufacturer
: manufacturer // ignore: cast_nullable_to_non_nullable
as String,
modelName: freezed == modelName
? _value.modelName
: modelName // ignore: cast_nullable_to_non_nullable
as String?,
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?,
purchaseDate: freezed == purchaseDate
? _value.purchaseDate
: purchaseDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
purchasePrice: freezed == purchasePrice
? _value.purchasePrice
: purchasePrice // ignore: cast_nullable_to_non_nullable
as double?,
status: null == status
? _value.status
: status // ignore: cast_nullable_to_non_nullable
as String,
currentCompanyId: freezed == currentCompanyId
? _value.currentCompanyId
: currentCompanyId // ignore: cast_nullable_to_non_nullable
as int?,
currentBranchId: freezed == currentBranchId
? _value.currentBranchId
: currentBranchId // ignore: cast_nullable_to_non_nullable
as int?,
warehouseLocationId: freezed == warehouseLocationId
? _value.warehouseLocationId
: warehouseLocationId // ignore: cast_nullable_to_non_nullable
as int?,
lastInspectionDate: freezed == lastInspectionDate
? _value.lastInspectionDate
: lastInspectionDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
nextInspectionDate: freezed == nextInspectionDate
? _value.nextInspectionDate
: nextInspectionDate // ignore: cast_nullable_to_non_nullable
as DateTime?,
remark: freezed == remark
? _value.remark
: remark // ignore: cast_nullable_to_non_nullable
as String?,
createdAt: null == createdAt
? _value.createdAt
: createdAt // ignore: cast_nullable_to_non_nullable
as DateTime,
updatedAt: null == updatedAt
? _value.updatedAt
: updatedAt // ignore: cast_nullable_to_non_nullable
as DateTime,
companyName: freezed == companyName
? _value.companyName
: companyName // ignore: cast_nullable_to_non_nullable
as String?,
branchName: freezed == branchName
? _value.branchName
: branchName // ignore: cast_nullable_to_non_nullable
as String?,
warehouseName: freezed == warehouseName
? _value.warehouseName
: warehouseName // ignore: cast_nullable_to_non_nullable
as String?,
));
}
}
/// @nodoc
@JsonSerializable()
class _$EquipmentResponseImpl implements _EquipmentResponse {
const _$EquipmentResponseImpl(
{required this.id,
required this.equipmentNumber,
this.category1,
this.category2,
this.category3,
required this.manufacturer,
this.modelName,
this.serialNumber,
this.barcode,
this.purchaseDate,
this.purchasePrice,
@EquipmentStatusJsonConverter() required this.status,
this.currentCompanyId,
this.currentBranchId,
this.warehouseLocationId,
this.lastInspectionDate,
this.nextInspectionDate,
this.remark,
required this.createdAt,
required this.updatedAt,
this.companyName,
this.branchName,
this.warehouseName});
factory _$EquipmentResponseImpl.fromJson(Map<String, dynamic> json) =>
_$$EquipmentResponseImplFromJson(json);
@override
final int id;
@override
final String equipmentNumber;
@override
final String? category1;
@override
final String? category2;
@override
final String? category3;
@override
final String manufacturer;
@override
final String? modelName;
@override
final String? serialNumber;
@override
final String? barcode;
@override
final DateTime? purchaseDate;
@override
final double? purchasePrice;
@override
@EquipmentStatusJsonConverter()
final String status;
@override
final int? currentCompanyId;
@override
final int? currentBranchId;
@override
final int? warehouseLocationId;
@override
final DateTime? lastInspectionDate;
@override
final DateTime? nextInspectionDate;
@override
final String? remark;
@override
final DateTime createdAt;
@override
final DateTime updatedAt;
// 추가 필드 (조인된 데이터)
@override
final String? companyName;
@override
final String? branchName;
@override
final String? warehouseName;
@override
String toString() {
return 'EquipmentResponse(id: $id, equipmentNumber: $equipmentNumber, category1: $category1, category2: $category2, category3: $category3, manufacturer: $manufacturer, modelName: $modelName, serialNumber: $serialNumber, barcode: $barcode, purchaseDate: $purchaseDate, purchasePrice: $purchasePrice, status: $status, currentCompanyId: $currentCompanyId, currentBranchId: $currentBranchId, warehouseLocationId: $warehouseLocationId, lastInspectionDate: $lastInspectionDate, nextInspectionDate: $nextInspectionDate, remark: $remark, createdAt: $createdAt, updatedAt: $updatedAt, companyName: $companyName, branchName: $branchName, warehouseName: $warehouseName)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$EquipmentResponseImpl &&
(identical(other.id, id) || other.id == id) &&
(identical(other.equipmentNumber, equipmentNumber) ||
other.equipmentNumber == equipmentNumber) &&
(identical(other.category1, category1) ||
other.category1 == category1) &&
(identical(other.category2, category2) ||
other.category2 == category2) &&
(identical(other.category3, category3) ||
other.category3 == category3) &&
(identical(other.manufacturer, manufacturer) ||
other.manufacturer == manufacturer) &&
(identical(other.modelName, modelName) ||
other.modelName == modelName) &&
(identical(other.serialNumber, serialNumber) ||
other.serialNumber == serialNumber) &&
(identical(other.barcode, barcode) || other.barcode == barcode) &&
(identical(other.purchaseDate, purchaseDate) ||
other.purchaseDate == purchaseDate) &&
(identical(other.purchasePrice, purchasePrice) ||
other.purchasePrice == purchasePrice) &&
(identical(other.status, status) || other.status == status) &&
(identical(other.currentCompanyId, currentCompanyId) ||
other.currentCompanyId == currentCompanyId) &&
(identical(other.currentBranchId, currentBranchId) ||
other.currentBranchId == currentBranchId) &&
(identical(other.warehouseLocationId, warehouseLocationId) ||
other.warehouseLocationId == warehouseLocationId) &&
(identical(other.lastInspectionDate, lastInspectionDate) ||
other.lastInspectionDate == lastInspectionDate) &&
(identical(other.nextInspectionDate, nextInspectionDate) ||
other.nextInspectionDate == nextInspectionDate) &&
(identical(other.remark, remark) || other.remark == remark) &&
(identical(other.createdAt, createdAt) ||
other.createdAt == createdAt) &&
(identical(other.updatedAt, updatedAt) ||
other.updatedAt == updatedAt) &&
(identical(other.companyName, companyName) ||
other.companyName == companyName) &&
(identical(other.branchName, branchName) ||
other.branchName == branchName) &&
(identical(other.warehouseName, warehouseName) ||
other.warehouseName == warehouseName));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hashAll([
runtimeType,
id,
equipmentNumber,
category1,
category2,
category3,
manufacturer,
modelName,
serialNumber,
barcode,
purchaseDate,
purchasePrice,
status,
currentCompanyId,
currentBranchId,
warehouseLocationId,
lastInspectionDate,
nextInspectionDate,
remark,
createdAt,
updatedAt,
companyName,
branchName,
warehouseName
]);
/// Create a copy of EquipmentResponse
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$EquipmentResponseImplCopyWith<_$EquipmentResponseImpl> get copyWith =>
__$$EquipmentResponseImplCopyWithImpl<_$EquipmentResponseImpl>(
this, _$identity);
@override
Map<String, dynamic> toJson() {
return _$$EquipmentResponseImplToJson(
this,
);
}
}
abstract class _EquipmentResponse implements EquipmentResponse {
const factory _EquipmentResponse(
{required final int id,
required final String equipmentNumber,
final String? category1,
final String? category2,
final String? category3,
required final String manufacturer,
final String? modelName,
final String? serialNumber,
final String? barcode,
final DateTime? purchaseDate,
final double? purchasePrice,
@EquipmentStatusJsonConverter() required final String status,
final int? currentCompanyId,
final int? currentBranchId,
final int? warehouseLocationId,
final DateTime? lastInspectionDate,
final DateTime? nextInspectionDate,
final String? remark,
required final DateTime createdAt,
required final DateTime updatedAt,
final String? companyName,
final String? branchName,
final String? warehouseName}) = _$EquipmentResponseImpl;
factory _EquipmentResponse.fromJson(Map<String, dynamic> json) =
_$EquipmentResponseImpl.fromJson;
@override
int get id;
@override
String get equipmentNumber;
@override
String? get category1;
@override
String? get category2;
@override
String? get category3;
@override
String get manufacturer;
@override
String? get modelName;
@override
String? get serialNumber;
@override
String? get barcode;
@override
DateTime? get purchaseDate;
@override
double? get purchasePrice;
@override
@EquipmentStatusJsonConverter()
String get status;
@override
int? get currentCompanyId;
@override
int? get currentBranchId;
@override
int? get warehouseLocationId;
@override
DateTime? get lastInspectionDate;
@override
DateTime? get nextInspectionDate;
@override
String? get remark;
@override
DateTime get createdAt;
@override
DateTime get updatedAt; // 추가 필드 (조인된 데이터)
@override
String? get companyName;
@override
String? get branchName;
@override
String? get warehouseName;
/// Create a copy of EquipmentResponse
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(includeFromJson: false, includeToJson: false)
_$$EquipmentResponseImplCopyWith<_$EquipmentResponseImpl> get copyWith =>
throw _privateConstructorUsedError;
}