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);
});
}

View File

@@ -80,4 +80,9 @@ class UserDataProvider {
}
return users;
}
Future<void> enableUser(String userID, bool enabled) async {
return await requestAPI("/enable_user", "PUT",
payload: {"id": userID, "enabled": enabled}, token: await getToken());
}
}

View File

@@ -51,11 +51,6 @@ class AuthServiceImp implements AuthService {
return authFb.joinInvite(userName);
}
@override
Future<String> getToken() {
return authFb.getToken();
}
@override
Future<bool> hasInvite() {
return authFb.hasInvite();

View File

@@ -13,5 +13,4 @@ abstract class AuthService {
Future<bool> hasInvite();
Stream<User> getUserStream();
Stream<Setting> getSetting();
Future<String> getToken();
}

View File

@@ -48,4 +48,9 @@ class UserServiceImp implements UserService {
Future<void> uploadMsgToken(String token) {
return userDataProvider.uploadMsgToken(token);
}
@override
Future<void> enableUser(String userID, bool enabled) {
return userDataProvider.enableUser(userID, enabled);
}
}

View File

@@ -8,4 +8,5 @@ abstract class UserService {
Future<List<User>> searchUser(String term);
Future<void> uploadMsgToken(String token);
Future<void> removeMsgToken(String token);
Future<void> enableUser(String userID, bool enabled);
}