diff options
Diffstat (limited to 'lib/firebase/auth.dart')
-rw-r--r-- | lib/firebase/auth.dart | 16 |
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) { |