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

@ -326,9 +326,6 @@ var SERVICES_PATIANT_HEADER_AR = [
"المريض المحول مني", "المريض المحول مني",
"المريض الواصل" "المريض الواصل"
]; ];
//******************
// Colors ////// by : ibrahim
var DEVICE_TOKEN = ""; var DEVICE_TOKEN = "";
const PRIMARY_COLOR = 0xff515B5D; 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/doctor_profile_model.dart';
import 'package:doctor_app_flutter/models/doctor/profile_req_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/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/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/util/translations_delegate_base.dart';
import 'package:doctor_app_flutter/widgets/transitions/fade_page.dart';
import 'package:firebase_messaging/firebase_messaging.dart'; import 'package:firebase_messaging/firebase_messaging.dart';
import 'package:flutter/material.dart';
import 'package:flutter/services.dart'; import 'package:flutter/services.dart';
import 'package:local_auth/auth_strings.dart'; import 'package:local_auth/auth_strings.dart';
import 'package:local_auth/local_auth.dart'; import 'package:local_auth/local_auth.dart';
@ -355,10 +358,6 @@ class AuthenticationViewModel extends BaseViewModel {
sharedPref.setObj( sharedPref.setObj(
LAST_LOGIN_USER, _authService.dashboardItemsList[0]); LAST_LOGIN_USER, _authService.dashboardItemsList[0]);
this.unverified = true; this.unverified = true;
// Navigator.of(AppGlobal.CONTEX).pushReplacement(MaterialPageRoute(
// builder: (BuildContext context) => VerificationMethodsScreen(
// password: null,
// )));
} }
setState(ViewState.Idle); setState(ViewState.Idle);
} }
@ -369,7 +368,7 @@ class AuthenticationViewModel extends BaseViewModel {
} }
APP_STATUS get stutas { APP_STATUS get status {
if (state == ViewState.Busy) { if (state == ViewState.Busy) {
return APP_STATUS.LOADING; return APP_STATUS.LOADING;
} else { } 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) { Widget build(BuildContext context) {
AuthenticationViewModel authenticationViewModel = Provider.of(context); AuthenticationViewModel authenticationViewModel = Provider.of(context);
Widget buildRoot() { Widget buildRoot() {
switch (authenticationViewModel.stutas) { switch (authenticationViewModel.status) {
case APP_STATUS.LOADING: case APP_STATUS.LOADING:
return Scaffold( return Scaffold(
body: AppLoaderWidget(), body: AppLoaderWidget(),

@ -144,20 +144,6 @@ class Helpers {
await sharedPref.clear(); 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) { navigateToUpdatePage(String message, String androidLink, iosLink) {
Navigator.pushAndRemoveUntil( Navigator.pushAndRemoveUntil(
AppGlobal.CONTEX, AppGlobal.CONTEX,

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

Loading…
Cancel
Save