createApacuanaUser function

Future<ApacuanaSuccess<Map<String, dynamic>>> createApacuanaUser(
  1. Map<String, dynamic> userData
)

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'}',
    );
  }
}