getSessionList method
List all sessions
Returns a list of all sessions. The sessions are returned sorted by creation date, with the newest sessions appearing first. Deprecation Notice (2024-01-01): All parameters were initially considered optional, however moving forward at least one of client_id
or user_id
parameters should be provided.
Parameters:
-
String clientId: List sessions for the given client
-
String userId: List sessions for the given user
-
String status: Filter sessions by the provided status
-
bool paginated: Whether to paginate the results. If true, the results will be paginated. If false, the results will not be paginated.
-
int limit: Applies a limit to the number of results returned. Can be used for paginating the results together with
offset
. -
int offset: Skip the first
offset
results when paginating. Needs to be an integer greater or equal to zero. To be used in conjunction withlimit
.
Implementation
Future<List<Session>?> getSessionList({
String? clientId,
String? userId,
String? status,
bool? paginated,
int? limit,
int? offset,
}) async {
final response = await getSessionListWithHttpInfo(
clientId: clientId,
userId: userId,
status: status,
paginated: paginated,
limit: limit,
offset: offset,
);
if (response.statusCode >= HttpStatus.badRequest) {
throw ApiException(response.statusCode, await _decodeBodyBytes(response));
}
// When a remote server returns no body with a status of 204, we shall not decode it.
// At the time of writing this, `dart:convert` will throw an "Unexpected end of input"
// FormatException when trying to decode an empty string.
if (response.body.isNotEmpty &&
response.statusCode != HttpStatus.noContent) {
final responseBody = await _decodeBodyBytes(response);
return (await apiClient.deserializeAsync(responseBody, 'List<Session>')
as List)
.cast<Session>()
.toList(growable: false);
}
return null;
}