Как обрабатывать транзакции в vuex-easy-firestore - PullRequest
0 голосов
/ 01 ноября 2018

Я пользуюсь vuex-easy-firestore, и мне хотелось бы знать, как я могу обработать транзакцию.

Вот как я могу обработать транзакцию с помощью ванильного магазина:

db.runTransaction(t => {
        let companyRef = db.collection('companies').doc(user.company)
        return t.get(companyRef)
          .then(doc => {
            let currentBillNumber = doc.data().currentBillNumber + 1
            t.update(companyRef, {currentBillNumber: currentBillNumber})
            billDocRef = db.collection('companies/' + user.company + '/bills').doc()
            newBillState = {
              firstname: this.firstname,
              lastname: this.lastname,
              emailaddress: this.emailaddress,
              phonenumber: this.phonenumber,
              amount: this.amount,
              items: this.items,
              slug: slug,
              timestamp: new Date().getTime(),
              type: process.env.NODE_ENV,
              vehiclenumber: this.vehiclenumber,
              sequenceNumber: currentBillNumber
            }
            t.set(billDocRef, newBillState)
          })
      }).then(result => {
        console.log('incrementAndUpdateBill Transaction success!')
      }).catch(err => {
        console.log('incrementAndUpdateBill Transaction failure:', err)
      })
    }
...