first gets the first entry on database
@override Future<T?> get first async { return limit(1).toList().then((value) => value.firstOrNull); }