feat: 사용자 관리 시스템 백엔드 API 호환성 대폭 개선
- UserRemoteDataSource: API v0.2.1 스펙 완전 대응 • 응답 형식 통일 (success: true 구조) • 페이지네이션 처리 개선 • 에러 핸들링 강화 • 불필요한 파라미터 제거 (includeInactive 등) - UserDto 모델 현대화: • 서버 응답 구조와 100% 일치 • 도메인 모델 변환 메서드 추가 • Freezed 불변성 패턴 완성 - User 도메인 모델 신규 구현: • Clean Architecture 원칙 준수 • UserRole enum 타입 안전성 강화 • 비즈니스 로직 캡슐화 - 사용자 관련 UseCase 리팩토링: • Repository 패턴 완전 적용 • Either<Failure, Success> 에러 처리 • 의존성 주입 최적화 - UI 컨트롤러 및 화면 개선: • API 응답 변경사항 반영 • 사용자 권한 표시 정확성 향상 • 폼 검증 로직 강화 🤖 Generated with [Claude Code](https://claude.ai/code) Co-Authored-By: Claude <noreply@anthropic.com>
This commit is contained in:
@@ -11,19 +11,14 @@ _$UserDtoImpl _$$UserDtoImplFromJson(Map<String, dynamic> json) =>
|
||||
id: (json['id'] as num).toInt(),
|
||||
username: json['username'] as String,
|
||||
name: json['name'] as String,
|
||||
email: json['email'] 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),
|
||||
updatedAt: json['updated_at'] == null
|
||||
? null
|
||||
: DateTime.parse(json['updated_at'] as String),
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$UserDtoImplToJson(_$UserDtoImpl instance) =>
|
||||
@@ -34,27 +29,20 @@ Map<String, dynamic> _$$UserDtoImplToJson(_$UserDtoImpl instance) =>
|
||||
'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(),
|
||||
'updated_at': instance.updatedAt?.toIso8601String(),
|
||||
};
|
||||
|
||||
_$CreateUserRequestImpl _$$CreateUserRequestImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$CreateUserRequestImpl(
|
||||
username: json['username'] as String,
|
||||
email: json['email'] 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(
|
||||
@@ -66,8 +54,6 @@ Map<String, dynamic> _$$CreateUserRequestImplToJson(
|
||||
'name': instance.name,
|
||||
'phone': instance.phone,
|
||||
'role': instance.role,
|
||||
'company_id': instance.companyId,
|
||||
'branch_id': instance.branchId,
|
||||
};
|
||||
|
||||
_$UpdateUserRequestImpl _$$UpdateUserRequestImplFromJson(
|
||||
@@ -78,9 +64,6 @@ _$UpdateUserRequestImpl _$$UpdateUserRequestImplFromJson(
|
||||
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(
|
||||
@@ -91,35 +74,20 @@ Map<String, dynamic> _$$UpdateUserRequestImplToJson(
|
||||
'password': instance.password,
|
||||
'phone': instance.phone,
|
||||
'role': instance.role,
|
||||
'company_id': instance.companyId,
|
||||
'branch_id': instance.branchId,
|
||||
'is_active': instance.isActive,
|
||||
};
|
||||
|
||||
_$ChangeStatusRequestImpl _$$ChangeStatusRequestImplFromJson(
|
||||
_$CheckUsernameResponseImpl _$$CheckUsernameResponseImplFromJson(
|
||||
Map<String, dynamic> json) =>
|
||||
_$ChangeStatusRequestImpl(
|
||||
isActive: json['is_active'] as bool,
|
||||
_$CheckUsernameResponseImpl(
|
||||
available: json['available'] as bool,
|
||||
message: json['message'] as String?,
|
||||
);
|
||||
|
||||
Map<String, dynamic> _$$ChangeStatusRequestImplToJson(
|
||||
_$ChangeStatusRequestImpl instance) =>
|
||||
Map<String, dynamic> _$$CheckUsernameResponseImplToJson(
|
||||
_$CheckUsernameResponseImpl 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,
|
||||
'available': instance.available,
|
||||
'message': instance.message,
|
||||
};
|
||||
|
||||
_$UserListDtoImpl _$$UserListDtoImplFromJson(Map<String, dynamic> json) =>
|
||||
|
||||
Reference in New Issue
Block a user