diff --git a/lib/models/project.dart b/lib/models/project.dart index 22a06fc..bfea2ef 100644 --- a/lib/models/project.dart +++ b/lib/models/project.dart @@ -11,6 +11,7 @@ class Project { final ProjectCrs crs; final String color; // hex, a UI-ban azonosításhoz final ProjectStatus status; + final bool isDefault; final bool isLocalOnly; final DateTime? lastSyncedAt; final DateTime createdAt; @@ -25,6 +26,7 @@ class Project { this.crs = ProjectCrs.eov, this.color = '#185FA5', this.status = ProjectStatus.active, + this.isDefault = false, this.isLocalOnly = false, this.lastSyncedAt, required this.createdAt, @@ -47,6 +49,7 @@ class Project { crs: crs ?? this.crs, color: color ?? this.color, status: status ?? this.status, + isDefault: isDefault, isLocalOnly: isLocalOnly, lastSyncedAt: lastSyncedAt, createdAt: createdAt, @@ -62,6 +65,7 @@ class Project { 'crs': crs.name, 'color': color, 'status': status.name, + 'is_default': isDefault, 'is_local_only': isLocalOnly, if (lastSyncedAt != null) 'last_synced_at': lastSyncedAt!.toIso8601String(), @@ -78,6 +82,7 @@ class Project { crs: ProjectCrs.values.byName(m['crs'] as String? ?? 'eov'), color: m['color'] as String? ?? '#185FA5', status: ProjectStatus.values.byName(m['status'] as String? ?? 'active'), + isDefault: _readBool(m, 'is_default', defaultValue: false), isLocalOnly: _readBool(m, 'is_local_only', defaultValue: false), lastSyncedAt: m['last_synced_at'] == null ? null diff --git a/lib/services/app_database.dart b/lib/services/app_database.dart index 1124082..473e46d 100644 --- a/lib/services/app_database.dart +++ b/lib/services/app_database.dart @@ -47,6 +47,7 @@ class AppDatabase { crs TEXT NOT NULL DEFAULT 'eov', color TEXT NOT NULL DEFAULT '#185FA5', status TEXT NOT NULL DEFAULT 'active', + is_default INTEGER NOT NULL DEFAULT 0, is_local_only INTEGER NOT NULL DEFAULT 1, last_synced_at TEXT, created_at TEXT NOT NULL, @@ -157,6 +158,7 @@ class AppDatabase { await db.insert('projects', { 'uuid': const Uuid().v4(), 'name': 'Alapértelmezett projekt', + 'is_default': true, 'is_local_only': 0, 'status': 'active', 'created_at': now,