Files
Traders_Circuit/lib/data/network/network_api_services.dart

159 lines
4.7 KiB
Dart
Raw Normal View History

import 'dart:developer';
import 'package:flutter/foundation.dart';
import 'package:shared_preferences/shared_preferences.dart';
import 'package:dio/dio.dart';
import 'package:traderscircuit/Utils/utils.dart';
import '../../Utils/base_manager.dart';
import 'base_api_services.dart';
class NetworkApiServices extends BaseApiServices {
Dio dio = Dio();
@override
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').toString();
log(token);
try {
response = await dio.get(
url,
// options: Options(headers: {
// 'authorization': "Bearer $token",
// // "device-id": deviceId
// })
);
if (response.statusCode == 200) {
return ResponseData<dynamic>(
"success",
data: response.data,
ResponseStatus.SUCCESS,
);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
} on Exception catch (e) {
if (e is DioException) {
if (e.response == null) {
// Get.to(() => const ErrorScreen());
} else {}
}
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
}
@override
Future<ResponseData> postApi(data, String url) async {
if (kDebugMode) {
print("data >>> $data");
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token');
try {
response = await dio.post(url,
data: data,
options: (token == null || token == "")
? Options(
headers: {
"Authorization":
"Basic KzIkcVBiSlIzNncmaGUoalMmV0R6ZkpqdEVoSlVLVXA6dCRCZHEmSnQmc3Y0eUdqY0VVcTg5aEVZZHVSalhIMnU=",
},
)
: Options(headers: {
"Authorization": "Bearer $token",
//'access-token': token,
}));
} on Exception catch (e) {
if (e is DioException) {
log(e.response.toString());
if (e.response == null) {
// Get.to(() => const ErrorScreen());
}
}
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>("success", ResponseStatus.SUCCESS,
data: response.data);
} else if (response.statusCode == 203) {
print(response.data);
return ResponseData<dynamic>("validation", ResponseStatus.PRIVATE,
data: response.data);
} else if (response.statusCode == 202) {
print(response.data);
return ResponseData<dynamic>("success", ResponseStatus.PRIVATE,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
@override
Future<ResponseData> deleteApi(String url, data) async {
if (kDebugMode) {
print("api url is >>> $url");
}
Response response;
SharedPreferences prefs = await SharedPreferences.getInstance();
String? token = prefs.getString('token').toString();
log(token);
try {
response = await dio.delete(url,
data: data,
options: Options(headers: {
'authorization': "Bearer $token",
// "device-id": deviceId
}));
} on Exception catch (_) {
return ResponseData<dynamic>(
'Oops something Went Wrong', ResponseStatus.FAILED);
}
if (response.statusCode == 200) {
return ResponseData<dynamic>(
"success",
data: response.data,
ResponseStatus.SUCCESS,
);
} else if (response.statusCode == 203) {
Utils.showToast(response.data["message"]);
return ResponseData<dynamic>("validation", ResponseStatus.PRIVATE,
data: response.data);
} else {
try {
return ResponseData<dynamic>(
response.data['message'].toString(), ResponseStatus.FAILED);
} catch (_) {
return ResponseData<dynamic>(
response.statusMessage!, ResponseStatus.FAILED);
}
}
}
}