boxchecker/lib/db_helper.dart

55 lines
1.4 KiB
Dart

import "package:sqflite/sqflite.dart";
import "package:sqflite/sqlite_api.dart";
import "package:path/path.dart";
class DBHelper {
DBHelper._();
static DBHelper dbHelper = DBHelper._();
late Database _database;
Future<Database> get database async {
_database = await _createDatabase();
return _database;
}
Future<Database> _createDatabase() async {
Database database =
await openDatabase(join(await getDatabasesPath(), 'mydb.db'),
onCreate: (Database db, int version) {
db.execute("""
CREATE TABLE List(
id INTEGER PRIMARY KEY AUTOINCREMENT,
list_name TEXT
is_template int2
)
""");
db.execute("""
CREATE TABLE Check(
id INTEGER PRIMARY KEY AUTOINCREMENT,
check_text TEXT,
value int2,
list_id INTEGER
)
""");
}, version: 1);
return database;
}
Future<Map<String, dynamic>> getAllLists() async {
Database db = await database;
return db.query("List", where: "is_template = ?", whereArgs: ['0'])
as Map<String, dynamic>;
}
Future<Map<String, dynamic>> getAllTemplates() async {
Database db = await database;
return db.query("List", where: "is_template = ?", whereArgs: ['1'])
as Map<String, dynamic>;
}
}