Я пытаюсь создать простое приложение Crud с Flutter и Firebase, записи которого (документы, созданные в FireStore) связаны с пользователем, прошедшим проверку подлинности.Поэтому функции Crud будет выполнять только тот пользователь, который создал запись.IE пользователь сможет только редактировать / обновлять / удалять записи, которые он добавил в первую очередь.
У меня есть функции firebase_auth и crud, прекрасно работающие с firestore.у меня есть проблемы, связанные с двумя.Я решил использовать электронную почту пользователей и уникальный идентификатор (я не уверен, лучше ли использовать автоматически сгенерированный идентификатор пользователя или нет).Я создал отдельную функцию для простого возврата электронной почты текущего пользователя, когда она добавляется в документ пожарного депо.Проблема в том, что когда я добавляю запись в первый раз, электронная почта пользователя возвращает null . Если я снова отправляю форму, она начинает работать нормально.
String _userEmail;
_getUserAuthEmail() {
FirebaseAuth.instance.currentUser().then((user){
setState((){this._userEmail = user.email;});
});
return this._userEmail;
}
Который вызывается из события onPressed
onPressed: () {
crudObj.addData({
'itemName': this.itemName,
'userEmail': _getUserAuthEmail(),
}).then((result) {
dialogTrigger(context);
}).catchError((e) {
print(e);
});
},
Поскольку я только начинаю, пожалуйста, дайте мне знать, если есть лучший подход.Приветствия.