move logout function from helper to authentication view model

auth_refactor
Elham Rababah 5 years ago
parent c9e7fb9883
commit e0be4ec1be

@ -3,6 +3,7 @@ import 'dart:io' show Platform;
import 'package:doctor_app_flutter/config/config.dart';
import 'package:doctor_app_flutter/config/shared_pref_kay.dart';
import 'package:doctor_app_flutter/core/viewModel/authentication_view_model.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/patient/patiant_info_model.dart';
import 'package:doctor_app_flutter/util/dr_app_shared_pref.dart';
@ -97,7 +98,7 @@ class BaseAppClient {
if (body['OTP_SendType'] != null) {
onFailure(getError(parsed), statusCode);
} else if (!isAllowAny) {
await Helpers.logout();
await AuthenticationViewModel().logout();
Helpers.showErrorToast('Your session expired Please login again');
}
if (isAllowAny) {

@ -326,9 +326,6 @@ var SERVICES_PATIANT_HEADER_AR = [
"المريض المحول مني",
"المريض الواصل"
];
//******************
// Colors ////// by : ibrahim
var DEVICE_TOKEN = "";
const PRIMARY_COLOR = 0xff515B5D;

@ -23,10 +23,13 @@ import 'package:doctor_app_flutter/models/doctor/clinic_model.dart';
import 'package:doctor_app_flutter/models/doctor/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/doctor/profile_req_Model.dart';
import 'package:doctor_app_flutter/models/doctor/user_model.dart';
import 'package:doctor_app_flutter/screens/auth/verification_methods_screen.dart';
import 'package:doctor_app_flutter/screens/auth/login_screen.dart';
import 'package:doctor_app_flutter/util/dr_app_toast_msg.dart';
import 'package:doctor_app_flutter/util/helpers.dart';
import 'package:doctor_app_flutter/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart';
import 'package:local_auth/auth_strings.dart';
import 'package:local_auth/local_auth.dart';
@ -355,10 +358,6 @@ class AuthenticationViewModel extends BaseViewModel {
sharedPref.setObj(
LAST_LOGIN_USER, _authService.dashboardItemsList[0]);
this.unverified = true;
// Navigator.of(AppGlobal.CONTEX).pushReplacement(MaterialPageRoute(
// builder: (BuildContext context) => VerificationMethodsScreen(
// password: null,
// )));
}
setState(ViewState.Idle);
}
@ -369,7 +368,7 @@ class AuthenticationViewModel extends BaseViewModel {
}
APP_STATUS get stutas {
APP_STATUS get status {
if (state == ViewState.Busy) {
return APP_STATUS.LOADING;
} else {
@ -383,4 +382,19 @@ class AuthenticationViewModel extends BaseViewModel {
}
}
logout() async {
DEVICE_TOKEN = "";
String lang = await sharedPref.getString(APP_Language);
await Helpers.clearSharedPref();
sharedPref.setString(APP_Language, lang);
ProjectViewModel().isLogin = false;
Navigator.pushAndRemoveUntil(
AppGlobal.CONTEX,
FadePage(
page: LoginScreen(),
),
(r) => false);
}
}

@ -15,7 +15,7 @@ class RootPage extends StatelessWidget {
Widget build(BuildContext context) {
AuthenticationViewModel authenticationViewModel = Provider.of(context);
Widget buildRoot() {
switch (authenticationViewModel.stutas) {
switch (authenticationViewModel.status) {
case APP_STATUS.LOADING:
return Scaffold(
body: AppLoaderWidget(),

@ -144,20 +144,6 @@ class Helpers {
await sharedPref.clear();
}
static logout() async {
DEVICE_TOKEN = "";
String lang = await sharedPref.getString(APP_Language);
await clearSharedPref();
sharedPref.setString(APP_Language, lang);
ProjectViewModel().isLogin = false;
Navigator.pushAndRemoveUntil(
AppGlobal.CONTEX,
FadePage(
page: LoginScreen(),
),
(r) => false);
}
navigateToUpdatePage(String message, String androidLink, iosLink) {
Navigator.pushAndRemoveUntil(
AppGlobal.CONTEX,

@ -172,7 +172,7 @@ class _AppDrawerState extends State<AppDrawer> {
),
onTap: () async {
Navigator.pop(context);
await Helpers.logout();
await AuthenticationViewModel().logout();
projectsProvider.isLogin = false;
},
),

Loading…
Cancel
Save