getSessions method
Future<DataPage<SessionV1> >
getSessions(
- String? correlationId,
- FilterParams filter,
- PagingParams paging
override
Gets a page of sessions retrieved by a given filter.
correlationId
(optional) transaction id to trace execution through call chain.filter
(optional) a filter function to filter itemspaging
(optional) paging parameters Return Future that receives a data page Throws error.
Implementation
@override
Future<DataPage<SessionV1>> getSessions(
String? correlationId, FilterParams filter, PagingParams paging) async {
var filterDefinition = _composeFilter(filter);
var sessions = _sessions.where(filterDefinition).toList();
var skip = paging.getSkip(-1);
var take = paging.getTake(_maxPageSize);
var total = 0;
if (paging.total) {
total = sessions.length;
}
if (skip > 0) {
sessions = sessions.length > skip ? sessions.sublist(skip) : sessions;
}
sessions = sessions.length > take ? sessions.sublist(0, take) : sessions;
return DataPage(sessions, total);
}