147 lines
4.3 KiB
Dart
147 lines
4.3 KiB
Dart
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, {bool isAuth = false}) 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: {
|
|
isAuth ? 'authorization' : "Bearer $token": "",
|
|
}));
|
|
|
|
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, {bool isAuth = false}) 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: Options(headers: {
|
|
isAuth ? 'authorization' : "Bearer $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);
|
|
}
|
|
}
|
|
}
|
|
}
|