마스터 고객/제품/창고 테스트 및 UI 구현

This commit is contained in:
JiWoong Sul
2025-09-22 20:30:08 +09:00
parent 5c9de2594a
commit 2d27d1bb5c
41 changed files with 6764 additions and 259 deletions

View File

@@ -59,3 +59,28 @@ class Vendor {
}
}
/// 벤더 신규/수정 입력 모델
///
/// - code는 생성 시 필수, 수정 시 읽기 전용이지만 API 전송을 위해 포함
class VendorInput {
VendorInput({
required this.vendorCode,
required this.vendorName,
this.isActive = true,
this.note,
});
final String vendorCode;
final String vendorName;
final bool isActive;
final String? note;
Map<String, dynamic> toPayload() {
return {
'vendor_code': vendorCode,
'vendor_name': vendorName,
'is_active': isActive,
'note': note,
};
}
}

View File

@@ -1,3 +1,5 @@
import 'package:superport_v2/core/common/models/paginated_result.dart';
import '../entities/vendor.dart';
/// 벤더 리포지토리 인터페이스
@@ -8,20 +10,22 @@ abstract class VendorRepository {
/// 벤더 목록 조회
///
/// - 표준 쿼리 파라미터: page, page_size, q, include
Future<List<Vendor>> list({
Future<PaginatedResult<Vendor>> list({
int page = 1,
int pageSize = 20,
String? query,
bool includeInactive = true,
bool? isActive,
});
/// 벤더 생성
Future<Vendor> create(Vendor vendor);
Future<Vendor> create(VendorInput input);
/// 벤더 수정 (부분 업데이트 포함)
Future<Vendor> update(Vendor vendor);
Future<Vendor> update(int id, VendorInput input);
/// 벤더 소프트 삭제
Future<void> delete(int id);
}
/// 벤더 복구 (소프트 삭제 해제)
Future<Vendor> restore(int id);
}