createApacuanaUser function
Implementation
Future<ApacuanaSuccess<Map<String, dynamic>>> createApacuanaUser(
Map<String, dynamic> userData,
) async {
try {
// Preparamos el payload en formato Map. httpRequest convertirá a FormData
// automáticamente si detecta MultipartFile en los valores.
final Map<String, dynamic> payload = {};
userData.forEach((key, value) {
if (value == null) return;
if (value is MultipartFile) {
payload[key] = value;
} else {
// Convertimos a String para emular FormData.append del JS
payload[key] = value.toString();
}
});
final res = await httpRequest(
'/services/api/register/initial',
data: payload,
method: 'POST',
);
final Map<String, dynamic> dataOut = (res is Map)
? res.cast<String, dynamic>()
: <String, dynamic>{'data': res};
return ApacuanaSuccess<Map<String, dynamic>>(dataOut);
} catch (e) {
if (e is ApacuanaAPIError) {
rethrow;
}
throw ApacuanaAPIError(
'Unexpected failure creating user: ${e is Exception ? e.toString() : 'Unknown error'}',
);
}
}