import 'dart:convert'; import 'package:http/http.dart' as http; import '../../../Const/api_config.dart'; import '../../../Repository/constant_functions.dart'; import '../../../http_client/customer_http_client_get.dart'; import '../Model/currency_model.dart'; class CurrencyRepo { Future> fetchAllCurrency() async { CustomHttpClientGet clientGet = CustomHttpClientGet(client: http.Client()); final uri = Uri.parse('${APIConfig.url}/currencies'); final response = await clientGet.get(url: uri); if (response.statusCode == 200) { final parsedData = jsonDecode(response.body) as Map; final partyList = parsedData['data'] as List; // Filter and map the list return partyList .where((category) => category['status'] == true) // Filter by status .map((category) => CurrencyModel.fromJson(category)) .toList(); } else { throw Exception('Failed to fetch Currency'); } } // Future> fetchAllCurrency() async { // final uri = Uri.parse('${APIConfig.url}/currencies'); // // final response = await http.get(uri, headers: { // 'Accept': 'application/json', // 'Authorization': await getAuthToken(), // }); // // if (response.statusCode == 200) { // final parsedData = jsonDecode(response.body) as Map; // // final partyList = parsedData['data'] as List; // return partyList.map((category) => CurrencyModel.fromJson(category)).toList(); // // Parse into Party objects // } else { // throw Exception('Failed to fetch Currency'); // } // } Future setDefaultCurrency({required num id}) async { CustomHttpClientGet clientGet = CustomHttpClientGet(client: http.Client()); final uri = Uri.parse('${APIConfig.url}/currencies/$id'); final response = await clientGet.get(url: uri); if (response.statusCode == 200) { return true; } else { return false; } } }