getEventParticipants method
Implementation
Future<List<EventParticipant>?> getEventParticipants({
int? eventId,
int? runetId,
int? userId,
String? email,
String? username,
int limit = 10,
int offset = 0,
}) async {
if (runetId == null && userId == null && email == null && username == null && eventId == null) {
return null;
}
String uri = "";
if (runetId != null) {
uri = "$uri&filter[runet_id]=$runetId";
}
if (userId != null) {
uri = "$uri&filter[user_id]=$userId";
}
if (email != null) {
uri = "$uri&filter[mail]=$email";
}
if (username != null) {
uri = "$uri&filter[username]=$username";
}
if (eventId != null) {
uri = "$uri&filter[event_id]=$eventId";
}
final response = await client.get("/event/$eventId/participant/list?limit=$limit&offset=$offset$uri");
if (response.statusCode == 200) {
final res = response.data;
var data = res['data'] as List<dynamic>;
if (data.isEmpty) {
return null;
}
List<EventParticipant> participants = data.map((e) => EventParticipant.fromJson(e as Map<String, dynamic>)).toList();
return participants;
} else {
throw Exception('Failed to load participants');
}
}