@@ -2,12 +2,11 @@ import 'package:cloud_firestore/cloud_firestore.dart';
2
2
import 'package:firebase_auth/firebase_auth.dart' ;
3
3
import 'package:flutter/material.dart' ;
4
4
import 'package:google_sign_in/google_sign_in.dart' ;
5
- import 'file:///C:/Users/VK/Desktop/home_temperature/lib/database/userInfoStore.dart' ;
5
+ import 'package:home_temperature/database/userInfoStore.dart' ;
6
+ import 'package:home_temperature/models/provideUser.dart' ;
7
+ import 'package:home_temperature/models/userDataModel.dart' ;
6
8
import 'package:provider/provider.dart' ;
7
9
8
- import 'file:///C:/Users/VK/Desktop/home_temperature/lib/models/provideUser.dart' ;
9
- import 'file:///C:/Users/VK/Desktop/home_temperature/lib/models/userDataModel.dart' ;
10
-
11
10
class UserAuth {
12
11
static final FirebaseAuth _auth = FirebaseAuth .instance;
13
12
static final CollectionReference _usersCollection =
@@ -30,15 +29,19 @@ class UserAuth {
30
29
email: email,
31
30
password: password,
32
31
);
33
- DocumentSnapshot userSnapshot =
34
- await _usersCollection.doc (userCredential.user.uid).get ();
35
- if (userSnapshot.exists) {
36
- UserDataModel user = UserDataModel .fromDocument (userSnapshot);
37
- Provider .of <CurrentUser >(context, listen: false )
38
- .updateCurrentUser (user);
39
- return "success" ;
32
+ if (userCredential.user.emailVerified) {
33
+ DocumentSnapshot userSnapshot =
34
+ await _usersCollection.doc (userCredential.user.uid).get ();
35
+ if (userSnapshot.exists) {
36
+ UserDataModel user = UserDataModel .fromDocument (userSnapshot);
37
+ Provider .of <CurrentUser >(context, listen: false )
38
+ .updateCurrentUser (user);
39
+ return "success" ;
40
+ } else {
41
+ return "No user found for this email." ;
42
+ }
40
43
} else {
41
- return "No user found for this email. " ;
44
+ return "User Not Verified " ;
42
45
}
43
46
} on FirebaseAuthException catch (e) {
44
47
if (e.code == 'user-not-found' ) {
@@ -63,26 +66,21 @@ class UserAuth {
63
66
email: email,
64
67
password: password,
65
68
);
66
- print ( "User logged in" );
69
+ await userCredential.user. sendEmailVerification ( );
67
70
DocumentSnapshot userRecord =
68
71
await _usersCollection.doc (userCredential.user.uid).get ();
69
72
if (! userRecord.exists) {
70
- print ("record not found new user" );
71
73
await UserInfoStore ()
72
74
.createUserRecord (username: username)
73
75
.then ((value) async {
74
- print ("Started process of record creation1" );
75
76
if (value) {
76
- print ("record provided to provider" );
77
- userRecord =
78
- await _usersCollection.doc (userCredential.user.uid).get ();
79
- currentUserModel = UserDataModel .fromDocument (userRecord);
80
- Provider .of <CurrentUser >(context, listen: false )
81
- .updateCurrentUser (currentUserModel);
77
+ print ("user created" );
82
78
}
83
79
});
84
80
}
85
- return "success" ;
81
+ await _auth.signOut ();
82
+ userCredential = null ;
83
+ return "Check mailbox and verify your account to login" ;
86
84
} on FirebaseAuthException catch (e) {
87
85
if (e.code == 'weak-password' ) {
88
86
return 'The password provided is too weak.' ;
0 commit comments