add disable customer function

This commit is contained in:
Sai Naw Wun
2020-10-17 01:40:24 +06:30
parent 13fa1903bc
commit fa9738f307
28 changed files with 196 additions and 205 deletions

View File

@@ -8,6 +8,7 @@ import 'package:fcs/domain/entities/setting.dart';
import 'package:fcs/domain/entities/user.dart';
import 'package:fcs/domain/exceiptions/signin_exception.dart';
import 'package:fcs/helpers/api_helper.dart';
import 'package:fcs/helpers/firebase_helper.dart';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:logging/logging.dart';
@@ -113,12 +114,11 @@ class AuthFb {
Future<void> _addUserToStream({bool refreshIdToken = false}) async {
FirebaseUser firebaseUser = await _fb.currentUser();
if (firebaseUser == null) return null;
IdTokenResult idToken =
await firebaseUser.getIdToken(refresh: refreshIdToken);
Map claims = await getClaims(refreshIdToken: refreshIdToken);
log.info("Claims:${idToken.claims}");
log.info("Claims:$claims");
String cid = idToken.claims["cid"];
String cid = claims["cid"];
User user;
if (cid != null && cid != "") {
user = await _getUserFromFirestore(cid);
@@ -129,7 +129,7 @@ class AuthFb {
}
// add privileges
String privileges = idToken.claims["pr"];
String privileges = claims["pr"];
if (privileges != null && privileges != "") {
user.privileges = privileges.split(":").toList();
} else {
@@ -194,12 +194,6 @@ class AuthFb {
payload: {"preferred_currency": currency}, token: await getToken());
}
Future<String> getToken() async {
FirebaseUser firebaseUser = await _fb.currentUser();
IdTokenResult token = await firebaseUser.getIdToken();
return token.token;
}
Stream<Setting> settings() async* {
Stream<DocumentSnapshot> snapshot = Firestore.instance
.collection(config_collection)
@@ -215,8 +209,8 @@ class AuthFb {
Future<String> _getCurrentUserID() async {
FirebaseUser firebaseUser = await _fb.currentUser();
if (firebaseUser == null) return null;
IdTokenResult idToken = await firebaseUser.getIdToken();
String cid = idToken.claims["cid"];
Map claims = await getClaims();
String cid = claims["cid"];
return cid;
}
@@ -239,14 +233,17 @@ class AuthFb {
userListener.cancel();
return;
}
// get privilege from claim
IdTokenResult idToken = await firebaseUser.getIdToken(refresh: true);
String privileges = idToken.claims["pr"];
if (privileges != null && privileges != "") {
user.privileges = privileges.split(":").toList();
try {
// get privilege from claim
IdTokenResult idToken = await firebaseUser.getIdToken(refresh: true);
String privileges = idToken.claims["pr"];
if (privileges != null && privileges != "") {
user.privileges = privileges.split(":").toList();
}
controller.add(user);
} catch (e) {
controller.add(null);
}
controller.add(user);
});
}