submitStep method

Future<Map<String, dynamic>> submitStep({
  1. required String stepName,
  2. required Map<String, dynamic> data,
})

Submit step data to the backend.

Implementation

Future<Map<String, dynamic>> submitStep({
  required String stepName,
  required Map<String, dynamic> data,
}) async {
  final url = Uri.parse(
    '${config.baseUrl}/api/v1/sessions/${config.sessionId}/steps/$stepName',
  );

  final response = await _client.post(
    url,
    headers: _headers,
    body: jsonEncode(data),
  );

  if (response.statusCode != 200 && response.statusCode != 201) {
    throw DataleonApiException(
      'Failed to submit step $stepName',
      statusCode: response.statusCode,
    );
  }

  return jsonDecode(response.body) as Map<String, dynamic>;
}