Created
June 14, 2020 15:22
-
-
Save arnold-parge/d9ff3028f5cd340739e61d9ea3151740 to your computer and use it in GitHub Desktop.
User controller
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
class UserModelCtrl { | |
static Future initialDownload() async { | |
var response = await AppApi.get<Map<String, dynamic>>(AppUrls.getUsers); | |
if (response.statusCode == 200) { | |
List data = response.data['results']; | |
var saveStartTime = DateTime.now().millisecondsSinceEpoch; | |
for (var rawUser in data) { | |
var user = UserModel.fromMap(rawUser); | |
await AppHiveDb.instance.userBox.put(user.login.uuid, user); | |
} | |
var saveEndTime = DateTime.now().millisecondsSinceEpoch; | |
appWarning( | |
'Time taken to save 1000 users to db: ${saveEndTime - saveStartTime}ms'); | |
} | |
} | |
static Future<List<UserModel>> getAll() async { | |
var fetchStartTime = DateTime.now().millisecondsSinceEpoch; | |
var users = AppHiveDb.instance.userBox.values.toList(); | |
var fetchEndTime = DateTime.now().millisecondsSinceEpoch; | |
appWarning( | |
'Time taken to fetch 1000 users from db: ${fetchEndTime - fetchStartTime}ms'); | |
return users; | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment