Я пытаюсь получить список пользователей с определенным переданным параметром (в виде фильтра), поэтому я написал несколько кодов для достижения этого (если это правильно)! :
exports.getUsersByType = functions.https.onCall((data, context)=>{
const type = data.type;
console.log('type: ' + type);
if(type == "A") {
// return list of user A
return admin.database().ref('/data').child(type).map();
} else if(type == "B") {
// return list of user B
return admin.database().ref('/data').child(type).map();
}
// return all
return admin.database().ref('/data').map();
});
в клиентском приложении. (версия для Android):
Map<String, Object> data = new HashMap<>();
data.put("type", "A");
data.put("push", true);
FirebaseFunctions.getInstance().getHttpsCallable("getUsersByType ")
.call(data)
.addOnSuccessListener(new OnSuccessListener<HttpsCallableResult>() {
@Override
public void onSuccess(HttpsCallableResult httpsCallableResult) {
Map<String, User> users = (Map<String, User>) httpsCallableResult.getData();
// do something with users :)
}
}).addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
System.out.println("onFailure: " + e.getMessage());
}
});
Что мне не хватает?