getApnsTokens method
Implementation
Future<List<String>> getApnsTokens(types.User user) async {
if (_user == null) {
return [];
}
final apnsTokens = [];
final snaps = await Future.wait([
FirebaseFirestore.instance
.collection("devices${appIdEnumToString[AppId.serviceProvider]}")
.where("userId", isEqualTo: user.id)
.get(),
FirebaseFirestore.instance
.collection("devices${appIdEnumToString[AppId.tenant]}")
.where("userId", isEqualTo: user.id)
.get(),
FirebaseFirestore.instance
.collection("devices${appIdEnumToString[AppId.agent]}")
.where("userId", isEqualTo: user.id)
.get(),
FirebaseFirestore.instance
.collection("devices${appIdEnumToString[AppId.none]}")
.where("userId", isEqualTo: user.id)
.get(),
]);
for (var snap in snaps) {
apnsTokens.addAll(snap.docs);
}
return apnsTokens.map((e) => e.data()['token'] as String).toList();
}