Skip to content
Snippets Groups Projects
Commit 6259a560 authored by Rakshitha Salian's avatar Rakshitha Salian
Browse files

Refractor code

parent d06e4e93
Branches
No related tags found
1 merge request!2Verify OTP screen- FE -ECAP1-24
import 'dart:async'; import 'dart:async';
import 'dart:convert'; import 'dart:convert';
import 'dart:developer'; import 'dart:developer';
import 'dart:io'; import 'package:exide_crr/utils/miscellaneous.dart';
import 'dart:math' as math;
import 'package:dio/dio.dart';
import 'package:exide_crr/constants/app_constants.dart'; import 'package:exide_crr/constants/app_constants.dart';
import 'package:exide_crr/controller/base_controller.dart'; import 'package:exide_crr/controller/base_controller.dart';
import 'package:exide_crr/data/app_env.dart'; import 'package:exide_crr/data/app_env.dart';
...@@ -25,6 +22,10 @@ final httpClient = http.Client(); ...@@ -25,6 +22,10 @@ final httpClient = http.Client();
class AllHttpRequest { class AllHttpRequest {
static String? apiUrl = AppEnvironment.baseApiUrl; static String? apiUrl = AppEnvironment.baseApiUrl;
static String? baseUrlForSendOtp = "https://http.myvfirst.com/smpp";
static String? smsData =
"The OTP to get your Free Exide Sunday Ro of Top Solar Solution Proposal is";
Map<String, String> formDataHeader = { Map<String, String> formDataHeader = {
"Content-type": "application/x-www-form-urlencoded" "Content-type": "application/x-www-form-urlencoded"
}; };
...@@ -108,76 +109,63 @@ class AllHttpRequest { ...@@ -108,76 +109,63 @@ class AllHttpRequest {
} }
/// Send otp api calls /// Send otp api calls
static const auth =
"eyJhbGciOiJIUzI1NiJ9.eyJpc3MiOiJodHRwczovL2FwaS5teXZhbHVlZmlyc3QuY29tL3BzbXMiLCJzdWIiOiJkZW1vZmFoZWVtaHRwIiwiZXhwIjozMjIzODg5MTA4fQ.fPUvq3OTlcUVQv8Qg4I3m1MKjfMFI7yESTVJPQUvmI8";
late GetToken generatedAuth; late GetToken generatedAuth;
Future generateAuth() async { Future generateAuth() async {
try { try {
//Generate authorization token for send otp ///Generate authorization token for send otp
String url = String url = '$baseUrlForSendOtp/api/sendsms/token?action=generate';
'https://http.myvfirst.com/smpp/api/sendsms/token?action=generate'; // String username = 'Exidehtptrans1';
String username = 'Exidehtptrans1'; // String password = '_<P)>lnL0{';
String password = '_<P)>lnL0{';
String basicAuth = String basicAuth =
'Basic ${base64.encode(utf8.encode('$username:$password'))}'; 'Basic ${base64.encode(utf8.encode('${AppConstants.username}:${AppConstants.password}'))}';
Map<String, String>? headers = { Map<String, String>? headers = {
"Content-type": "application/json", "Content-type": "application/json",
"Authorization": basicAuth "Authorization": basicAuth
}; };
Uri uri = Uri.parse(url); Uri uri = Uri.parse(url);
// make POST request // make POST request
var response = await http.post(uri, var response = await http.post(uri, headers: headers);
headers: headers, body: json.encode({"old_token": auth}));
if (response.statusCode == 200) { if (response.statusCode == 200) {
// If the call to the server was successful, parse the JSON. /// If the call to the server was successful, parse the JSON.
generatedAuth = GetToken.fromJson(jsonDecode(response.body)); generatedAuth = GetToken.fromJson(jsonDecode(response.body));
///Use generatedAuth to send SMS
sendOtp(); sendOtp();
} else { } else {
Fluttertoast.showToast(msg: apiError.tr); Fluttertoast.showToast(msg: apiError.tr);
throw Error(); throw Error();
} }
} catch (e) { } catch (e) {
Fluttertoast.showToast(msg: apiError.tr); Fluttertoast.showToast(msg: apiError.tr);
throw Error(); throw Error();
} }
} }
String generateOTP() {
final math.Random random = math.Random();
final int otp = 1000 + random.nextInt(9000); // Ensures a 4-digit number
return otp.toString();
}
Future sendOtp() async { Future sendOtp() async {
try { try {
final baseController = Get.find<BaseController>(); final baseController = Get.find<BaseController>();
baseController.generatedOtp.value = generateOTP();
//Send locally generated 4 digit otp to api ///Locally generated 4 digit otp
// set up POST request arguments baseController.generatedOtp.value = Miscellaneous.generateOTP();
String url =
'https://http.myvfirst.com/smpp/sendsms?to=919945215727&from=ExideB&text=The OTP to get your Free Exide Sunday Ro of Top Solar Solution Proposal is ${baseController.generatedOtp.value} -EXIDE'; ///Static smsData along with generated otp
var smsContent='$smsData ${baseController.generatedOtp.value} -EXIDE';
///Set up POST request arguments
String url = '$baseUrlForSendOtp/sendsms?to=${baseController.userPhoneNumber}&from=ExideB&text=$smsContent';
Map<String, String>? headers = { Map<String, String>? headers = {
"Content-type": "application/json", "Content-type": "application/json",
"Authorization": "Bearer ${generatedAuth.token}", "Authorization": "Bearer ${generatedAuth.token}",
}; };
Uri uri = Uri.parse(url); Uri uri = Uri.parse(url);
// make POST request
var response = await http.post(uri, headers: headers); var response = await http.post(uri, headers: headers);
print(response.body);
if (response.statusCode == 200) { if (response.statusCode == 200) {
// // If the call to the server was successful, parse the JSON. ///If success do nothing
// Fluttertoast.showToast(msg: apiError.tr);
} else { } else {
Fluttertoast.showToast(msg: apiError.tr); Fluttertoast.showToast(msg: apiError.tr);
throw Error(); throw Error();
} }
} catch (e) { } catch (e) {
Fluttertoast.showToast(msg: apiError.tr); Fluttertoast.showToast(msg: apiError.tr);
...@@ -604,7 +592,7 @@ class AllHttpRequest { ...@@ -604,7 +592,7 @@ class AllHttpRequest {
case 500: case 500:
default: default:
throw FetchDataException(responseJson['message'] ?? throw FetchDataException(responseJson['message'] ??
'${AppConstants.communicationError} : ${response.statusCode}'); ' Error occurred while Communication with Server with StatusCode : ${response.statusCode}');
} }
} }
......
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment