apk
This commit is contained in:
parent
30fdd2a174
commit
b297e12b4b
4 changed files with 7 additions and 4 deletions
Binary file not shown.
|
|
@ -41,12 +41,14 @@ class HttpRepository extends Repository with Api {
|
|||
Future<(UserDto, String)> createOrGetUser(
|
||||
String externalId,
|
||||
ExternalIdType idType,
|
||||
String email,
|
||||
String? name,
|
||||
) async {
|
||||
try {
|
||||
final r = await _dio.post<String>('$path/user/create', data: {
|
||||
'token': externalId,
|
||||
'tokenType': idType.name,
|
||||
'email': email,
|
||||
'name': name,
|
||||
});
|
||||
//todo add client header encryption ??
|
||||
|
|
|
|||
|
|
@ -1,7 +1,6 @@
|
|||
import 'package:mnemo_cards/managers/user_manager.dart';
|
||||
import 'package:mnemo_cards_common/mnemo_cards_common.dart';
|
||||
|
||||
|
||||
abstract class Repository {
|
||||
Future<UserDto> get user;
|
||||
|
||||
|
|
@ -14,12 +13,12 @@ abstract class Repository {
|
|||
Future<(UserDto, String)> createOrGetUser(
|
||||
String externalId,
|
||||
ExternalIdType idType,
|
||||
String email,
|
||||
String? name,
|
||||
);
|
||||
|
||||
Future<UserDto?> getUser();
|
||||
|
||||
|
||||
void setAuthToken(String? authToken);
|
||||
|
||||
Future<void> updateUserData(UserDataDto data);
|
||||
|
|
|
|||
|
|
@ -61,10 +61,11 @@ class UserManager {
|
|||
Future<void> _createUser(
|
||||
String externalId,
|
||||
ExternalIdType idType,
|
||||
String email,
|
||||
String? name,
|
||||
) async {
|
||||
final (user, token) =
|
||||
await _repository.createOrGetUser(externalId, idType, name);
|
||||
await _repository.createOrGetUser(externalId, idType, email, name);
|
||||
await _setAuthToken(token);
|
||||
userStateHolder.setUser(user);
|
||||
}
|
||||
|
|
@ -124,11 +125,12 @@ class UserManager {
|
|||
.distinct((p, n) => p?.id == n?.id)
|
||||
.listen((account) async {
|
||||
if (account != null) {
|
||||
final email = account.email;
|
||||
final name = account.displayName;
|
||||
final externalToken =
|
||||
await account.authentication.then((value) => value.idToken);
|
||||
Analytics.login(ExternalIdType.google);
|
||||
await _createUser(externalToken!, ExternalIdType.google, name);
|
||||
await _createUser(externalToken!, ExternalIdType.google, email, name);
|
||||
}
|
||||
}))
|
||||
..add(
|
||||
|
|
|
|||
Loading…
Reference in a new issue