feat: sync order

This commit is contained in:
efrilm
2025-08-03 14:39:15 +07:00
parent 3d1ae25bcf
commit 051b64e3a6
25 changed files with 1422 additions and 333 deletions
@@ -6,7 +6,7 @@ import 'package:dio/dio.dart';
import 'package:enaklo_pos/core/constants/variables.dart';
import 'package:enaklo_pos/core/network/dio_client.dart';
import 'package:enaklo_pos/data/datasources/auth_local_datasource.dart';
import 'package:enaklo_pos/data/models/response/order_remote_datasource.dart';
import 'package:enaklo_pos/data/models/response/order_response_model.dart';
import 'package:enaklo_pos/data/models/response/payment_method_response_model.dart';
import 'package:enaklo_pos/data/models/response/summary_response_model.dart';
import 'package:enaklo_pos/presentation/home/models/order_model.dart';
@@ -223,4 +223,48 @@ class OrderRemoteDatasource {
return const Left('Terjadi kesalahan tak terduga');
}
}
Future<Either<String, OrderResponseModel>> getOrder(
{int page = 1,
int limit = Variables.defaultLimit,
String status = 'completed'}) async {
try {
final authData = await AuthLocalDataSource().getAuthData();
final response = await dio.get(
'${Variables.baseUrl}/api/v1/orders',
queryParameters: {
'page': page,
'limit': limit,
'status': status,
'outlet_id': authData.user?.outletId,
},
options: Options(
headers: {
'Authorization': 'Bearer ${authData.token}',
'Accept': 'application/json',
'Content-Type': 'application/json',
},
),
);
log("📥 HTTP Status Code: ${response.statusCode}");
log("📥 Response Body: ${response.data}");
if (response.statusCode == 200) {
log("✅ getOrderByRangeDate API call successful");
return Right(OrderResponseModel.fromMap(response.data));
} else {
log("❌ getOrderByRangeDate API call failed - Status: ${response.statusCode}");
return const Left("Failed Load Data");
}
} on DioException catch (e) {
final errorMessage = 'Something went wrong';
log("💥 Dio error: ${e.message}");
log("💥 Dio response: ${e.response?.data}");
return Left(errorMessage);
} catch (e) {
log("💥 Unexpected error: $e");
return Left("Unexpected Error: $e");
}
}
}