From 1fd10df446b712f89f8f8e87b228c546bc94fd29 Mon Sep 17 00:00:00 2001 From: timonrieger Date: Sun, 25 Jan 2026 16:19:25 +0100 Subject: [PATCH] Revert "temporary workaround for 500 error" This reverts commit 8436cd402632ca7be9272a1c72fdaf0763dcefb6. --- .../repositories/user_api.repository.dart | 31 ++----------------- 1 file changed, 2 insertions(+), 29 deletions(-) diff --git a/mobile/lib/infrastructure/repositories/user_api.repository.dart b/mobile/lib/infrastructure/repositories/user_api.repository.dart index 20049cac23..d21a1b71a6 100644 --- a/mobile/lib/infrastructure/repositories/user_api.repository.dart +++ b/mobile/lib/infrastructure/repositories/user_api.repository.dart @@ -1,4 +1,3 @@ -import 'dart:convert'; import 'dart:typed_data'; import 'package:http/http.dart'; @@ -19,34 +18,8 @@ class UserApiRepository extends ApiRepository { } Future createProfileImage({required String name, required Uint8List data}) async { - // Workaround: the autogenerated OpenAPI client forces `Content-Type: multipart/form-data` - // without a boundary, which can break multer parsing server-side. - // We bypass `UsersApi.createProfileImage()` and send the multipart request directly, - // while still reusing the configured basePath + auth headers + http client. - final apiClient = _api.apiClient; - - final headers = {}; - await apiClient.authentication?.applyToParams([], headers); - headers.addAll(apiClient.defaultHeaderMap); - headers.remove('Content-Type'); - headers.remove('content-type'); - - final filename = name.isNotEmpty ? name : 'profile-picture.png'; - final uri = Uri.parse('${apiClient.basePath}/users/profile-image'); - - final request = MultipartRequest('POST', uri) - ..headers.addAll(headers) - ..files.add(MultipartFile.fromBytes('file', data, filename: filename)); - - final streamed = await apiClient.client.send(request); - final response = await Response.fromStream(streamed); - - if (response.statusCode >= 400) { - throw ApiException(response.statusCode, response.body); - } - - final body = jsonDecode(response.body) as Map; - return body['profileImagePath'] as String; + final res = await checkNull(_api.createProfileImage(MultipartFile.fromBytes('file', data, filename: name))); + return res.profileImagePath; } Future> getAll() async {