Nouvelle API Directus Reflection

Hello,

J’utilise la méthode « findListOfItem() », mais j’ai besoin de la filtrer, ma code fonctionne, mais je ne pense pas avoir correctement compris la notion du filtre, que je fais après… donc pas sûr que ce soit optimisé :

 Future<List<Sessions>> getAllSessions() async {
    final List<Sessions> listById;
    try {
      listById =
          List<Sessions>.from(await _apiManager!.findListOfItems<Sessions>());
      final Iterable<Sessions> filteredID =
          listById.where((listById) => listById.manager == _user!.id);
      return filteredID.toList();
    } catch (exe) {
      print(exe);
      throw false;
    }
  }

On peut l’utiliser différemment, passer des paramètres à la fonction « findListOfItem() » ?

Merci !

findListOfItems a un paramètre filter qui attend un objet de type Filter

tu peux donc faire :

await _apiManager.findListOfItems<Session>(
                  filter: PropertyFilter(
                      field: "manager",
                      operator: FilterOperator.equals,
                      value: _user!.id));

car dans le code que tu mets, tu récupères toutes les sessions et ton client fait le filtre après. Je pense qu’en terme de performance, ce n’est pas le top.

Merci @jmjoary ça fonctionne beaucoup mieux effectivement, je bloquais sur l’ajout de ce filtre d’où la méthode un peu lourde…