49 lines
1.5 KiB
Dart
49 lines
1.5 KiB
Dart
import 'dart:convert';
|
|
import 'dart:developer';
|
|
|
|
import 'package:cheminova/models/product_model.dart';
|
|
import 'package:cheminova/utils/api_urls.dart';
|
|
import 'package:dio/dio.dart';
|
|
|
|
import '../models/oder_place_model.dart';
|
|
import '../utils/app_interceptor.dart';
|
|
import '../utils/log_service.dart';
|
|
|
|
class OrderPlacedService {
|
|
//final Dio dio = Dio();
|
|
// OrderPlacedService() : _dio = Dio(BaseOptions(baseUrl: 'https://api.cnapp.co.in')) {
|
|
// _dio.interceptors.add(AuthInterceptor());
|
|
// _dio.interceptors.add(PrettyDioLogger());
|
|
// }
|
|
Future<void> placeOrder(PlacedOrderModel orderDetails, String token) async {
|
|
final dio = Dio();
|
|
dio.interceptors.add(AuthInterceptor());
|
|
//try {
|
|
// logger.w("orderjson ${jsonEncode(orderDetails.toJson())}");
|
|
final response = await dio.post(
|
|
'${ApiUrls.placedOrderUrl}', // Ensure this is your correct endpoint
|
|
data: jsonEncode(orderDetails.toJson()),
|
|
options: Options(
|
|
headers: {
|
|
'Authorization': 'Bearer $token',
|
|
'Content-Type': 'application/json',
|
|
},
|
|
),
|
|
);
|
|
//logger.w("Status code,${response.statusCode}");
|
|
if (response.statusCode != 201) {
|
|
|
|
throw Exception('Failed to place order');
|
|
}
|
|
}
|
|
// on DioException catch (e) {
|
|
// print("DioException: ${e.message}");
|
|
// throw Exception('Failed to place order: ${e.message}');
|
|
// }
|
|
// catch (e) {
|
|
// print("General Exception: ${e.toString()}");
|
|
// throw Exception('Failed to place order: ${e.toString()}');
|
|
// }
|
|
}
|
|
|