signAndUploadImage function
Future<UploadResponse>
signAndUploadImage({
- required HiveFlutterKitPlatform hfk,
- required String uploadUrlServer,
- required String fileName,
- required Uint8List fileBytes,
Implementation
Future<UploadResponse> signAndUploadImage({
required HiveFlutterKitPlatform hfk,
required String uploadUrlServer,
required String fileName,
required Uint8List fileBytes,
}) async {
var username = await hfk.getCurrentUser();
username = username.replaceAll("\"", "");
int timeStamp = DateTime.now().millisecondsSinceEpoch ~/ 1000;
var object = {
"signed_message": {"type": "posting", "app": "ecency.app"},
"authors": [username],
"timestamp": timeStamp,
};
final resultOfSignature = await hfk.signMessage(
jsonEncode(object),
'posting',
);
final decodedResult = jsonDecode(resultOfSignature);
if (decodedResult['success'] == true) {
object['signatures'] = [decodedResult['result']];
var base64StringOfObject = toBase64(jsonEncode(object));
// Now call the correct uploadImage (returning a map)
final uploadResult = await hfk.uploadImage(
imageBytes: fileBytes,
fileName: fileName,
token: base64StringOfObject,
uploadUrlSever: uploadUrlServer,
);
return uploadResult;
} else {
return UploadResponse(
success: false,
url: null,
message: "Failed to sign image: ${decodedResult['error']}");
}
}