Hello,
J’ai besoin de travailler avec une table Users plus élaborées dans Directus (avec des champs supplémentaires). Suite à un coaching avec @mbritto, je prends donc le partir suivant :
Un model qui étends DirectusUser (car les champs ne sont pas directement accessibles via l’api puisqu’ils sont personnalisés) :
import 'package:directus_api_manager/directus_api_manager.dart';
class UsersDetails extends DirectusUser {
UsersDetails(super.rawReceivedData);
String get rs => getValue(forKey: "raison_sociale");
bool get autorised => getValue(forKey: "is_autorised");
set autorised(bool value) => setValue(value, forKey: "is_autorised");
bool get isAdmin => getValue(forKey: "is_admin");
DateTime get inscription => getDateTime(forKey: "date_inscription");
}
et j’utilise un useCases (fonction de base et interrogations Directus) relié à mon ViewModel, or je ne parviens pas à comprendre la logique d’update des champs :
@override
void updateSessionById(String manager, bool status) async {
UsersDetails? myManager =
await _apiManager.getDirectusUser(manager);
myManager.getValue(forKey: "is_autorised") = status;
await _apiManager.updateDirectusUser(myManager);
}
Cette fonction est fausse, car notamment, je ne sais jamais si je dois utiliser le type ‹ UserDetails › ou ‹ DirectusUser ›, l’un appel le updateDirectusUser et l’autre updateItem…
Merci !