1
0
mirror of https://gitlab.com/comunic/comunicmobile synced 2024-10-23 06:53:23 +00:00
comunicmobile/lib/helpers/settings_helper.dart

39 lines
1.2 KiB
Dart
Raw Normal View History

2020-04-16 17:16:44 +00:00
import 'dart:io';
import 'package:comunic/models/account_image_settings.dart';
import 'package:comunic/models/api_request.dart';
/// Settings helper
///
/// @author Pierre Hubert
const _APIAccountImageVisibilityAPILevels = {
"open": AccountImageVisibilityLevels.EVERYONE,
"public": AccountImageVisibilityLevels.COMUNIC_USERS,
"friends": AccountImageVisibilityLevels.FRIENDS_ONLY,
};
class SettingsHelper {
/// Get & return account image settings
static Future<AccountImageSettings> getAccountImageSettings() async {
final response =
(await APIRequest(uri: "settings/get_account_image", needLogin: true)
.exec())
.assertOk()
.getObject();
return AccountImageSettings(
hasImage: response["has_image"],
imageURL: response["image_url"],
visibility:
_APIAccountImageVisibilityAPILevels[response["visibility"]]);
}
/// Upload a new account image
static Future<bool> uploadAccountImage(File newImage) async =>
(await APIRequest(uri: "settings/upload_account_image", needLogin: true)
.addFile("picture", newImage)
.execWithFiles())
.isOK;
}