Files
superport/lib/data/models/user/user_dto.g.dart
JiWoong Sul 731dcd816b
Some checks failed
Flutter Test & Quality Check / Test on macos-latest (push) Has been cancelled
Flutter Test & Quality Check / Test on ubuntu-latest (push) Has been cancelled
Flutter Test & Quality Check / Build APK (push) Has been cancelled
refactor: Repository 패턴 적용 및 Clean Architecture 완성
## 주요 변경사항

### 🏗️ Architecture
- Repository 패턴 전면 도입 (인터페이스/구현체 분리)
- Domain Layer에 Repository 인터페이스 정의
- Data Layer에 Repository 구현체 배치
- UseCase 의존성을 Service에서 Repository로 전환

### 📦 Dependency Injection
- GetIt 기반 DI Container 재구성 (lib/injection_container.dart)
- Repository 인터페이스와 구현체 등록
- Service와 Repository 공존 (마이그레이션 기간)

### 🔄 Migration Status
완료:
- License 모듈 (6개 UseCase)
- Warehouse Location 모듈 (5개 UseCase)

진행중:
- Auth 모듈 (2/5 UseCase)
- Company 모듈 (1/6 UseCase)

대기:
- User 모듈 (7개 UseCase)
- Equipment 모듈 (4개 UseCase)

### 🎯 Controller 통합
- 중복 Controller 제거 (with_usecase 버전)
- 단일 Controller로 통합
- UseCase 패턴 직접 적용

### 🧹 코드 정리
- 임시 파일 제거 (test_*.md, task.md)
- Node.js 아티팩트 제거 (package.json)
- 불필요한 테스트 파일 정리

###  테스트 개선
- Real API 중심 테스트 구조
- Mock 제거, 실제 API 엔드포인트 사용
- 통합 테스트 프레임워크 강화

## 기술적 영향
- 의존성 역전 원칙 적용
- 레이어 간 결합도 감소
- 테스트 용이성 향상
- 확장성 및 유지보수성 개선

## 다음 단계
1. User/Equipment 모듈 Repository 마이그레이션
2. Service Layer 점진적 제거
3. 캐싱 전략 구현
4. 성능 최적화
2025-08-11 20:14:10 +09:00

166 lines
5.7 KiB
Dart

