findBy<T extends Model> static method

Future<T?> findBy<T extends Model>({
  1. required String field,
  2. required dynamic value,
  3. DatabaseDisk disk = Model.defaultDisk,
})

Finds first record where field matches value.

Implementation

static Future<T?> findBy<T extends Model>({required String field, required dynamic value, DatabaseDisk disk = Model.defaultDisk}) async  {
  switch (disk) {
    case DatabaseDisk.file:
      try {
        return await JsonFileModel.findBy<T>(field: field, value: value);
      } catch (e) {
        return null;
      }
    case DatabaseDisk.sqlite:
      try {
        return await SQLiteModel.findBy<T>(field: field, value: value);
      } catch (e) {
        return null;
      }
    case DatabaseDisk.s3:
      try {
        return await S3JsonFileModel.findBy<T>(field: field, value: value);
      } catch (e) {
        return null;
      }
    case DatabaseDisk.pgsql:
      try {
        return await PostgresModel.findBy<T>(field: field, value: value);
      } catch (e) {
        return null;
      }
  }
}