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 [];
}
}
}