From 5edb64a06011c9a95864b5f39d6998660463f392 Mon Sep 17 00:00:00 2001 From: Patrick Alvin Alcala Date: Thu, 11 Dec 2025 15:29:14 +0800 Subject: [PATCH] Added api --- lib/functions/get_api.dart | 27 +++++++++++++++++++++++++++ 1 file changed, 27 insertions(+) create mode 100644 lib/functions/get_api.dart diff --git a/lib/functions/get_api.dart b/lib/functions/get_api.dart new file mode 100644 index 0000000..139d47e --- /dev/null +++ b/lib/functions/get_api.dart @@ -0,0 +1,27 @@ +import 'dart:convert'; +import 'package:dio/dio.dart'; +import 'package:flutter_dotenv/flutter_dotenv.dart'; +import 'package:dio_smart_retry/dio_smart_retry.dart'; + +Future> getApi(String method, String? data, String? data2) async { + final dio = Dio(); + dio.interceptors.add(RetryInterceptor(dio: dio, retries: 3, retryDelays: const [Duration(seconds: 1)])); + + final url = dotenv.env['BACKEND_URL']; + + late String endpoint; + if (data != null && data2 != null) { + endpoint = '$method/$data/$data2/fetch-data'; + } else if (data != null) { + endpoint = '$method/$data/fetch-data'; + } else { + endpoint = method; + } + + final response = await dio.get('$url/api/$endpoint'); + final status = response.statusCode; + final result = status == 200 ? json.encode(response.data) : json.encode(null); + final Map resultMap = json.decode(result); + + return resultMap; +}