Initial Flutter booru app

This commit is contained in:
2026-05-23 11:46:52 +03:00
commit 63da741295
187 changed files with 24113 additions and 0 deletions
+32
View File
@@ -0,0 +1,32 @@
import 'package:isar/isar.dart';
import '../errors/app_exception.dart';
import '../utils/result.dart';
import 'app_database.dart';
class DatabaseService {
DatabaseService(this.database);
final AppDatabase database;
Isar get isar => database.isar;
Future<Result<T>> safeRead<T>(Future<T> Function(Isar isar) action) async {
try {
return Success(await action(isar));
} catch (error) {
return Error(
DatabaseException(error.toString(), details: error).toFailure());
}
}
Future<Result<T>> safeWrite<T>(Future<T> Function(Isar isar) action) async {
try {
final value = await isar.writeTxn(() => action(isar));
return Success(value);
} catch (error) {
return Error(
DatabaseException(error.toString(), details: error).toFailure());
}
}
}