io api settings api

This commit is contained in:
jayesh
2024-07-26 16:54:11 +05:30
parent e5aaf103da
commit 285f9f1d81
34 changed files with 85 additions and 42 deletions

View File

@@ -1,4 +1,5 @@
import 'package:flutter_secure_storage/flutter_secure_storage.dart';
import 'package:shared_preferences/shared_preferences.dart';
class SecureStorageService {
final FlutterSecureStorage _storage = const FlutterSecureStorage(
@@ -19,3 +20,21 @@ class SecureStorageService {
await _storage.delete(key: key);
}
}
class SharedPreferenceLocalData {
Future<void> write(String key, String value) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
await prefs.setString(key, value);
}
Future<String?> read(String key) async {
final SharedPreferences prefs = await SharedPreferences.getInstance();
return prefs.getString(key);
}
// Future<void> delete(String key) async {
// await _storage.delete(key: key);
// }
}

View File

@@ -13,7 +13,7 @@ import 'biometric_state.dart';
class BiometricBloc extends Bloc<BiometricEvent, BiometricState> {
final LocalAuthentication localAuthentication;
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
BiometricBloc(this.localAuthentication, this.secureStorageService)
: super(BiometricInitial()) {

View File

@@ -19,7 +19,8 @@ class BiometricLayout extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
String biometricImage = "";
if (Platform.isIOS) {
biometricImage = AppImages.biometricFace;

View File

@@ -31,8 +31,8 @@ class ChangePasswordBloc
emit(ChangePasswordLoading());
try {
Map<String, dynamic> dataForm = {
"oldPassword": event.currentPassword,
"newPassword": event.password,
"oldPassword": event.password,
"newPassword": event.currentPassword,
"confirmNewPassword": event.repeatPassword,
};
ResponseData response =

View File

@@ -11,7 +11,7 @@ import 'restore_password_phone_verification_state.dart';
class RestorePasswordPhoneVerificationBloc extends Bloc<
RestorePasswordPhoneVerificationEvent,
RestorePasswordPhoneVerificationState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
String isdcode = "";
String countryId = "";
@@ -33,16 +33,16 @@ class RestorePasswordPhoneVerificationBloc extends Bloc<
emit(RestorePasswordPhoneVerificationLoading());
try {
Map<String, dynamic> dataForm = {
"countryId": event.id,
"phoneNumber": event.phoneNumber
"ISDcode": event.countryISDCode,
"mobileNumber": event.phoneNumber
};
ResponseData response =
await ForgotPasswordApi().forgotPasswordApi(dataForm);
if (response.status == ResponseStatus.SUCCESS) {
var data = response.data["data"];
await secureStorageService.write('temp_token', data["token"]);
Globalconst.token = data["token"];
await secureStorageService.write('temp_token', data);
Globalconst.token = data;
emit(RestorePasswordPhoneVerificationSuccess());
} else {
emit(RestorePasswordPhoneVerificationFailure(response.message));

View File

@@ -12,11 +12,13 @@ class RestorePasswordPhoneVerificationSubmitted
final String phoneNumber;
final String countryResidence;
final String id;
final String countryISDCode;
const RestorePasswordPhoneVerificationSubmitted(
this.phoneNumber,
this.countryResidence,
this.id,
this.countryISDCode,
);
@override

View File

@@ -12,7 +12,8 @@ class RestorePasswordPhoneVerificationScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final radioBloc = context.read<RadioBloc>();
return WillPopScope(
onWillPop: () async {

View File

@@ -80,7 +80,8 @@ class RestorePasswordPhoneVerificationBottomSection extends StatelessWidget {
.phoneNumberTextField
.text,
"",
restorePasswordBloc.countryId),
restorePasswordBloc.countryId,
restorePasswordBloc.isdcode),
)
: null;
},

View File

@@ -22,7 +22,8 @@ import '../bloc/text_bloc/text_event.dart';
Widget bottomSection(BuildContext context) {
var localizations = AppLocalizations.of(context);
final radioBloc = context.read<ChooseLanguageBloc>();
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Column(
mainAxisSize: MainAxisSize.min,
children: [

View File

@@ -14,7 +14,8 @@ class CountrySelectionList extends StatelessWidget {
@override
Widget build(BuildContext context) {
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final radioBloc = context.read<ChooseLanguageBloc>();
_initializeLanguageSelection(radioBloc, secureStorageService);
@@ -51,9 +52,9 @@ class CountrySelectionList extends StatelessWidget {
}
void _initializeLanguageSelection(ChooseLanguageBloc radioBloc,
SecureStorageService secureStorageService) async {
SharedPreferenceLocalData secureStorageService) async {
String languageSelected =
(await secureStorageService.read("languageSelected")) ?? "";
await (secureStorageService.read("languageSelected")) ?? "";
if (languageSelected.isEmpty) {
radioBloc.add(const ChooseLanguageSelected(0));

View File

@@ -9,7 +9,7 @@ import 'login_event.dart';
import 'login_state.dart';
class LoginBloc extends Bloc<LoginEvent, LoginState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
final TextEditingController countrySelectionTextField =
TextEditingController();

View File

@@ -14,7 +14,8 @@ class LoginScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final radioBloc = context.read<RadioBloc>();
return WillPopScope(

View File

@@ -28,7 +28,8 @@ class BottomSection extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final radioBloc = context.read<RadioBloc>();
var loginbloc = context.read<LoginBloc>();
return Column(

View File

@@ -10,7 +10,7 @@ import 'otp_event.dart';
import 'otp_state.dart';
class OtpBloc extends Bloc<OtpEvent, OtpState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
final TextEditingController otpController = TextEditingController();
OtpBloc({required this.secureStorageService}) : super(OtpInitial()) {
on<StartListeningForOtp>(_onStartListeningForOtp);

View File

@@ -20,7 +20,8 @@ class OtpScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Scaffold(
backgroundColor: AppColor.plainWhite,
resizeToAvoidBottomInset: true,

View File

@@ -24,7 +24,8 @@ class ResendOtpSection extends StatelessWidget {
Widget build(BuildContext context) {
String token = "";
getToken() async {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
token = await secureStorageService.read('temp_token') ?? "";
}

View File

@@ -8,7 +8,7 @@ import 'register_event.dart';
import 'register_state.dart';
class RegisterBloc extends Bloc<RegisterEvent, RegisterState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
final TextEditingController countrySelectionTextField =
TextEditingController();

View File

@@ -8,7 +8,7 @@ import 'register_user_event.dart';
import 'register_user_state.dart';
class RegisterUserBloc extends Bloc<RegisterUserEvent, RegisterUserState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
final GlobalKey<FormState> formKey = GlobalKey<FormState>();
final TextEditingController firstNameTextField = TextEditingController();
final TextEditingController lastNameTextField = TextEditingController();
@@ -47,7 +47,7 @@ class RegisterUserBloc extends Bloc<RegisterUserEvent, RegisterUserState> {
await RegisterAPIService().RegisterRequest(registerdata);
if (response.status == ResponseStatus.SUCCESS) {
var data = response.data["data"];
secureStorageService.write("temp_token", data["token"].toString());
secureStorageService.write("temp_token", data.toString());
emit(RegisterUserSuccess());
} else {
emit(RegisterUserFailure(response.message));

View File

@@ -12,7 +12,8 @@ class RegisterScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final radioBloc = context.read<RadioBloc>();
return WillPopScope(
onWillPop: () async {

View File

@@ -14,7 +14,8 @@ class RegisterUserDetailsScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Scaffold(
backgroundColor: AppColor.plainWhite,
resizeToAvoidBottomInset: true,

View File

@@ -33,7 +33,8 @@ class RegisterUserBottomSection extends StatelessWidget {
Widget build(BuildContext context) {
String token = "";
getToken() async {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
token = await secureStorageService.read("temp_token") ?? "";
}

View File

@@ -11,8 +11,7 @@ part 'pin_event.dart';
part 'pin_state.dart';
class PinBloc extends Bloc<PinEvent, PinState> {
final SecureStorageService secureStorageService;
final SharedPreferenceLocalData secureStorageService;
PinBloc({required this.secureStorageService})
: super(const PinState(
pin: '',

View File

@@ -15,7 +15,8 @@ class ConfirmPinScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Scaffold(
backgroundColor: AppColor.plainWhite,
appBar: AppBarWidget(

View File

@@ -17,7 +17,8 @@ class PinScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return WillPopScope(
onWillPop: () async {
if (fromScreen == "login" ||

View File

@@ -19,7 +19,8 @@ class ConfirmPinKey extends StatelessWidget {
@override
Widget build(BuildContext context) {
var localizations = AppLocalizations.of(context);
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Column(
children: [
const Gap(20),

View File

@@ -20,7 +20,8 @@ class SplashScreen extends StatelessWidget {
@override
Widget build(BuildContext context) {
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return Scaffold(
backgroundColor: AppColor.plainWhite,

View File

@@ -63,7 +63,8 @@ class MyApp extends StatefulWidget {
}
class _MyAppState extends State<MyApp> with WidgetsBindingObserver {
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final NetworkConnectivity _networkConnectivity =
NetworkConnectivity(onStatusChange: (_) {});
String languageSelected = "";

View File

@@ -9,7 +9,8 @@ import '../../Api_Helper/base_manager.dart';
import '../../core/utils/secure/secure_storage_service.dart';
class NetworkApiService {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
final Dio _dio = Dio(BaseOptions(
validateStatus: (status) {

View File

@@ -13,7 +13,8 @@ import 'toggle_state.dart';
class ToggleBloc extends Bloc<ToggleEvent, ToggleState> {
final String type;
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
ToggleBloc(this.type) : super(ToggleInitial()) {
on<ToggleSwitch>(_onToggleSwitch);

View File

@@ -19,7 +19,8 @@ deviceLockedDialog(
context,
) {
var localizations = AppLocalizations.of(context);
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return showDialog(
barrierDismissible: false,
context: context,

View File

@@ -15,7 +15,8 @@ import 'text_widget.dart';
forgotPasswordlogoutdialog(context) {
var localizations = AppLocalizations.of(context);
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return showDialog(
context: context,
builder: (context) => Column(

View File

@@ -13,7 +13,8 @@ import 'bloc/language/lng_bloc.dart';
import 'bloc/language/lng_event.dart';
void showLanguageBottomSheet(BuildContext context) {
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
showModalBottomSheet(
backgroundColor: Colors.transparent,
context: context,

View File

@@ -15,7 +15,8 @@ import 'text_widget.dart';
buildprofilelogoutdialog(context) {
var localizations = AppLocalizations.of(context);
SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return showDialog(
context: context,
builder: (context) => Column(

View File

@@ -21,8 +21,8 @@ permissionDialog(
context,
) {
var localizations = AppLocalizations.of(context);
final SecureStorageService secureStorageService = SecureStorageService();
final SharedPreferenceLocalData secureStorageService =
SharedPreferenceLocalData();
return showDialog(
barrierDismissible: true,
context: context,