/
wvvtop
/
PassKeeper
Обзор
Документация
Войти
/
wvvtop
/
PassKeeper
Код
Запросы
0
Задачи
Вики
Пакеты
0
Релизы
0
CI/CD
Аналитика
Безопасность
master
lib/data/database/database_service.dart
64 строки
1 KB
Ilya-322
Add real createdAt/updatedAt with instant UI update
10 июн 2026, 17:54
10 июн 2026, 17:54
20054be
Код
Авторство
О чём код?
import 'package:path/path.dart'; import 'package:sqflite/sqflite.dart'; class DatabaseService { static final DatabaseService instance = DatabaseService._internal(); static Database? _database; DatabaseService._internal(); Future<Database> get database async { if (_database != null) { return _database!; } _database = await _initDatabase(); return _database!; } Future<Database> _initDatabase() async { final databasePath = await getDatabasesPath(); final path = join(databasePath, 'passkeeper.db'); return await openDatabase( path, version: 3, onCreate: _createDatabase, ); } Future<void> _createDatabase( Database db, int version, ) async { await db.execute(''' CREATE TABLE passwords( id INTEGER PRIMARY KEY AUTOINCREMENT, service_name TEXT NOT NULL, login TEXT NOT NULL, encrypted_password TEXT NOT NULL, is_favorite INTEGER NOT NULL DEFAULT 0, created_at TEXT NOT NULL, updated_at TEXT NOT NULL ) '''); } Future<void> deleteDatabaseFile() async { final databasePath = await getDatabasesPath(); final path = join(databasePath, 'passkeeper.db'); await deleteDatabase(path); _database = null; } }