where<T extends Model> static method
Future<List<T> >
where<T extends Model>({
- required String field,
- required dynamic value,
- String comp = "==",
- DatabaseDisk disk = Model.defaultDisk,
Filters records where field comp value.
Supported comp: ==, !=, >, <, >=, <=, contains
Implementation
static Future<List<T>> where<T extends Model>({required String field, required dynamic value, String comp = "==", DatabaseDisk disk = Model.defaultDisk}) async {
switch (disk) {
case DatabaseDisk.file:
try {
final models = await JsonFileModel.where<T>(field: field, value: value, comp: comp);
if (models.isNotEmpty) {
models.map((model) => model.disk = .file);
return models;
}
return [];
} catch (e) {
return [];
}
case DatabaseDisk.sqlite:
try {
final models = await SQLiteModel.where<T>(field: field, value: value, comp: comp);
if (models.isNotEmpty) {
models.map((model) => model.disk = .sqlite);
return models;
}
return [];
} catch (e) {
return [];
}
case DatabaseDisk.s3:
try {
final models = await S3JsonFileModel.where<T>(field: field, value: value, comp: comp);
if (models.isNotEmpty) {
models.map((model) => model.disk = .s3);
return models;
}
return [];
} catch (e) {
return [];
}
case DatabaseDisk.pgsql:
try {
final models = await PostgresModel.where<T>(field: field, value: value, comp: comp);
if (models.isNotEmpty) {
models.map((model) => model.disk = .pgsql);
return models;
}
return [];
} catch (e) {
return [];
}
}
}