Edit User profile
This commit is contained in:
@@ -0,0 +1,55 @@
|
||||
import 'package:cloud_firestore/cloud_firestore.dart';
|
||||
import 'package:firebase_auth/firebase_auth.dart';
|
||||
import 'package:le_kiosque_by_gcs/model/user.dart';
|
||||
import 'package:le_kiosque_by_gcs/services/firestore/user_service.dart';
|
||||
|
||||
class FirebaseUserService implements UserService {
|
||||
FirebaseFirestore _firestore = FirebaseFirestore.instance;
|
||||
|
||||
@override
|
||||
Stream<KiosqueUser> getCurrentUser(String uid) {
|
||||
final snapshots = _firestore.collection("users").doc(uid).snapshots();
|
||||
return snapshots.map(
|
||||
(event) {
|
||||
final data = event.data();
|
||||
return KiosqueUser(
|
||||
uid: data["uid"],
|
||||
displayName: data['displayName'],
|
||||
emailAddress: data['emailAddress'],
|
||||
city: data['city'],
|
||||
country: data['country'],
|
||||
gender: data['gender'],
|
||||
profileUrl: data['profileUrl'],
|
||||
phoneNumber: data['phoneNumber'],
|
||||
createdAt: (data['createdAt'] as Timestamp).toDate(),
|
||||
updatedAt : (data['updatedAt'] as Timestamp)?.toDate(),
|
||||
birthDay : (data['birthDay'] as Timestamp)?.toDate(),
|
||||
);
|
||||
},
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> save(KiosqueUser kiosqueUser) async {
|
||||
final user = {
|
||||
'uid': kiosqueUser.uid,
|
||||
'displayName': kiosqueUser.displayName,
|
||||
'emailAddress': kiosqueUser.emailAddress,
|
||||
'profileUrl': kiosqueUser.profileUrl,
|
||||
'phoneNumber': kiosqueUser.phoneNumber,
|
||||
'city': kiosqueUser.city,
|
||||
'country': kiosqueUser.country,
|
||||
'gender': kiosqueUser.gender,
|
||||
'createdAt': kiosqueUser.createdAt,
|
||||
'updatedAt': kiosqueUser.updatedAt,
|
||||
'birthDay': kiosqueUser.birthDay,
|
||||
};
|
||||
return await _firestore.collection("users").doc(user['uid']).set(user);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<void> updateCurrentUser(data) async {
|
||||
final userId = FirebaseAuth.instance.currentUser.uid;
|
||||
return await _firestore.collection("users").doc(userId).set(data);
|
||||
}
|
||||
}
|
||||
Reference in New Issue
Block a user