import 'package:comunic/enums/user_page_visibility.dart'; import 'package:comunic/lists/users_list.dart'; import 'package:comunic/models/api_request.dart'; import 'package:comunic/models/user.dart'; /// User helper /// /// Helper used to get information about the users of Comunic /// /// @author Pierre HUBERT class UsersHelper { /// Download information about some given users ID /// /// Return the list of users information in case of success, null in case of /// failure Future downloadInfo(List users) async { // Execute the request final response = await APIRequest( uri: "user/getInfoMultiple", args: {"usersID": users.join(",")}).exec(); // Check if the request did not execute correctly if (response.code != 200) return null; final list = UsersList(); response.getObject().forEach( (k, v) => list.add( User( id: v["userID"], firstName: v["firstName"], lastName: v["lastName"], pageVisibility: v["publicPage"] == "false" ? UserPageVisibility.PRIVATE : (v["openPage"] == "false" ? UserPageVisibility.PRIVATE : UserPageVisibility.OPEN), virtualDirectory: v["virtualDirectory"] == "" ? null : v["virtualDirectory"], accountImageURL: v["accountImage"], ), ), ); return list; } }