listSubmissions method
Lists all submissions for a given form.
formPath is the full path to the form (e.g. '/registration').
limit maximum number of submissions to return.
skip number of submissions to skip (for pagination).
sort field to sort by (prefix with - for descending, e.g. '-created').
filter query parameters for filtering submissions.
Throws SubmissionException on error.
Implementation
Future<List<SubmissionModel>> listSubmissions(
String formPath, {
int? limit,
int? skip,
String? sort,
Map<String, dynamic>? filter,
}) async {
try {
final queryParams = <String, dynamic>{};
if (limit != null) queryParams['limit'] = limit;
if (skip != null) queryParams['skip'] = skip;
if (sort != null) queryParams['sort'] = sort;
if (filter != null) queryParams.addAll(filter);
final url = ApiEndpoints.listSubmissions(formPath);
final response = await client.dio.get(
url,
queryParameters: queryParams,
);
if (response.data is List) {
return (response.data as List).map((json) => SubmissionModel.fromJson(json as Map<String, dynamic>)).toList();
}
return [];
} catch (e) {
throw SubmissionException('Failed to list submissions: $e');
}
}