getPaged<T extends Table, D> method

  1. @override
Future<List<D>> getPaged<T extends Table, D>({
  1. Expression<bool> filter(
    1. T
    )?,
  2. List<OrderingTerm Function(T)>? orderBy,
  3. required int limit,
  4. required int offset,
})
override

Implementation

@override
Future<List<D>> getPaged<T extends Table, D>({
  Expression<bool> Function(T)? filter,
  List<OrderingTerm Function(T)>? orderBy,
  required int limit,
  required int offset,
}) async {
  try {
    final table = _getTable<T, D>();
    var query = _database.select(table);

    if (filter != null) {
      query = query..where(filter);
    }

    if (orderBy != null && orderBy.isNotEmpty) {
      query = query..orderBy(orderBy);
    }

    query = query..limit(limit, offset: offset);

    return await query.get();
  } catch (e) {
    throw DatabaseBridgeException(error: e);
  }
}