aboutsummaryrefslogtreecommitdiff
path: root/lib/firebase/auth.dart
diff options
context:
space:
mode:
Diffstat (limited to 'lib/firebase/auth.dart')
-rw-r--r--lib/firebase/auth.dart16
1 files changed, 14 insertions, 2 deletions
diff --git a/lib/firebase/auth.dart b/lib/firebase/auth.dart
index a876d5b..303412e 100644
--- a/lib/firebase/auth.dart
+++ b/lib/firebase/auth.dart
@@ -2,7 +2,9 @@ import 'dart:io';
import 'package:firebase_auth/firebase_auth.dart';
import 'package:flutter/foundation.dart';
+import 'package:linkchat/firebase/database.dart';
+import '../models/user.dart';
import 'storage.dart';
class Auth {
@@ -10,6 +12,8 @@ class Auth {
final GithubAuthProvider _githubProvider = GithubAuthProvider();
final GoogleAuthProvider _googleAuthProvider = GoogleAuthProvider();
+ final Database _db = Database();
+
User? get currentUser => _auth.currentUser;
Future<bool> createUserWithEmailAndPassword({
@@ -25,8 +29,16 @@ class Auth {
);
User? user = cred.user;
if (user != null) {
- user.updateDisplayName(displayName);
- user.updatePhotoURL(await Storage().uploadAvatar(user.uid, avatar));
+ String photoUrl = await Storage().uploadAvatar(user.uid, avatar);
+ await user.updateDisplayName(displayName);
+ await user.updatePhotoURL(photoUrl);
+ // Store user in database
+ _db.saveUser(FsUser(
+ uid: user.uid,
+ displayName: displayName,
+ photoUrl: photoUrl,
+ email: user.email!,
+ ));
}
return true;
} catch (e) {