findOrFail<T extends Model> static method
Future
findOrFail<T extends Model>({
- required HttpRequest request,
- required dynamic id,
- DatabaseDisk disk = Model.defaultDisk,
Implementation
static Future<dynamic> findOrFail<T extends Model>({required HttpRequest request, required dynamic id, DatabaseDisk disk = Model.defaultDisk}) async {
switch (disk) {
case DatabaseDisk.file:
try {
final model = await JsonFileModel.find<T>(uuid: id);
if (model != null) {
model.disk = .file;
return model;
}
return request.notFound();
} catch (e) {
return request.notFound();
}
case DatabaseDisk.sqlite:
try {
final model = await SQLiteModel.find<T>(id: id);
if (model != null) {
model.disk = .sqlite;
return model;
}
return request.notFound();
} catch (e) {
return request.notFound();
}
case DatabaseDisk.s3:
try {
final model = await S3JsonFileModel.find<T>(uuid: id);
if (model != null) {
model.disk = .s3;
return model;
}
return request.notFound();
} catch (e) {
return request.notFound();
}
case DatabaseDisk.pgsql:
try {
final model = await PostgresModel.find<T>(id: id);
if (model != null) {
model.disk = .pgsql;
return model;
}
return request.notFound();
} catch (e) {
return request.notFound();
}
}
}