feat: 결재·마스터 실연동 업데이트
This commit is contained in:
@@ -1,6 +1,7 @@
|
||||
import 'package:dio/dio.dart';
|
||||
import 'package:superport_v2/core/common/models/paginated_result.dart';
|
||||
import 'package:superport_v2/core/network/api_client.dart';
|
||||
import 'package:superport_v2/core/network/api_routes.dart';
|
||||
|
||||
import '../../domain/entities/customer.dart';
|
||||
import '../../domain/repositories/customer_repository.dart';
|
||||
@@ -12,7 +13,7 @@ class CustomerRepositoryRemote implements CustomerRepository {
|
||||
|
||||
final ApiClient _api;
|
||||
|
||||
static const _basePath = '/customers';
|
||||
static const _basePath = '${ApiRoutes.apiV1}/customers';
|
||||
|
||||
/// 고객 목록을 조회한다.
|
||||
@override
|
||||
@@ -39,6 +40,17 @@ class CustomerRepositoryRemote implements CustomerRepository {
|
||||
return CustomerDto.parsePaginated(response.data ?? const {});
|
||||
}
|
||||
|
||||
@override
|
||||
Future<Customer> fetchDetail(int id, {bool includeZipcode = true}) async {
|
||||
final response = await _api.get<Map<String, dynamic>>(
|
||||
'$_basePath/$id',
|
||||
query: {if (includeZipcode) 'include': 'zipcode'},
|
||||
options: Options(responseType: ResponseType.json),
|
||||
);
|
||||
final data = (response.data?['data'] as Map<String, dynamic>?) ?? {};
|
||||
return CustomerDto.fromJson(data).toEntity();
|
||||
}
|
||||
|
||||
/// 고객을 생성한다.
|
||||
@override
|
||||
Future<Customer> create(CustomerInput input) async {
|
||||
|
||||
@@ -14,6 +14,9 @@ abstract class CustomerRepository {
|
||||
bool? isActive,
|
||||
});
|
||||
|
||||
/// 고객 단건 상세를 조회한다.
|
||||
Future<Customer> fetchDetail(int id, {bool includeZipcode = true});
|
||||
|
||||
/// 고객을 생성한다.
|
||||
Future<Customer> create(CustomerInput input);
|
||||
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
import 'package:flutter/foundation.dart';
|
||||
import 'package:superport_v2/core/common/models/paginated_result.dart';
|
||||
import 'package:superport_v2/core/network/failure.dart';
|
||||
|
||||
import '../../domain/entities/customer.dart';
|
||||
import '../../domain/repositories/customer_repository.dart';
|
||||
@@ -78,8 +79,9 @@ class CustomerController extends ChangeNotifier {
|
||||
if (response.pageSize > 0 && response.pageSize != _pageSize) {
|
||||
_pageSize = response.pageSize;
|
||||
}
|
||||
} catch (e) {
|
||||
_errorMessage = e.toString();
|
||||
} catch (error) {
|
||||
final failure = Failure.from(error);
|
||||
_errorMessage = failure.describe();
|
||||
} finally {
|
||||
_isLoading = false;
|
||||
notifyListeners();
|
||||
@@ -129,8 +131,9 @@ class CustomerController extends ChangeNotifier {
|
||||
final created = await _repository.create(input);
|
||||
await fetch(page: 1);
|
||||
return created;
|
||||
} catch (e) {
|
||||
_errorMessage = e.toString();
|
||||
} catch (error) {
|
||||
final failure = Failure.from(error);
|
||||
_errorMessage = failure.describe();
|
||||
notifyListeners();
|
||||
return null;
|
||||
} finally {
|
||||
@@ -145,8 +148,9 @@ class CustomerController extends ChangeNotifier {
|
||||
final updated = await _repository.update(id, input);
|
||||
await fetch(page: _result?.page ?? 1);
|
||||
return updated;
|
||||
} catch (e) {
|
||||
_errorMessage = e.toString();
|
||||
} catch (error) {
|
||||
final failure = Failure.from(error);
|
||||
_errorMessage = failure.describe();
|
||||
notifyListeners();
|
||||
return null;
|
||||
} finally {
|
||||
@@ -161,8 +165,9 @@ class CustomerController extends ChangeNotifier {
|
||||
await _repository.delete(id);
|
||||
await fetch(page: _result?.page ?? 1);
|
||||
return true;
|
||||
} catch (e) {
|
||||
_errorMessage = e.toString();
|
||||
} catch (error) {
|
||||
final failure = Failure.from(error);
|
||||
_errorMessage = failure.describe();
|
||||
notifyListeners();
|
||||
return false;
|
||||
} finally {
|
||||
@@ -177,8 +182,9 @@ class CustomerController extends ChangeNotifier {
|
||||
final restored = await _repository.restore(id);
|
||||
await fetch(page: _result?.page ?? 1);
|
||||
return restored;
|
||||
} catch (e) {
|
||||
_errorMessage = e.toString();
|
||||
} catch (error) {
|
||||
final failure = Failure.from(error);
|
||||
_errorMessage = failure.describe();
|
||||
notifyListeners();
|
||||
return null;
|
||||
} finally {
|
||||
|
||||
Reference in New Issue
Block a user