getFirstFromDB<T extends YustDoc> method

Future<T?> getFirstFromDB<T extends YustDoc>(
  1. YustDocSetup<T> docSetup, {
  2. List<YustFilter>? filters,
  3. List<YustOrderBy>? orderBy,
})

Returns the first YustDoc in a list directly from the server.

Be careful with offline functionality. The result is null if no document was found.

Implementation

Future<T?> getFirstFromDB<T extends YustDoc>(
  YustDocSetup<T> docSetup, {
  List<YustFilter>? filters,
  List<YustOrderBy>? orderBy,
}) async {
  final response = await _retryOnException<List<RunQueryResponseElement>>(
      'getFirstFromDB',
      _getDocumentPath(docSetup),
      () => _api.projects.databases.documents.runQuery(
          getQuery(docSetup, filters: filters, orderBy: orderBy, limit: 1),
          _getParentPath(docSetup)));

  if (response.isEmpty || response.first.document == null) {
    return null;
  }
  dbLogCallback?.call(DatabaseLogAction.get, _getDocumentPath(docSetup), 1);
  return _transformDoc<T>(docSetup, response.first.document!);
}