getApnsTokens method

Future<List<String>> getApnsTokens(
  1. User user
)

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();
}