diff --git a/bin/server.dart b/bin/server.dart index 3eacd3d..0fea858 100644 --- a/bin/server.dart +++ b/bin/server.dart @@ -75,7 +75,7 @@ Future _postOnMastodon(reqJson) async { final postText = reqJson['object']['text'] ?? ''; final attachments = reqJson['object']['attachments'] ?? []; - + final photos = attachments.where((attachment) => attachment['type'] == 'photo'); @@ -103,12 +103,14 @@ Future _postOnMastodon(reqJson) async { if (photos.isEmpty) { await dio.post('$instanceUrl/api/v1/statuses', data: {'status': postText}, - options: dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'})); + options: + dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'})); } else { - final mediaResponses = await Future.wait( - photoUrls.map((photoUrl) async => dio.post('$instanceUrl/api/v1/media', - data: dio_lib.FormData.fromMap({'file': File(photoUrl)}), - options: dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'})))); + final mediaResponses = await photoUrls.map((photoUrl) async => await dio.post( + '$instanceUrl/api/v1/media', + data: dio_lib.FormData.fromMap({'file': File(photoUrl)}), + options: + dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'}))); final mediaIds = mediaResponses.map((mediaResponse) { final mediaId = mediaResponse.data['id']; @@ -116,11 +118,9 @@ Future _postOnMastodon(reqJson) async { }).toList(); await dio.post('$instanceUrl/api/v1/statuses', - data: { - 'status': postText, - 'media_ids': mediaIds - }, - options: dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'})); + data: {'status': postText, 'media_ids': mediaIds}, + options: + dio_lib.Options(headers: {'Authorization': 'Bearer $authToken'})); await Future.wait(photoUrls.map((photoUrl) => File(photoUrl).delete())); }