// GENERATED CODE - DO NOT MODIFY BY HAND
part of 'user_dto.dart';
// **************************************************************************
// JsonSerializableGenerator
// **************************************************************************
_$UserDtoImpl _$$UserDtoImplFromJson(Map<String, dynamic> json) =>
_$UserDtoImpl(
id: (json['id'] as num).toInt(),
username: json['username'] as String,
name: json['name'] as String,
email: json['email'] as String?,
phone: json['phone'] as String?,
role: json['role'] as String,
companyId: (json['company_id'] as num?)?.toInt(),
companyName: json['company_name'] as String?,
branchId: (json['branch_id'] as num?)?.toInt(),
branchName: json['branch_name'] as String?,
isActive: json['is_active'] as bool,
lastLoginAt: json['last_login_at'] == null
? null
: DateTime.parse(json['last_login_at'] as String),
createdAt: DateTime.parse(json['created_at'] as String),
updatedAt: DateTime.parse(json['updated_at'] as String),
);
Map<String, dynamic> _$$UserDtoImplToJson(_$UserDtoImpl instance) =>
<String, dynamic>{
'id': instance.id,
'username': instance.username,
'name': instance.name,
'email': instance.email,
'phone': instance.phone,
'role': instance.role,
'company_id': instance.companyId,
'company_name': instance.companyName,
'branch_id': instance.branchId,
'branch_name': instance.branchName,
'is_active': instance.isActive,
'last_login_at': instance.lastLoginAt?.toIso8601String(),
'created_at': instance.createdAt.toIso8601String(),
'updated_at': instance.updatedAt.toIso8601String(),
};
_$CreateUserRequestImpl _$$CreateUserRequestImplFromJson(
Map<String, dynamic> json) =>
_$CreateUserRequestImpl(
username: json['username'] as String,
email: json['email'] as String?,
password: json['password'] as String,
name: json['name'] as String,
phone: json['phone'] as String?,
role: json['role'] as String,
companyId: (json['company_id'] as num?)?.toInt(),
branchId: (json['branch_id'] as num?)?.toInt(),
);
Map<String, dynamic> _$$CreateUserRequestImplToJson(
_$CreateUserRequestImpl instance) =>
<String, dynamic>{
'username': instance.username,
'email': instance.email,
'password': instance.password,
'name': instance.name,
'phone': instance.phone,
'role': instance.role,
'company_id': instance.companyId,
'branch_id': instance.branchId,
};
_$UpdateUserRequestImpl _$$UpdateUserRequestImplFromJson(
Map<String, dynamic> json) =>
_$UpdateUserRequestImpl(
name: json['name'] as String?,
email: json['email'] as String?,
password: json['password'] as String?,
phone: json['phone'] as String?,
role: json['role'] as String?,
companyId: (json['company_id'] as num?)?.toInt(),
branchId: (json['branch_id'] as num?)?.toInt(),
isActive: json['is_active'] as bool?,
);
Map<String, dynamic> _$$UpdateUserRequestImplToJson(
_$UpdateUserRequestImpl instance) =>
<String, dynamic>{
'name': instance.name,
'email': instance.email,
'password': instance.password,
'phone': instance.phone,
'role': instance.role,
'company_id': instance.companyId,
'branch_id': instance.branchId,
'is_active': instance.isActive,
};
_$ChangeStatusRequestImpl _$$ChangeStatusRequestImplFromJson(
Map<String, dynamic> json) =>
_$ChangeStatusRequestImpl(
isActive: json['is_active'] as bool,
);
Map<String, dynamic> _$$ChangeStatusRequestImplToJson(
_$ChangeStatusRequestImpl instance) =>
<String, dynamic>{
'is_active': instance.isActive,
};
_$ChangePasswordRequestImpl _$$ChangePasswordRequestImplFromJson(
Map<String, dynamic> json) =>
_$ChangePasswordRequestImpl(
currentPassword: json['current_password'] as String,
newPassword: json['new_password'] as String,
);
Map<String, dynamic> _$$ChangePasswordRequestImplToJson(
_$ChangePasswordRequestImpl instance) =>
<String, dynamic>{
'current_password': instance.currentPassword,
'new_password': instance.newPassword,
};
_$UserListDtoImpl _$$UserListDtoImplFromJson(Map<String, dynamic> json) =>
_$UserListDtoImpl(
users: (json['users'] as List<dynamic>)
.map((e) => UserDto.fromJson(e as Map<String, dynamic>))
.toList(),
total: (json['total'] as num).toInt(),
page: (json['page'] as num).toInt(),
perPage: (json['per_page'] as num).toInt(),
totalPages: (json['total_pages'] as num).toInt(),
);
Map<String, dynamic> _$$UserListDtoImplToJson(_$UserListDtoImpl instance) =>
<String, dynamic>{
'users': instance.users,
'total': instance.total,
'page': instance.page,
'per_page': instance.perPage,
'total_pages': instance.totalPages,
};
_$UserDetailDtoImpl _$$UserDetailDtoImplFromJson(Map<String, dynamic> json) =>
_$UserDetailDtoImpl(
user: UserDto.fromJson(json['user'] as Map<String, dynamic>),
);
Map<String, dynamic> _$$UserDetailDtoImplToJson(_$UserDetailDtoImpl instance) =>
<String, dynamic>{
'user': instance.user,
};
_$UserResponseImpl _$$UserResponseImplFromJson(Map<String, dynamic> json) =>
_$UserResponseImpl(
user: UserDto.fromJson(json['user'] as Map<String, dynamic>),
message: json['message'] as String?,
);
Map<String, dynamic> _$$UserResponseImplToJson(_$UserResponseImpl instance) =>
<String, dynamic>{
'user': instance.user,
'message': instance.message,
};