Коллекция имеет разрешения по умолчанию на консоли Firebase.
Я правильно вхожу в свой аккаунт с помощью электронной почты и пароля.
user = await _auth.signInWithEmailAndPassword(
email: "email@gmail.com", password: "password");
Затем после успешной загрузки изображения в FireStorageЯ также пытаюсь выполнить транзакцию для обновления документа.
var fileName = _textController.text.toLowerCase();
StorageUploadTask putFile =
storage.ref().child("region/$fileName").putFile(_regionImage);
UploadTaskSnapshot uploadSnapshot = await putFile.future;
var regionData = new Map();
regionData["label"] = _textController.text;
var pictureData = new Map();
pictureData["url"] = uploadSnapshot.downloadUrl.toString();
pictureData["storage"] = "gs://app-db.appspot.com/region/$fileName";
regionData["picture"] = pictureData;
DocumentReference currentRegion =
Firestore.instance.collection("region").document(fileName);
Firestore.instance.runTransaction((transaction) async {
DocumentSnapshot freshSnap = await transaction.get(currentRegion);
print(freshSnap.exists);
//await transaction.set(freshSnap.reference, regionData);
await transaction.set(currentRegion, regionData);
print("instance created");
});
Я получаю эту ошибку при попытке выполнить транзакцию.
То же самое, если я пытаюсь установить на freshSnap.reference
или непосредственно на currentRegion
.https://gist.github.com/matejthetree/f2a57c929d01919bd46da8ca6d5b6fb1
Обратите внимание, что в строке 15 возникает ошибка для транзакции, но до того, как я не получаю ошибку авторизации, а также для FireStorage, хотя я успешно выгружаю и загружаю изображения в хранилище.
Как следуетподход к созданию документа в FireStore