Files
superport/lib/data/models/dashboard/overview_stats.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

566 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 'overview_stats.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');
OverviewStats _$OverviewStatsFromJson(Map<String, dynamic> json) {
return _OverviewStats.fromJson(json);
}
/// @nodoc
mixin _$OverviewStats {
@JsonKey(name: 'total_companies')
int get totalCompanies => throw _privateConstructorUsedError;
@JsonKey(name: 'active_companies')
int get activeCompanies => throw _privateConstructorUsedError;
@JsonKey(name: 'total_users')
int get totalUsers => throw _privateConstructorUsedError;
@JsonKey(name: 'active_users')
int get activeUsers => throw _privateConstructorUsedError;
@JsonKey(name: 'total_equipment')
int get totalEquipment => throw _privateConstructorUsedError;
@JsonKey(name: 'available_equipment')
int get availableEquipment => throw _privateConstructorUsedError;
@JsonKey(name: 'in_use_equipment')
int get inUseEquipment => throw _privateConstructorUsedError;
@JsonKey(name: 'maintenance_equipment')
int get maintenanceEquipment => throw _privateConstructorUsedError;
@JsonKey(name: 'total_licenses')
int get totalLicenses => throw _privateConstructorUsedError;
@JsonKey(name: 'active_licenses')
int get activeLicenses => throw _privateConstructorUsedError;
@JsonKey(name: 'expiring_licenses_count')
int get expiringLicensesCount => throw _privateConstructorUsedError;
@JsonKey(name: 'expired_licenses_count')
int get expiredLicensesCount => throw _privateConstructorUsedError;
@JsonKey(name: 'total_warehouse_locations')
int get totalWarehouseLocations => throw _privateConstructorUsedError;
@JsonKey(name: 'active_warehouse_locations')
int get activeWarehouseLocations =>
throw _privateConstructorUsedError; // 다음 필드들은 백엔드에 없으므로 선택적으로 만듭니다
@JsonKey(name: 'total_rentals', defaultValue: 0)
int? get totalRentals => throw _privateConstructorUsedError;
@JsonKey(name: 'active_rentals', defaultValue: 0)
int? get activeRentals => throw _privateConstructorUsedError;
/// Serializes this OverviewStats to a JSON map.
Map<String, dynamic> toJson() => throw _privateConstructorUsedError;
/// Create a copy of OverviewStats
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
$OverviewStatsCopyWith<OverviewStats> get copyWith =>
throw _privateConstructorUsedError;
}
/// @nodoc
abstract class $OverviewStatsCopyWith<$Res> {
factory $OverviewStatsCopyWith(
OverviewStats value, $Res Function(OverviewStats) then) =
_$OverviewStatsCopyWithImpl<$Res, OverviewStats>;
@useResult
$Res call(
{@JsonKey(name: 'total_companies') int totalCompanies,
@JsonKey(name: 'active_companies') int activeCompanies,
@JsonKey(name: 'total_users') int totalUsers,
@JsonKey(name: 'active_users') int activeUsers,
@JsonKey(name: 'total_equipment') int totalEquipment,
@JsonKey(name: 'available_equipment') int availableEquipment,
@JsonKey(name: 'in_use_equipment') int inUseEquipment,
@JsonKey(name: 'maintenance_equipment') int maintenanceEquipment,
@JsonKey(name: 'total_licenses') int totalLicenses,
@JsonKey(name: 'active_licenses') int activeLicenses,
@JsonKey(name: 'expiring_licenses_count') int expiringLicensesCount,
@JsonKey(name: 'expired_licenses_count') int expiredLicensesCount,
@JsonKey(name: 'total_warehouse_locations') int totalWarehouseLocations,
@JsonKey(name: 'active_warehouse_locations') int activeWarehouseLocations,
@JsonKey(name: 'total_rentals', defaultValue: 0) int? totalRentals,
@JsonKey(name: 'active_rentals', defaultValue: 0) int? activeRentals});
}
/// @nodoc
class _$OverviewStatsCopyWithImpl<$Res, $Val extends OverviewStats>
implements $OverviewStatsCopyWith<$Res> {
_$OverviewStatsCopyWithImpl(this._value, this._then);
// ignore: unused_field
final $Val _value;
// ignore: unused_field
final $Res Function($Val) _then;
/// Create a copy of OverviewStats
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? totalCompanies = null,
Object? activeCompanies = null,
Object? totalUsers = null,
Object? activeUsers = null,
Object? totalEquipment = null,
Object? availableEquipment = null,
Object? inUseEquipment = null,
Object? maintenanceEquipment = null,
Object? totalLicenses = null,
Object? activeLicenses = null,
Object? expiringLicensesCount = null,
Object? expiredLicensesCount = null,
Object? totalWarehouseLocations = null,
Object? activeWarehouseLocations = null,
Object? totalRentals = freezed,
Object? activeRentals = freezed,
}) {
return _then(_value.copyWith(
totalCompanies: null == totalCompanies
? _value.totalCompanies
: totalCompanies // ignore: cast_nullable_to_non_nullable
as int,
activeCompanies: null == activeCompanies
? _value.activeCompanies
: activeCompanies // ignore: cast_nullable_to_non_nullable
as int,
totalUsers: null == totalUsers
? _value.totalUsers
: totalUsers // ignore: cast_nullable_to_non_nullable
as int,
activeUsers: null == activeUsers
? _value.activeUsers
: activeUsers // ignore: cast_nullable_to_non_nullable
as int,
totalEquipment: null == totalEquipment
? _value.totalEquipment
: totalEquipment // ignore: cast_nullable_to_non_nullable
as int,
availableEquipment: null == availableEquipment
? _value.availableEquipment
: availableEquipment // ignore: cast_nullable_to_non_nullable
as int,
inUseEquipment: null == inUseEquipment
? _value.inUseEquipment
: inUseEquipment // ignore: cast_nullable_to_non_nullable
as int,
maintenanceEquipment: null == maintenanceEquipment
? _value.maintenanceEquipment
: maintenanceEquipment // ignore: cast_nullable_to_non_nullable
as int,
totalLicenses: null == totalLicenses
? _value.totalLicenses
: totalLicenses // ignore: cast_nullable_to_non_nullable
as int,
activeLicenses: null == activeLicenses
? _value.activeLicenses
: activeLicenses // ignore: cast_nullable_to_non_nullable
as int,
expiringLicensesCount: null == expiringLicensesCount
? _value.expiringLicensesCount
: expiringLicensesCount // ignore: cast_nullable_to_non_nullable
as int,
expiredLicensesCount: null == expiredLicensesCount
? _value.expiredLicensesCount
: expiredLicensesCount // ignore: cast_nullable_to_non_nullable
as int,
totalWarehouseLocations: null == totalWarehouseLocations
? _value.totalWarehouseLocations
: totalWarehouseLocations // ignore: cast_nullable_to_non_nullable
as int,
activeWarehouseLocations: null == activeWarehouseLocations
? _value.activeWarehouseLocations
: activeWarehouseLocations // ignore: cast_nullable_to_non_nullable
as int,
totalRentals: freezed == totalRentals
? _value.totalRentals
: totalRentals // ignore: cast_nullable_to_non_nullable
as int?,
activeRentals: freezed == activeRentals
? _value.activeRentals
: activeRentals // ignore: cast_nullable_to_non_nullable
as int?,
) as $Val);
}
}
/// @nodoc
abstract class _$$OverviewStatsImplCopyWith<$Res>
implements $OverviewStatsCopyWith<$Res> {
factory _$$OverviewStatsImplCopyWith(
_$OverviewStatsImpl value, $Res Function(_$OverviewStatsImpl) then) =
__$$OverviewStatsImplCopyWithImpl<$Res>;
@override
@useResult
$Res call(
{@JsonKey(name: 'total_companies') int totalCompanies,
@JsonKey(name: 'active_companies') int activeCompanies,
@JsonKey(name: 'total_users') int totalUsers,
@JsonKey(name: 'active_users') int activeUsers,
@JsonKey(name: 'total_equipment') int totalEquipment,
@JsonKey(name: 'available_equipment') int availableEquipment,
@JsonKey(name: 'in_use_equipment') int inUseEquipment,
@JsonKey(name: 'maintenance_equipment') int maintenanceEquipment,
@JsonKey(name: 'total_licenses') int totalLicenses,
@JsonKey(name: 'active_licenses') int activeLicenses,
@JsonKey(name: 'expiring_licenses_count') int expiringLicensesCount,
@JsonKey(name: 'expired_licenses_count') int expiredLicensesCount,
@JsonKey(name: 'total_warehouse_locations') int totalWarehouseLocations,
@JsonKey(name: 'active_warehouse_locations') int activeWarehouseLocations,
@JsonKey(name: 'total_rentals', defaultValue: 0) int? totalRentals,
@JsonKey(name: 'active_rentals', defaultValue: 0) int? activeRentals});
}
/// @nodoc
class __$$OverviewStatsImplCopyWithImpl<$Res>
extends _$OverviewStatsCopyWithImpl<$Res, _$OverviewStatsImpl>
implements _$$OverviewStatsImplCopyWith<$Res> {
__$$OverviewStatsImplCopyWithImpl(
_$OverviewStatsImpl _value, $Res Function(_$OverviewStatsImpl) _then)
: super(_value, _then);
/// Create a copy of OverviewStats
/// with the given fields replaced by the non-null parameter values.
@pragma('vm:prefer-inline')
@override
$Res call({
Object? totalCompanies = null,
Object? activeCompanies = null,
Object? totalUsers = null,
Object? activeUsers = null,
Object? totalEquipment = null,
Object? availableEquipment = null,
Object? inUseEquipment = null,
Object? maintenanceEquipment = null,
Object? totalLicenses = null,
Object? activeLicenses = null,
Object? expiringLicensesCount = null,
Object? expiredLicensesCount = null,
Object? totalWarehouseLocations = null,
Object? activeWarehouseLocations = null,
Object? totalRentals = freezed,
Object? activeRentals = freezed,
}) {
return _then(_$OverviewStatsImpl(
totalCompanies: null == totalCompanies
? _value.totalCompanies
: totalCompanies // ignore: cast_nullable_to_non_nullable
as int,
activeCompanies: null == activeCompanies
? _value.activeCompanies
: activeCompanies // ignore: cast_nullable_to_non_nullable
as int,
totalUsers: null == totalUsers
? _value.totalUsers
: totalUsers // ignore: cast_nullable_to_non_nullable
as int,
activeUsers: null == activeUsers
? _value.activeUsers
: activeUsers // ignore: cast_nullable_to_non_nullable
as int,
totalEquipment: null == totalEquipment
? _value.totalEquipment
: totalEquipment // ignore: cast_nullable_to_non_nullable
as int,
availableEquipment: null == availableEquipment
? _value.availableEquipment
: availableEquipment // ignore: cast_nullable_to_non_nullable
as int,
inUseEquipment: null == inUseEquipment
? _value.inUseEquipment
: inUseEquipment // ignore: cast_nullable_to_non_nullable
as int,
maintenanceEquipment: null == maintenanceEquipment
? _value.maintenanceEquipment
: maintenanceEquipment // ignore: cast_nullable_to_non_nullable
as int,
totalLicenses: null == totalLicenses
? _value.totalLicenses
: totalLicenses // ignore: cast_nullable_to_non_nullable
as int,
activeLicenses: null == activeLicenses
? _value.activeLicenses
: activeLicenses // ignore: cast_nullable_to_non_nullable
as int,
expiringLicensesCount: null == expiringLicensesCount
? _value.expiringLicensesCount
: expiringLicensesCount // ignore: cast_nullable_to_non_nullable
as int,
expiredLicensesCount: null == expiredLicensesCount
? _value.expiredLicensesCount
: expiredLicensesCount // ignore: cast_nullable_to_non_nullable
as int,
totalWarehouseLocations: null == totalWarehouseLocations
? _value.totalWarehouseLocations
: totalWarehouseLocations // ignore: cast_nullable_to_non_nullable
as int,
activeWarehouseLocations: null == activeWarehouseLocations
? _value.activeWarehouseLocations
: activeWarehouseLocations // ignore: cast_nullable_to_non_nullable
as int,
totalRentals: freezed == totalRentals
? _value.totalRentals
: totalRentals // ignore: cast_nullable_to_non_nullable
as int?,
activeRentals: freezed == activeRentals
? _value.activeRentals
: activeRentals // ignore: cast_nullable_to_non_nullable
as int?,
));
}
}
/// @nodoc
@JsonSerializable()
class _$OverviewStatsImpl implements _OverviewStats {
const _$OverviewStatsImpl(
{@JsonKey(name: 'total_companies') required this.totalCompanies,
@JsonKey(name: 'active_companies') required this.activeCompanies,
@JsonKey(name: 'total_users') required this.totalUsers,
@JsonKey(name: 'active_users') required this.activeUsers,
@JsonKey(name: 'total_equipment') required this.totalEquipment,
@JsonKey(name: 'available_equipment') required this.availableEquipment,
@JsonKey(name: 'in_use_equipment') required this.inUseEquipment,
@JsonKey(name: 'maintenance_equipment')
required this.maintenanceEquipment,
@JsonKey(name: 'total_licenses') required this.totalLicenses,
@JsonKey(name: 'active_licenses') required this.activeLicenses,
@JsonKey(name: 'expiring_licenses_count')
required this.expiringLicensesCount,
@JsonKey(name: 'expired_licenses_count')
required this.expiredLicensesCount,
@JsonKey(name: 'total_warehouse_locations')
required this.totalWarehouseLocations,
@JsonKey(name: 'active_warehouse_locations')
required this.activeWarehouseLocations,
@JsonKey(name: 'total_rentals', defaultValue: 0) this.totalRentals,
@JsonKey(name: 'active_rentals', defaultValue: 0) this.activeRentals});
factory _$OverviewStatsImpl.fromJson(Map<String, dynamic> json) =>
_$$OverviewStatsImplFromJson(json);
@override
@JsonKey(name: 'total_companies')
final int totalCompanies;
@override
@JsonKey(name: 'active_companies')
final int activeCompanies;
@override
@JsonKey(name: 'total_users')
final int totalUsers;
@override
@JsonKey(name: 'active_users')
final int activeUsers;
@override
@JsonKey(name: 'total_equipment')
final int totalEquipment;
@override
@JsonKey(name: 'available_equipment')
final int availableEquipment;
@override
@JsonKey(name: 'in_use_equipment')
final int inUseEquipment;
@override
@JsonKey(name: 'maintenance_equipment')
final int maintenanceEquipment;
@override
@JsonKey(name: 'total_licenses')
final int totalLicenses;
@override
@JsonKey(name: 'active_licenses')
final int activeLicenses;
@override
@JsonKey(name: 'expiring_licenses_count')
final int expiringLicensesCount;
@override
@JsonKey(name: 'expired_licenses_count')
final int expiredLicensesCount;
@override
@JsonKey(name: 'total_warehouse_locations')
final int totalWarehouseLocations;
@override
@JsonKey(name: 'active_warehouse_locations')
final int activeWarehouseLocations;
// 다음 필드들은 백엔드에 없으므로 선택적으로 만듭니다
@override
@JsonKey(name: 'total_rentals', defaultValue: 0)
final int? totalRentals;
@override
@JsonKey(name: 'active_rentals', defaultValue: 0)
final int? activeRentals;
@override
String toString() {
return 'OverviewStats(totalCompanies: $totalCompanies, activeCompanies: $activeCompanies, totalUsers: $totalUsers, activeUsers: $activeUsers, totalEquipment: $totalEquipment, availableEquipment: $availableEquipment, inUseEquipment: $inUseEquipment, maintenanceEquipment: $maintenanceEquipment, totalLicenses: $totalLicenses, activeLicenses: $activeLicenses, expiringLicensesCount: $expiringLicensesCount, expiredLicensesCount: $expiredLicensesCount, totalWarehouseLocations: $totalWarehouseLocations, activeWarehouseLocations: $activeWarehouseLocations, totalRentals: $totalRentals, activeRentals: $activeRentals)';
}
@override
bool operator ==(Object other) {
return identical(this, other) ||
(other.runtimeType == runtimeType &&
other is _$OverviewStatsImpl &&
(identical(other.totalCompanies, totalCompanies) ||
other.totalCompanies == totalCompanies) &&
(identical(other.activeCompanies, activeCompanies) ||
other.activeCompanies == activeCompanies) &&
(identical(other.totalUsers, totalUsers) ||
other.totalUsers == totalUsers) &&
(identical(other.activeUsers, activeUsers) ||
other.activeUsers == activeUsers) &&
(identical(other.totalEquipment, totalEquipment) ||
other.totalEquipment == totalEquipment) &&
(identical(other.availableEquipment, availableEquipment) ||
other.availableEquipment == availableEquipment) &&
(identical(other.inUseEquipment, inUseEquipment) ||
other.inUseEquipment == inUseEquipment) &&
(identical(other.maintenanceEquipment, maintenanceEquipment) ||
other.maintenanceEquipment == maintenanceEquipment) &&
(identical(other.totalLicenses, totalLicenses) ||
other.totalLicenses == totalLicenses) &&
(identical(other.activeLicenses, activeLicenses) ||
other.activeLicenses == activeLicenses) &&
(identical(other.expiringLicensesCount, expiringLicensesCount) ||
other.expiringLicensesCount == expiringLicensesCount) &&
(identical(other.expiredLicensesCount, expiredLicensesCount) ||
other.expiredLicensesCount == expiredLicensesCount) &&
(identical(
other.totalWarehouseLocations, totalWarehouseLocations) ||
other.totalWarehouseLocations == totalWarehouseLocations) &&
(identical(
other.activeWarehouseLocations, activeWarehouseLocations) ||
other.activeWarehouseLocations == activeWarehouseLocations) &&
(identical(other.totalRentals, totalRentals) ||
other.totalRentals == totalRentals) &&
(identical(other.activeRentals, activeRentals) ||
other.activeRentals == activeRentals));
}
@JsonKey(includeFromJson: false, includeToJson: false)
@override
int get hashCode => Object.hash(
runtimeType,
totalCompanies,
activeCompanies,
totalUsers,
activeUsers,
totalEquipment,
availableEquipment,
inUseEquipment,
maintenanceEquipment,
totalLicenses,
activeLicenses,
expiringLicensesCount,
expiredLicensesCount,
totalWarehouseLocations,
activeWarehouseLocations,
totalRentals,
activeRentals);
/// Create a copy of OverviewStats
/// with the given fields replaced by the non-null parameter values.
@JsonKey(includeFromJson: false, includeToJson: false)
@override
@pragma('vm:prefer-inline')
_$$OverviewStatsImplCopyWith<_$OverviewStatsImpl> get copyWith =>
__$$OverviewStatsImplCopyWithImpl<_$OverviewStatsImpl>(this, _$identity);
@override
Map<String, dynamic> toJson() {
return _$$OverviewStatsImplToJson(
this,
);
}
}
abstract class _OverviewStats implements OverviewStats {
const factory _OverviewStats(
{@JsonKey(name: 'total_companies') required final int totalCompanies,
@JsonKey(name: 'active_companies') required final int activeCompanies,
@JsonKey(name: 'total_users') required final int totalUsers,
@JsonKey(name: 'active_users') required final int activeUsers,
@JsonKey(name: 'total_equipment') required final int totalEquipment,
@JsonKey(name: 'available_equipment')
required final int availableEquipment,
@JsonKey(name: 'in_use_equipment') required final int inUseEquipment,
@JsonKey(name: 'maintenance_equipment')
required final int maintenanceEquipment,
@JsonKey(name: 'total_licenses') required final int totalLicenses,
@JsonKey(name: 'active_licenses') required final int activeLicenses,
@JsonKey(name: 'expiring_licenses_count')
required final int expiringLicensesCount,
@JsonKey(name: 'expired_licenses_count')
required final int expiredLicensesCount,
@JsonKey(name: 'total_warehouse_locations')
required final int totalWarehouseLocations,
@JsonKey(name: 'active_warehouse_locations')
required final int activeWarehouseLocations,
@JsonKey(name: 'total_rentals', defaultValue: 0) final int? totalRentals,
@JsonKey(name: 'active_rentals', defaultValue: 0)
final int? activeRentals}) = _$OverviewStatsImpl;
factory _OverviewStats.fromJson(Map<String, dynamic> json) =
_$OverviewStatsImpl.fromJson;
@override
@JsonKey(name: 'total_companies')
int get totalCompanies;
@override
@JsonKey(name: 'active_companies')
int get activeCompanies;
@override
@JsonKey(name: 'total_users')
int get totalUsers;
@override
@JsonKey(name: 'active_users')
int get activeUsers;
@override
@JsonKey(name: 'total_equipment')
int get totalEquipment;
@override
@JsonKey(name: 'available_equipment')
int get availableEquipment;
@override
@JsonKey(name: 'in_use_equipment')
int get inUseEquipment;
@override
@JsonKey(name: 'maintenance_equipment')
int get maintenanceEquipment;
@override
@JsonKey(name: 'total_licenses')
int get totalLicenses;
@override
@JsonKey(name: 'active_licenses')
int get activeLicenses;
@override
@JsonKey(name: 'expiring_licenses_count')
int get expiringLicensesCount;
@override
@JsonKey(name: 'expired_licenses_count')
int get expiredLicensesCount;
@override
@JsonKey(name: 'total_warehouse_locations')
int get totalWarehouseLocations;
@override
@JsonKey(name: 'active_warehouse_locations')
int get activeWarehouseLocations; // 다음 필드들은 백엔드에 없으므로 선택적으로 만듭니다
@override
@JsonKey(name: 'total_rentals', defaultValue: 0)
int? get totalRentals;
@override
@JsonKey(name: 'active_rentals', defaultValue: 0)
int? get activeRentals;
/// Create a copy of OverviewStats
/// with the given fields replaced by the non-null parameter values.
@override
@JsonKey(includeFromJson: false, includeToJson: false)
_$$OverviewStatsImplCopyWith<_$OverviewStatsImpl> get copyWith =>
throw _privateConstructorUsedError;
}