mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Start to update general settings
This commit is contained in:
@ -1,7 +1,9 @@
|
||||
import 'dart:io';
|
||||
|
||||
import 'package:comunic/enums/user_page_visibility.dart';
|
||||
import 'package:comunic/models/account_image_settings.dart';
|
||||
import 'package:comunic/models/api_request.dart';
|
||||
import 'package:comunic/models/general_settings.dart';
|
||||
|
||||
/// Settings helper
|
||||
///
|
||||
@ -14,6 +16,54 @@ const _APIAccountImageVisibilityAPILevels = {
|
||||
};
|
||||
|
||||
class SettingsHelper {
|
||||
/// Get & return general user settings
|
||||
static Future<GeneralSettings> getGeneralSettings() async {
|
||||
final response =
|
||||
(await APIRequest(uri: "settings/get_general", needLogin: true).exec())
|
||||
.assertOk()
|
||||
.getObject();
|
||||
|
||||
return GeneralSettings(
|
||||
email: response["email"],
|
||||
firstName: response["firstName"],
|
||||
lastName: response["lastName"],
|
||||
pageVisibility: response["is_open"]
|
||||
? UserPageVisibility.OPEN
|
||||
: response["is_public"]
|
||||
? UserPageVisibility.PUBLIC
|
||||
: UserPageVisibility.PRIVATE,
|
||||
allowComments: response["allow_comments"],
|
||||
allowPostsFromFriends: response["allow_posts_from_friends"],
|
||||
allowComunicEmails: response["allow_comunic_mails"],
|
||||
publicFriendsList: response["public_friends_list"],
|
||||
virtualDirectory: response["virtual_directory"],
|
||||
personnalWebsite: response["personnal_website"],
|
||||
publicNote: response["publicNote"],
|
||||
);
|
||||
}
|
||||
|
||||
/// Apply new general settings
|
||||
static Future<void> updateGeneralSettings(GeneralSettings settings) async {
|
||||
(await APIRequest(uri: "settings/set_general", needLogin: true, args: {
|
||||
"firstName": settings.firstName,
|
||||
"lastName": settings.lastName,
|
||||
"allow_comunic_mails": settings.allowComunicEmails ? "true" : "false",
|
||||
"isPublic": settings.pageVisibility == UserPageVisibility.PUBLIC
|
||||
? "true"
|
||||
: "false",
|
||||
"isOpen":
|
||||
settings.pageVisibility == UserPageVisibility.OPEN ? "true" : "false",
|
||||
"allowComments": settings.allowComments ? "true" : "false",
|
||||
"allowPostsFromFriends":
|
||||
settings.allowPostsFromFriends ? "true" : "false",
|
||||
"publicFriendsList": settings.publicFriendsList ? "true" : "false",
|
||||
"personnalWebsite": settings.personnalWebsite,
|
||||
"virtualDirectory": settings.virtualDirectory,
|
||||
"publicNote": settings.publicNote,
|
||||
}).exec())
|
||||
.assertOk();
|
||||
}
|
||||
|
||||
/// Get & return account image settings
|
||||
static Future<AccountImageSettings> getAccountImageSettings() async {
|
||||
final response =
|
||||
|
Reference in New Issue
Block a user