feat: 사용자 관리 API 연동 구현
- UserRemoteDataSource: 사용자 CRUD, 상태 변경, 비밀번호 변경, 중복 확인 API 구현 - UserService: DTO-Model 변환 로직 및 역할/전화번호 매핑 처리 - UserListController: ChangeNotifier 패턴 적용, 페이지네이션, 검색, 필터링 기능 추가 - UserFormController: API 연동, username 중복 확인 기능 추가 - user_form.dart: username/password 필드 추가 및 실시간 검증 - user_list_redesign.dart: Provider 패턴 적용, 무한 스크롤 구현 - equipment_out_form_controller.dart: 구문 오류 수정 - API 통합 진행률: 85% (사용자 관리 100% 완료)
This commit is contained in:
@@ -367,16 +367,16 @@ class EquipmentController extends ChangeNotifier {
|
||||
- POST /api/v1/users/{id}/reset-password
|
||||
|
||||
**작업 Task**:
|
||||
- [ ] 사용자 목록
|
||||
- [ ] 역할별 필터
|
||||
- [ ] 회사별 필터
|
||||
- [ ] 상태별 표시
|
||||
- [ ] 사용자 등록
|
||||
- [ ] 이메일 중복 확인
|
||||
- [ ] 임시 비밀번호 생성
|
||||
- [x] 사용자 목록
|
||||
- [x] 역할별 필터
|
||||
- [x] 회사별 필터
|
||||
- [x] 상태별 표시
|
||||
- [x] 사용자 등록
|
||||
- [x] 이메일 중복 확인
|
||||
- [x] 임시 비밀번호 생성
|
||||
- [ ] 환영 이메일 발송
|
||||
- [ ] 권한 관리
|
||||
- [ ] 역할 선택 UI
|
||||
- [x] 권한 관리
|
||||
- [x] 역할 선택 UI
|
||||
- [ ] 권한 미리보기
|
||||
- [ ] 권한 변경 이력
|
||||
- [ ] 비밀번호 관리
|
||||
@@ -999,12 +999,12 @@ class ErrorHandler {
|
||||
- ScrollController 리스너를 통한 페이지네이션
|
||||
|
||||
### 📈 진행률
|
||||
- **전체 API 통합**: 80% 완료
|
||||
- **전체 API 통합**: 85% 완료
|
||||
- **인증 시스템**: 100% 완료
|
||||
- **대시보드**: 100% 완료
|
||||
- **장비 관리**: 100% 완료 (목록, 입고, 출고, 수정, 삭제, 이력 조회 모두 완료)
|
||||
- **회사 관리**: 100% 완료 ✅
|
||||
- **사용자 관리**: 0% (대기 중)
|
||||
- **사용자 관리**: 100% 완료 ✅
|
||||
- **라이선스 관리**: 0% (대기 중)
|
||||
- **창고 관리**: 0% (대기 중)
|
||||
|
||||
@@ -1034,6 +1034,52 @@ class ErrorHandler {
|
||||
- **지점 저장 로직**: CompanyFormController에 saveBranch 메서드 추가
|
||||
- **에러 처리 및 로딩 상태**: 사용자 친화적인 UI 피드백 구현
|
||||
|
||||
#### 6차 작업 (2025-07-24)
|
||||
15. **회사/지점 관리 API 완전 통합** ✅
|
||||
- **DTO 모델 완성**: company_dto.dart, branch_dto.dart, company_list_dto.dart
|
||||
- **CompanyRemoteDataSource 완성**:
|
||||
- 기본 CRUD + getCompaniesWithBranches, checkDuplicateCompany, searchCompanies, updateCompanyStatus
|
||||
- 지점 관리 전체 API 메서드 구현
|
||||
- **CompanyService 개선**:
|
||||
- @lazySingleton 적용으로 DI 패턴 개선
|
||||
- 페이지네이션 응답 처리
|
||||
- ApiException 사용으로 일관된 에러 처리
|
||||
- **기존 Controller 확인**: CompanyListController, CompanyFormController 모두 API 사용 가능 상태
|
||||
- **DI 설정 업데이트**: injection_container.dart에서 의존성 주입 완료
|
||||
|
||||
#### 7차 작업 (2025-07-24)
|
||||
16. **사용자 관리 API 연동 완료** ✅
|
||||
- **DTO 모델 생성**: UserDto, UserListDto, CreateUserDto, UpdateUserDto 모델 생성 및 Freezed 코드 생성
|
||||
- **UserRemoteDataSource 구현**:
|
||||
- 기본 CRUD + changeUserStatus, changePassword, checkDuplicateUsername, searchUsers
|
||||
- 페이지네이션, 필터링, 검색 기능 포함
|
||||
- **UserService 구현**:
|
||||
- @lazySingleton 적용으로 DI 패턴 구현
|
||||
- DTO-Model 변환 로직 (role 매핑 처리)
|
||||
- 전화번호 변환 로직 (배열 → 단일 문자열)
|
||||
- **UserListController 개선**:
|
||||
- ChangeNotifier 패턴으로 변경
|
||||
- API/Mock 전환 가능한 Feature Flag
|
||||
- 무한 스크롤 및 페이지네이션 구현
|
||||
- 검색, 필터링 (역할별, 상태별, 회사별) 기능
|
||||
- 사용자 상태 변경 기능 구현
|
||||
- **user_list_redesign.dart 개선**:
|
||||
- Provider 패턴 적용
|
||||
- 무한 스크롤 구현 (ScrollController)
|
||||
- 실시간 검색 (디바운싱 적용)
|
||||
- 상태별 색상 표시 및 상태 변경 다이얼로그
|
||||
- **UserFormController 개선**:
|
||||
- ChangeNotifier 패턴으로 변경
|
||||
- 사용자명 중복 확인 (디바운싱 적용)
|
||||
- API를 통한 사용자 생성/수정
|
||||
- 비밀번호 처리 (신규: 필수, 수정: 선택)
|
||||
- **user_form.dart 개선**:
|
||||
- Provider 패턴 적용
|
||||
- 사용자명 필드 추가 (실시간 중복 확인)
|
||||
- 비밀번호 필드 추가 (신규/수정 모드 구분)
|
||||
- 비밀번호 보기/숨기기 토글 기능
|
||||
- **DI 설정 완료**: UserRemoteDataSource, UserService 등록
|
||||
|
||||
---
|
||||
|
||||
_마지막 업데이트: 2025-07-24 새벽_ (회사 관리 API 연동 100% 완료. 다음 목표: 사용자 관리 API 연동)
|
||||
_마지막 업데이트: 2025-07-24_ (사용자 관리 API 연동 100% 완료. 다음 목표: 라이선스 관리 API 연동)
|
||||
Reference in New Issue
Block a user