마스터 고객/제품/창고 테스트 및 UI 구현
This commit is contained in:
@@ -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,
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
@@ -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);
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user