feat(frontend): 승인 템플릿 API 통합 및 디버그 로그인 확장
- docs 폴더 문서를 최신 API 계약으로 갱신하고 가이드를 다듬었다\n- approvals data/presentation 레이어를 API v4 스펙에 맞춰 리팩터링했다\n- approver 자동완성 위젯을 신규 공유 레포지토리에 맞춰 교체하고 UX를 보강했다\n- inventory/rental 페이지 테이블 초기화 시 승인 기준 연동을 정비했다\n- 로그인 페이지 디버그 버튼을 tera/exa 계정으로 분리해 QA 로그인을 단순화했다\n- get_it 등록과 테스트 케이스를 신규 공유 리포지토리에 맞춰 업데이트했다
This commit is contained in:
@@ -0,0 +1,32 @@
|
||||
/// 결재 승인자 자동완성에 사용되는 후보 정보.
|
||||
class ApprovalApproverCandidate {
|
||||
const ApprovalApproverCandidate({
|
||||
required this.id,
|
||||
required this.employeeNo,
|
||||
required this.name,
|
||||
this.team,
|
||||
this.email,
|
||||
this.phone,
|
||||
});
|
||||
|
||||
/// 승인자 고유 ID (users.id).
|
||||
final int id;
|
||||
|
||||
/// 사번 혹은 직원 식별자.
|
||||
final String employeeNo;
|
||||
|
||||
/// 직원 이름.
|
||||
final String name;
|
||||
|
||||
/// 소속 팀 또는 그룹명.
|
||||
final String? team;
|
||||
|
||||
/// 이메일 주소.
|
||||
final String? email;
|
||||
|
||||
/// 전화번호.
|
||||
final String? phone;
|
||||
|
||||
/// 리스트 등에서 표시할 기본 라벨을 반환한다.
|
||||
String get displayLabel => '$name ($employeeNo)';
|
||||
}
|
||||
@@ -0,0 +1,16 @@
|
||||
import '../entities/approval_approver_candidate.dart';
|
||||
|
||||
/// 승인자 검색을 제공하는 저장소 인터페이스.
|
||||
abstract class ApprovalApproverRepository {
|
||||
/// 키워드로 승인자 후보를 검색한다.
|
||||
Future<List<ApprovalApproverCandidate>> search({
|
||||
required String keyword,
|
||||
int limit = 20,
|
||||
});
|
||||
|
||||
/// ID로 승인자 정보를 조회한다.
|
||||
Future<ApprovalApproverCandidate?> fetchById(int id);
|
||||
|
||||
/// 자동완성 드롭다운 초기 노출용 활성 승인자 목록을 조회한다.
|
||||
Future<List<ApprovalApproverCandidate>> listInitial({int limit = 20});
|
||||
}
|
||||
Reference in New Issue
Block a user