Kapcsolat menü és a hozzá tartozó funkciók.
This commit is contained in:
@@ -43,7 +43,7 @@ class AppDatabase {
|
||||
final path = p.join(dbDir.path, 'terepi_seged.db');
|
||||
|
||||
return openDatabase(path,
|
||||
version: 4,
|
||||
version: 5,
|
||||
onConfigure: (db) => db.execute('PRAGMA foreign_keys = ON'),
|
||||
onCreate: _onCreate,
|
||||
onUpgrade: _onUpgrade);
|
||||
@@ -252,6 +252,7 @@ class AppDatabase {
|
||||
'CREATE INDEX idx_imp_layers_project ON imported_layers(project_id)');
|
||||
|
||||
await _createStakeoutTable(db);
|
||||
await _createContactsOutbox(db);
|
||||
|
||||
// Alap projekt létrehozása az első indításhoz
|
||||
final now = DateTime.now().toIso8601String();
|
||||
@@ -284,6 +285,9 @@ class AppDatabase {
|
||||
if (oldVersion < 4) {
|
||||
await _migrateToV4(db);
|
||||
}
|
||||
if (oldVersion < 5) {
|
||||
_createContactsOutbox(db);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _migrateToV4(Database db) async {
|
||||
@@ -1277,4 +1281,48 @@ class AppDatabase {
|
||||
[correctId]);
|
||||
}
|
||||
}
|
||||
|
||||
Future<void> _createContactsOutbox(Database db) async {
|
||||
await db.execute('''
|
||||
CREATE TABLE IF NOT EXISTS contacts_outbox (
|
||||
local_uuid TEXT PRIMARY KEY,
|
||||
name TEXT NOT NULL,
|
||||
address TEXT NOT NULL DEFAULT '',
|
||||
phone TEXT NOT NULL DEFAULT '',
|
||||
email TEXT NOT NULL DEFAULT '',
|
||||
note TEXT NOT NULL DEFAULT '',
|
||||
created_at TEXT NOT NULL
|
||||
)
|
||||
''');
|
||||
}
|
||||
|
||||
Future<void> insertPendingContact(Map<String, dynamic> row) async {
|
||||
final db = await database;
|
||||
await db.insert('contacts_outbox', row);
|
||||
}
|
||||
|
||||
Future<List<Map<String, dynamic>>> listPendingContacts() async {
|
||||
final db = await database;
|
||||
return db.query('contacts_outbox', orderBy: 'created_at ASC');
|
||||
}
|
||||
|
||||
Future<void> updatePendingContact(
|
||||
String localUuid, Map<String, dynamic> fields) async {
|
||||
final db = await database;
|
||||
await db.update('contacts_outbox', fields,
|
||||
where: 'local_uuid = ?', whereArgs: [localUuid]);
|
||||
}
|
||||
|
||||
Future<void> deletePendingContact(String localUuid) async {
|
||||
final db = await database;
|
||||
await db.delete('contacts_outbox',
|
||||
where: 'local_uuid = ?', whereArgs: [localUuid]);
|
||||
}
|
||||
|
||||
Future<int> countPendingContacts() async {
|
||||
final db = await database;
|
||||
return Sqflite.firstIntValue(
|
||||
await db.rawQuery('SELECT COUNT(*) FROM contacts_outbox')) ??
|
||||
0;
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user