Tag: google cloud functions

云function:Firestore Promise链

我有Firestore数据库。 收集简单: “tasks / {taskId}”:{ “ownerUid”:“任务拥有者Firebase Uid”, “whoDidUids”:[“user_1_FirebaseUid”,“user_2_FirebaseUid”] } “users / {userUid}”:{“fcm_token”:“firestore云消息传递令牌”} 只需要编写简单的云function,将触发: exports.taskDoneNotification = functions.firestore .document(‘tasks/{taskId}’) .onUpdate((event) => { //when another user did task it means //userUid will be added to task.whoDidUids array //I want to get task owner fcmToken and send him // simple notification like “your task done by someone!” }); 我是js语法的新手,在Kotlin上为Android写作。 […]

如何在使用Kotlin多平台时在Firebase的Cloud Functions中包含简单的JavaScript文件作为节点依赖项?

我想包括一个JavaScript文件作为模块依赖。 它是由Kotlin多平台生成的,它被称为common-js.js 。 这是我的package.json一部分: “dependencies”: { “common-js”: “file:common-js” } 我把这个文件放到了node_modules/common-js.js ,它可以和node_modules/common-js.js firebase serve一起工作,没有任何问题。 但是,当我运行firebase deploy ,部署将失败: Build failed: exit status 254 npm ERR! addLocal Could not install /workspace/common-js 如何使用云function来实现这一点? 我尝试把它放在其他目录比node_modules但它甚至不能在本地工作。

Kotlin和Firebase云function的update()方法

我正在使用Kotlin为Firebase云端function生成Javascript代码。 我想调用update方法,传递一些值作为参数。 在Kotlin中,我必须传递一个Map作为update()的参数: val map = mutableMapOf() //also tried with a Hashmap: same result //generate some values for(i in 0 until 3){ map.put(“key$i”, i) } console.log(map.keys.toList().toString()) //log map keys console.log(map.values.toList().toString()) //log map values ref.child(“values”).update(map) Kotlin生成的JavaScript代码: var LinkedHashMap_init = Kotlin.kotlin.collections.LinkedHashMap_init_q3lmfv$; function main$lambda(event){ var map = LinkedHashMap_init(); for (var i = 0; i < 3; i++) { […]

如何在Kotlin中使用一个叫做“val()”的函数? /扩展外部JS类

在尝试使用Kotlin的 Firebase Cloud功能时遇到问题。 从数据库触发数据时,使用snapshot.val(); 函数在Javascript中 。 在Kotlin中这是不可能的,因为val是Kotlin中的关键字。 我设法通过使用来解决这个问题 snapshot.`val()` 这样我可以在Kotlin中调用任何名字的函数。 现在我觉得每次都输入这个“重音符号”真的很烦,于是我试着创建一个扩展函数。 我的问题是,我不知道如何引用类型。 在Javascript中 ,访问数据库时是DeltaSnapshot或DataSnapshot 。 如何扩展外部类,或者如何以不同的名称调用它? Typealiases将不起作用,因为它们仅限于类/而不是支持功能。