mirror of
https://gitlab.com/comunic/comunicmobile
synced 2025-06-19 00:05:16 +00:00
Simplify image picking code
This commit is contained in:
@ -60,17 +60,6 @@ class APIHelper {
|
||||
contentType: v.type,
|
||||
)));
|
||||
}
|
||||
|
||||
// Process picked files
|
||||
for (final key in request.pickedFiles.keys) {
|
||||
var v = request.pickedFiles[key];
|
||||
data.files.add(MapEntry(
|
||||
key,
|
||||
MultipartFile.fromBytes(
|
||||
await v.readAsBytes(),
|
||||
filename: v.path.split("/").last,
|
||||
)));
|
||||
}
|
||||
}
|
||||
|
||||
// Execute the request
|
||||
|
@ -17,7 +17,7 @@ class CommentsHelper {
|
||||
"content": comment.hasContent ? comment.content : "",
|
||||
});
|
||||
|
||||
if (comment.hasImage) request.addPickedFile("image", comment.image);
|
||||
if (comment.hasImage) request.addBytesFile("image", comment.image);
|
||||
|
||||
final response = await request.execWithFiles();
|
||||
|
||||
|
@ -142,7 +142,7 @@ class PostsHelper {
|
||||
break;
|
||||
|
||||
case PostKind.IMAGE:
|
||||
request.addPickedFile("image", post.image);
|
||||
request.addBytesFile("image", post.image);
|
||||
break;
|
||||
|
||||
case PostKind.WEB_LINK:
|
||||
|
@ -5,7 +5,8 @@ import 'package:comunic/models/data_conservation_policy_settings.dart';
|
||||
import 'package:comunic/models/general_settings.dart';
|
||||
import 'package:comunic/models/new_emoji.dart';
|
||||
import 'package:comunic/models/security_settings.dart';
|
||||
import 'package:image_picker/image_picker.dart';
|
||||
|
||||
import '../models/api_request.dart';
|
||||
|
||||
/// Settings helper
|
||||
///
|
||||
@ -92,11 +93,10 @@ class SettingsHelper {
|
||||
}
|
||||
|
||||
/// Upload a new account image
|
||||
static Future<bool> uploadAccountImage(PickedFile newImage) async =>
|
||||
(await APIRequest(uri: "settings/upload_account_image", needLogin: true)
|
||||
.addPickedFile("picture", newImage)
|
||||
.execWithFiles())
|
||||
.isOK;
|
||||
static Future<void> uploadAccountImage(BytesFile newImage) async =>
|
||||
await APIRequest(uri: "settings/upload_account_image", needLogin: true)
|
||||
.addBytesFile("picture", newImage)
|
||||
.execWithFilesAndThrow();
|
||||
|
||||
/// Upload a new account image from memory
|
||||
static Future<bool> uploadAccountImageFromMemory(List<int> bytes) async =>
|
||||
@ -128,13 +128,12 @@ class SettingsHelper {
|
||||
|
||||
/// Upload a new custom emoji
|
||||
static Future<void> uploadNewCustomEmoji(NewEmoji newEmoji) async =>
|
||||
(await APIRequest(
|
||||
uri: "settings/upload_custom_emoji",
|
||||
needLogin: true,
|
||||
args: {"shortcut": newEmoji.shortcut})
|
||||
.addPickedFile("image", newEmoji.image)
|
||||
.execWithFiles())
|
||||
.assertOk();
|
||||
await APIRequest(
|
||||
uri: "settings/upload_custom_emoji",
|
||||
needLogin: true,
|
||||
args: {"shortcut": newEmoji.shortcut})
|
||||
.addBytesFile("image", newEmoji.image)
|
||||
.execWithFilesAndThrow();
|
||||
|
||||
/// Delete a custom emoji
|
||||
///
|
||||
@ -220,7 +219,8 @@ class SettingsHelper {
|
||||
/// Throws in case of failure
|
||||
static Future<void> setDataConservationPolicy(
|
||||
String password, DataConservationPolicySettings newSettings) async {
|
||||
await APIRequest(uri: "settings/set_data_conservation_policy", needLogin: true)
|
||||
await APIRequest(
|
||||
uri: "settings/set_data_conservation_policy", needLogin: true)
|
||||
.addString("password", password)
|
||||
.addInt("inactive_account_lifetime",
|
||||
newSettings.inactiveAccountLifeTime ?? 0)
|
||||
|
Reference in New Issue
Block a user