55 lines
1.4 KiB
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>;
|
|
}
|
|
}
|