io api settings api
This commit is contained in:
@@ -15,4 +15,10 @@ class PinAPIServices {
|
||||
final response = await NetworkApiService().post(url, data);
|
||||
return response;
|
||||
}
|
||||
|
||||
Future<ResponseData> updatePin(Map<String, dynamic> data) async {
|
||||
String url = ApiEndpoints.updatePinApi;
|
||||
final response = await NetworkApiService().post(url, data);
|
||||
return response;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -25,7 +25,8 @@ class PinBloc extends Bloc<PinEvent, PinState> {
|
||||
|
||||
if (newPin.length <= 6) {
|
||||
if ((event.fromscreen == "login" ||
|
||||
event.fromscreen == "LoginedInUser") &&
|
||||
event.fromscreen == "LoginedInUser" ||
|
||||
event.fromscreen == "reset-pin") &&
|
||||
newPin.length < 6) {
|
||||
emit(state.copyWith(
|
||||
pin: newPin,
|
||||
@@ -35,7 +36,8 @@ class PinBloc extends Bloc<PinEvent, PinState> {
|
||||
));
|
||||
} else {
|
||||
if ((event.fromscreen != "login" &&
|
||||
event.fromscreen != "LoginedInUser")) {
|
||||
event.fromscreen != "LoginedInUser" &&
|
||||
event.fromscreen != "reset-pin")) {
|
||||
emit(state.copyWith(
|
||||
pin: newPin,
|
||||
pinComplete: newPin.length == 6,
|
||||
@@ -51,6 +53,8 @@ class PinBloc extends Bloc<PinEvent, PinState> {
|
||||
} else if (event.fromscreen == "login" ||
|
||||
event.fromscreen == "LoginedInUser") {
|
||||
add(VerifyLoginPinPressed(newPin, event.fromscreen));
|
||||
} else if (event.fromscreen == "reset-pin") {
|
||||
add(UpdateLoginPinPressed(newPin, event.fromscreen));
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -75,12 +79,17 @@ class PinBloc extends Bloc<PinEvent, PinState> {
|
||||
emit(const PinLoading());
|
||||
final storedPin = await secureStorageService.read('pin_code');
|
||||
Map<String, dynamic> pindata = {
|
||||
"token": await secureStorageService.read("temp_token"),
|
||||
"masterPin": event.pin
|
||||
"code": await secureStorageService.read("temp_token"),
|
||||
"masterPin": event.pin,
|
||||
"confirmMasterPin": event.pin,
|
||||
};
|
||||
if (storedPin == event.pin) {
|
||||
ResponseData response = await PinAPIServices().ConfirmPin(pindata);
|
||||
if (response.status == ResponseStatus.SUCCESS) {
|
||||
await secureStorageService.write(
|
||||
'accesstoken', response.data["data"]["access"]["token"]);
|
||||
await secureStorageService.write(
|
||||
'refreshtoken', response.data["data"]["refresh"]["token"]);
|
||||
await secureStorageService.write('userMPIN', storedPin.toString());
|
||||
}
|
||||
|
||||
@@ -101,19 +110,48 @@ class PinBloc extends Bloc<PinEvent, PinState> {
|
||||
}
|
||||
});
|
||||
|
||||
on<UpdateLoginPinPressed>((event, emit) async {
|
||||
emit(const PinLoading());
|
||||
Map<String, dynamic> pindata = {
|
||||
"masterPin": event.pin,
|
||||
"confirmMasterPin": event.pin
|
||||
};
|
||||
|
||||
ResponseData response = await PinAPIServices().updatePin(pindata);
|
||||
if (response.status == ResponseStatus.SUCCESS) {
|
||||
emit(state.copyWith(
|
||||
pinComplete: true,
|
||||
pin: state.pin,
|
||||
isVerified: true,
|
||||
error: '',
|
||||
verifiedOnce: false));
|
||||
} else {
|
||||
goRouter.pop();
|
||||
emit(state.copyWith(
|
||||
pinComplete: true,
|
||||
pin: state.pin,
|
||||
isVerified: false,
|
||||
error: Globalconst.languageSelected == "en"
|
||||
? response.message
|
||||
: "رمز التعريف الشخصي غير صحيح",
|
||||
verifiedOnce: true,
|
||||
));
|
||||
}
|
||||
});
|
||||
|
||||
on<VerifyLoginPinPressed>((event, emit) async {
|
||||
emit(const PinLoading());
|
||||
Map<String, dynamic> pindata = {
|
||||
"token": await secureStorageService.read("temp_token"),
|
||||
"code": await secureStorageService.read("temp_token"),
|
||||
"masterPin": event.pin
|
||||
};
|
||||
|
||||
ResponseData response = await PinAPIServices().Verifypin(pindata);
|
||||
if (response.status == ResponseStatus.SUCCESS) {
|
||||
await secureStorageService.write(
|
||||
'accesstoken', response.data["user"]["accessToken"]);
|
||||
'accesstoken', response.data["data"]["access"]["token"]);
|
||||
await secureStorageService.write(
|
||||
'refreshtoken', response.data["user"]["refreshToken"]);
|
||||
'refreshtoken', response.data["data"]["refresh"]["token"]);
|
||||
emit(state.copyWith(
|
||||
pinComplete: true,
|
||||
pin: state.pin,
|
||||
|
||||
@@ -38,3 +38,12 @@ class VerifyLoginPinPressed extends PinEvent {
|
||||
@override
|
||||
List<Object> get props => [pin, fromscreen];
|
||||
}
|
||||
|
||||
class UpdateLoginPinPressed extends PinEvent {
|
||||
final String pin;
|
||||
final String fromscreen;
|
||||
const UpdateLoginPinPressed(this.pin, this.fromscreen);
|
||||
|
||||
@override
|
||||
List<Object> get props => [pin, fromscreen];
|
||||
}
|
||||
|
||||
@@ -50,6 +50,7 @@ class PinKey extends StatelessWidget {
|
||||
successToastMessage(
|
||||
context, localizations.translate(AppText.pinUpdatedSucess));
|
||||
goRouter.pop();
|
||||
goRouter.pop();
|
||||
} else {
|
||||
goRouter.pop();
|
||||
context.read<PinBloc>().add(SavePinPressed());
|
||||
|
||||
Reference in New Issue
Block a user