workouttest_app/lib/repository/user_repository.dart
2020-10-28 14:05:31 +01:00

51 lines
1.3 KiB
Dart

import 'package:aitrainer_app/model/cache.dart';
import 'package:aitrainer_app/model/user.dart';
import 'package:aitrainer_app/service/customer_service.dart';
import 'package:aitrainer_app/service/firebase_api.dart';
class UserRepository {
User user;
UserRepository() {
this.createNewUser();
}
setEmail(String email) {
this.user.email = email;
}
setPassword(String password) {
this.user.password = password;
}
createNewUser() {
this.user = User();
}
Future<void> addUser() async {
final User modelUser = this.user;
String rc = await FirebaseApi().registerEmail(modelUser.email, modelUser.password);
if ( rc == FirebaseApi.SIGN_IN_OK ) {
modelUser.firebaseUid = Cache().firebaseUid;
await CustomerApi().addUser(modelUser);
}
}
Future<void> getUser() async {
final User modelUser = this.user;
String rc = await FirebaseApi().signInEmail(modelUser.email, modelUser.password);
if ( rc == FirebaseApi.SIGN_IN_NOT_FOUND ) {
rc = await FirebaseApi().registerEmail(modelUser.email, modelUser.password);
}
if ( rc == FirebaseApi.SIGN_IN_OK ) {
await CustomerApi().getUserByEmail(modelUser.email);
Cache().afterFirebaseLogin();
}
}
Future<void> resetPassword() async {
final User modelUser = this.user;
await FirebaseApi().resetPassword(modelUser.email);
}
}