import 'package:drift/drift.dart'; import '../database.dart'; import '../tables/parametri.dart'; class ParametriDao { final AppDatabase db; ParametriDao(this.db); Future findByNome(String nome) { return (db.select(db.parametri)..where((t) => t.nome.equals(nome))).getSingleOrNull(); } Future read(String nome) async { final p = await findByNome(nome); return p?.valore; } Future set(String nome, String valore) async { final existing = await findByNome(nome); if (existing != null) { await (db.update(db.parametri)..where((t) => t.nome.equals(nome))) .write(Parametro(valore: valore, nome: nome)); } else { await db.into(db.parametri).insert(Parametro(nome: nome, valore: valore)); } } }