Files
GSFV2/gsf/lib/api/network_api.dart
2024-04-22 23:50:28 -07:00

123 lines
3.9 KiB
Dart

import 'package:dio/dio.dart';
import 'package:flutter/foundation.dart';
import 'package:get_storage/get_storage.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'base_manager.dart';
class NetworkApi {
Dio dio = Dio();
// Future<ResponseData<dynamic>> postApiHttp(
// String token, String url, Map<String, String> body) async {
// var headers = {
// "access-token": token
// // 'Authorization': 'Bearer $token',
// // 'Cookie': 'laravel_session=eyJpdiI6ImcwS2NYNlJYam4wcU1YUXJsYWZsb2c9PSIsInZhbHVlIjoiK0hvT3c5NmZFQ0NDajYxTUFaaVluWkpYbUkwYk1JbldyTVJwZitMN05zWnliaVdBNWZjTXpyVG5UODM1MTBaMzQwUCtNc3lGak5MQWRZamh2dWIvdzIxQnNVVWQrQi9NUi9YTS9PQWgxMlZHTENUNU0zY0VVazluNEplTFFvbGgiLCJtYWMiOiJkNjA0NjA4YWJhZDkxODA0YmQ2MTViNzc1MTg4OWRiODMzMjI5OGE0ZDI3MDRhMTAzM2E1MGY4ODQyMjI1NGIxIiwidGFnIjoiIn0%3D'
// };
// var request = http.MultipartRequest('POST', Uri.parse(url));
// request.fields.addAll(body);
// request.headers.addAll(headers);
// http.StreamedResponse response = await request.send();
// if (response.statusCode == 200) {
// var resp = await response.stream.bytesToString();
// print(resp);
// return ResponseData<dynamic>(
// "success",
// ResponseStatusValue.SUCCESS,
// );
// // return await response.stream.bytesToString();
// }
// // if (response.statusCode == 400) {
// // var resp = await response.stream.bytesToString();
// // var jsonResp = jsonDecode(resp);
// // print(jsonResp);
// // return ResponseData<dynamic>(
// // jsonResp["message"],
// // ResponseStatusValue.FAILED,
// // );
// // // return await response.stream.bytesToString();
// // }
// else {
// return ResponseData<dynamic>(
// response.reasonPhrase!,
// ResponseStatusValue.FAILED,
// );
// // return response.reasonPhrase!;
// }
// }
Future<ResponseData> getApi(String url) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token');
try {
response = await dio.get(url,
options:
Options(headers: {"access-token": GetStorage().read('token')}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
Future<ResponseData> postApi({data, required String url}) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
var token = GetStorage().read('token');
Response response;
// print("calling from token $token");
try {
response = await dio.post(url,
data: data,
options:
Options(headers: {"access-token": GetStorage().read('token')}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Opps something went wrong', ResponseStatus.FAILED);
}
// if (kDebugMode) {
// print(response);
// }
// print("response in post $response");
if (response.statusCode == 200) {
// print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
}