25-2/24/1

This commit is contained in:
Hamza-Ayed
2025-02-24 23:38:01 +03:00
parent 5f53461b34
commit d41314cfed
64 changed files with 1180 additions and 494 deletions

View File

@@ -1,6 +1,8 @@
import 'dart:convert';
import 'dart:io';
import 'dart:math';
import 'package:http/http.dart' as http;
import 'package:secure_string_operations/secure_string_operations.dart';
import 'package:sefer_driver/controller/functions/location_background_controller.dart';
import 'package:sefer_driver/views/auth/captin/cards/sms_signup.dart';
import 'package:sefer_driver/views/widgets/elevated_btn.dart';
@@ -15,10 +17,16 @@ import 'package:sefer_driver/main.dart';
import 'package:sefer_driver/views/home/Captin/home_captain/home_captin.dart';
import 'package:location/location.dart';
import '../../../constant/api_key.dart';
import '../../../constant/char_map.dart';
import '../../../constant/info.dart';
import '../../../constant/table_names.dart';
import '../../../print.dart';
import '../../../views/auth/captin/cards/egypt_card_a_i.dart';
import '../../firebase/firbase_messge.dart';
import '../../functions/encrypt_decrypt.dart';
import '../../functions/package_info.dart';
import '../../functions/secure_storage.dart';
class LoginDriverController extends GetxController {
final formKey = GlobalKey<FormState>();
@@ -82,6 +90,77 @@ class LoginDriverController extends GetxController {
update();
}
var dev = '';
getJwtWallet() async {
await SecurityHelper.performSecurityChecks();
String fingerPrint = await getDeviceFingerprint();
dev = Platform.isAndroid ? 'android' : 'ios';
var payload = {
'id': box.read(BoxName.passengerID),
'password': AK.passnpassenger,
'aud': '${AK.allowed}$dev',
'fingerPrint': fingerPrint
};
var response1 = await http.post(
Uri.parse(AppLink.loginJwtWalletDriver),
body: payload,
);
return jsonDecode(response1.body)['jwt'].toString();
}
getJWT() async {
// await SecurityHelper.performSecurityChecks();
dev = Platform.isAndroid ? 'android' : 'ios';
if (box.read(BoxName.firstTimeLoadKey).toString() != 'false') {
var response0 = await http.post(
Uri.parse(AppLink.loginFirstTimeDriver),
body: {
'id': box.read(BoxName.passengerID) ?? AK.newId,
'password': AK.passnpassenger,
'aud': '${AK.allowed}$dev',
},
);
if (response0.statusCode == 200) {
final decodedResponse1 = jsonDecode(response0.body);
final jwt = decodedResponse1['jwt'];
box.write(BoxName.jwt, X.c(X.c(X.c(jwt, cn), cC), cs));
await AppInitializer().getAIKey(Driver.keyOfApp);
await AppInitializer().getAIKey(Driver.initializationVector);
await Future.delayed(Duration.zero);
await EncryptionHelper.initialize();
await AppInitializer().getAIKey(Driver.payMobApikey);
await AppInitializer().getAIKey(Driver.FCM_PRIVATE_KEY);
await AppInitializer().getKey();
} else {}
} else {
await EncryptionHelper.initialize();
var payload = {
'id': box.read(BoxName.passengerID),
'password': AK.passnpassenger,
'aud': '${AK.allowed}$dev',
};
var response1 = await http.post(
Uri.parse(AppLink.loginJwtDriver),
body: payload,
);
if (response1.statusCode == 200) {
final decodedResponse1 = jsonDecode(response1.body);
Log.print('decodedResponse1: ${decodedResponse1}');
final jwt = decodedResponse1['jwt'];
await box.write(BoxName.jwt, X.c(X.c(X.c(jwt, cn), cC), cs));
await AppInitializer().getKey();
}
}
}
Future<void> getLocationPermission() async {
Get.put(LocationBackgroundController()).requestLocationPermission();
@@ -119,7 +198,7 @@ class LoginDriverController extends GetxController {
update();
var res = await CRUD().get(link: AppLink.loginFromGoogleCaptin, payload: {
'email': email.toString().contains('@')
? encryptionHelper.encryptData(email)
? EncryptionHelper.instance.encryptData(email)
: email,
'id': driverID,
});
@@ -161,13 +240,13 @@ class LoginDriverController extends GetxController {
(jsonDecoeded['data'][0]['accountBank']));
box.write(
BoxName.nameDriver,
'${encryptionHelper.decryptData(jsonDecoeded['data'][0]['first_name'])}'
' ${encryptionHelper.decryptData(jsonDecoeded['data'][0]['last_name'])}');
'${EncryptionHelper.instance.decryptData(jsonDecoeded['data'][0]['first_name'])}'
' ${EncryptionHelper.instance.decryptData(jsonDecoeded['data'][0]['last_name'])}');
if (((jsonDecoeded['data'][0]['model'])
.toString()
.contains('دراجه') ||
jsonDecoeded['data'][0]['make'].toString().contains('دراجه '))) {
if (encryptionHelper
if (EncryptionHelper.instance
.decryptData(jsonDecoeded['data'][0]['gender'])
.toString() ==
'Male') {
@@ -197,13 +276,14 @@ class LoginDriverController extends GetxController {
payload: {'captain_id': (box.read(BoxName.driverID)).toString()});
if (token != 'failure') {
if (encryptionHelper
if (EncryptionHelper.instance
.decryptData(jsonDecode(token)['data'][0]['token']) !=
encryptionHelper.decryptData(box.read(BoxName.tokenDriver))) {
EncryptionHelper.instance
.decryptData(box.read(BoxName.tokenDriver))) {
Get.put(FirebaseMessagesController()).sendNotificationToDriverMAP(
'token change'.tr,
'change device'.tr,
encryptionHelper
EncryptionHelper.instance
.decryptData(jsonDecode(token)['data'][0]['token'])
.toString(),
[],
@@ -262,11 +342,11 @@ class LoginDriverController extends GetxController {
update();
var res = await CRUD()
.get(link: AppLink.loginUsingCredentialsWithoutGoogle, payload: {
'email': encryptionHelper.encryptData(email),
'email': EncryptionHelper.instance.encryptData(email),
'password': password,
});
box.write(
BoxName.emailDriver, encryptionHelper.encryptData(email).toString());
box.write(BoxName.emailDriver,
EncryptionHelper.instance.encryptData(email).toString());
print(res);
if (res == 'failure') {
//Failure
@@ -292,7 +372,7 @@ class LoginDriverController extends GetxController {
box.write(BoxName.phoneDriver, (jsonDecoeded['data'][0]['phone']));
box.write(
BoxName.nameArabic,
encryptionHelper
EncryptionHelper.instance
.decryptData(jsonDecoeded['data'][0]['name_arabic']));
box.write(
BoxName.bankCodeDriver, (jsonDecoeded['data'][0]['bankCode']));
@@ -300,11 +380,11 @@ class LoginDriverController extends GetxController {
jsonDecoeded['data'][0]['accountBank']);
box.write(
BoxName.nameDriver,
'${encryptionHelper.decryptData(jsonDecoeded['data'][0]['first_name'])}'
' ${encryptionHelper.decryptData(jsonDecoeded['data'][0]['last_name'])}');
'${EncryptionHelper.instance.decryptData(jsonDecoeded['data'][0]['first_name'])}'
' ${EncryptionHelper.instance.decryptData(jsonDecoeded['data'][0]['last_name'])}');
if ((jsonDecoeded['data'][0]['model'].toString().contains('دراجه') ||
jsonDecoeded['data'][0]['make'].toString().contains('دراجه '))) {
if (encryptionHelper
if (EncryptionHelper.instance
.decryptData(jsonDecoeded['data'][0]['gender'])
.toString() ==
'Male') {
@@ -314,7 +394,7 @@ class LoginDriverController extends GetxController {
}
} else if (int.parse(jsonDecoeded['data'][0]['year'].toString()) >
2017) {
if (encryptionHelper
if (EncryptionHelper.instance
.decryptData(jsonDecoeded['data'][0]['gender'])
.toString() !=
'Male') {
@@ -337,13 +417,14 @@ class LoginDriverController extends GetxController {
payload: {'captain_id': box.read(BoxName.driverID).toString()});
if (token != 'failure') {
if (encryptionHelper
if (EncryptionHelper.instance
.decryptData(jsonDecode(token)['data'][0]['token']) !=
encryptionHelper.decryptData(box.read(BoxName.tokenDriver))) {
EncryptionHelper.instance
.decryptData(box.read(BoxName.tokenDriver))) {
Get.put(FirebaseMessagesController()).sendNotificationToDriverMAP(
'token change'.tr,
'change device'.tr,
encryptionHelper
EncryptionHelper.instance
.decryptData(jsonDecode(token)['data'][0]['token'])
.toString(),
[],