создание pushId для пути запускает облачную функцию дважды - PullRequest
0 голосов
/ 12 марта 2019

Я сохраняю токен в моей БД, который затем запускает облачную функцию, где в пути "stripe_customers/$currentUser/sources/$pushId/token/" есть write.

Текущий способ создания моего pushId, я думаю, что он вызывает БД дважды, поэтому моя облачная функция вызывается дважды. Я думаю, что это проблема, но я не знаю, чтобы создать pushId без вызова write для DB

stripe.createToken(
    cardToSave,
        object:TokenCallback {
            override fun onSuccess(token: Token?) {
                val currentUser = FirebaseAuth.getInstance().currentUser?.uid
                val database = FirebaseDatabase.getInstance()
                val pushId = database.getReference("stripe_customers/$currentUser/sources/").push().key
                val ref = database.getReference("stripe_customers/$currentUser/sources/$pushId/token/")
                //save the token id from the "token" object we received from Stripe
                ref.setValue(token?.id)
                    .addOnSuccessListener {
                        Log.d(TAG, "Added Stripe Token to database successfully")
                    }
                    .addOnFailureListener {
                        Log.d(TAG, "Failed to add Token to database")
                    }
            }
            ...
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...