import 'package:skripsi_getit/data/model/user.dart'; import 'package:sqflite/sqflite.dart'; import 'package:path/path.dart'; class DatabaseHelper { static final DatabaseHelper instance = DatabaseHelper._internal(); DatabaseHelper._internal(); static Database? _database; Future get database async { if (_database != null) return _database!; _database = await _initDB(); return _database!; } Future _initDB() async { String path = join(await getDatabasesPath(), 'app_database.db'); return await openDatabase( path, version: 1, onCreate: (db, version) { return db.execute( 'CREATE TABLE users(id INTEGER PRIMARY KEY, username TEXT, email TEXT, password TEXT)', ); }, ); } Future insertUser(User user) async { final db = await database; await db.insert( 'users', user.toMap(), conflictAlgorithm: ConflictAlgorithm.replace, ); } Future getUser(String email, String password) async { final db = await database; final maps = await db.query( 'users', where: 'email = ? AND password = ?', whereArgs: [email, password], ); if (maps.isNotEmpty) { return User.fromMap(maps.first); } return null; } }