Projekt modellhez alapértelmezett oszlop hozzáadása

This commit is contained in:
torok.istvan 2026-06-12 09:10:02 +02:00
parent 71305e49f9
commit ad46429aa9
2 changed files with 7 additions and 0 deletions

View File

@ -11,6 +11,7 @@ class Project {
final ProjectCrs crs; final ProjectCrs crs;
final String color; // hex, a UI-ban azonosításhoz final String color; // hex, a UI-ban azonosításhoz
final ProjectStatus status; final ProjectStatus status;
final bool isDefault;
final bool isLocalOnly; final bool isLocalOnly;
final DateTime? lastSyncedAt; final DateTime? lastSyncedAt;
final DateTime createdAt; final DateTime createdAt;
@ -25,6 +26,7 @@ class Project {
this.crs = ProjectCrs.eov, this.crs = ProjectCrs.eov,
this.color = '#185FA5', this.color = '#185FA5',
this.status = ProjectStatus.active, this.status = ProjectStatus.active,
this.isDefault = false,
this.isLocalOnly = false, this.isLocalOnly = false,
this.lastSyncedAt, this.lastSyncedAt,
required this.createdAt, required this.createdAt,
@ -47,6 +49,7 @@ class Project {
crs: crs ?? this.crs, crs: crs ?? this.crs,
color: color ?? this.color, color: color ?? this.color,
status: status ?? this.status, status: status ?? this.status,
isDefault: isDefault,
isLocalOnly: isLocalOnly, isLocalOnly: isLocalOnly,
lastSyncedAt: lastSyncedAt, lastSyncedAt: lastSyncedAt,
createdAt: createdAt, createdAt: createdAt,
@ -62,6 +65,7 @@ class Project {
'crs': crs.name, 'crs': crs.name,
'color': color, 'color': color,
'status': status.name, 'status': status.name,
'is_default': isDefault,
'is_local_only': isLocalOnly, 'is_local_only': isLocalOnly,
if (lastSyncedAt != null) if (lastSyncedAt != null)
'last_synced_at': lastSyncedAt!.toIso8601String(), 'last_synced_at': lastSyncedAt!.toIso8601String(),
@ -78,6 +82,7 @@ class Project {
crs: ProjectCrs.values.byName(m['crs'] as String? ?? 'eov'), crs: ProjectCrs.values.byName(m['crs'] as String? ?? 'eov'),
color: m['color'] as String? ?? '#185FA5', color: m['color'] as String? ?? '#185FA5',
status: ProjectStatus.values.byName(m['status'] as String? ?? 'active'), status: ProjectStatus.values.byName(m['status'] as String? ?? 'active'),
isDefault: _readBool(m, 'is_default', defaultValue: false),
isLocalOnly: _readBool(m, 'is_local_only', defaultValue: false), isLocalOnly: _readBool(m, 'is_local_only', defaultValue: false),
lastSyncedAt: m['last_synced_at'] == null lastSyncedAt: m['last_synced_at'] == null
? null ? null

View File

@ -47,6 +47,7 @@ class AppDatabase {
crs TEXT NOT NULL DEFAULT 'eov', crs TEXT NOT NULL DEFAULT 'eov',
color TEXT NOT NULL DEFAULT '#185FA5', color TEXT NOT NULL DEFAULT '#185FA5',
status TEXT NOT NULL DEFAULT 'active', status TEXT NOT NULL DEFAULT 'active',
is_default INTEGER NOT NULL DEFAULT 0,
is_local_only INTEGER NOT NULL DEFAULT 1, is_local_only INTEGER NOT NULL DEFAULT 1,
last_synced_at TEXT, last_synced_at TEXT,
created_at TEXT NOT NULL, created_at TEXT NOT NULL,
@ -157,6 +158,7 @@ class AppDatabase {
await db.insert('projects', { await db.insert('projects', {
'uuid': const Uuid().v4(), 'uuid': const Uuid().v4(),
'name': 'Alapértelmezett projekt', 'name': 'Alapértelmezett projekt',
'is_default': true,
'is_local_only': 0, 'is_local_only': 0,
'status': 'active', 'status': 'active',
'created_at': now, 'created_at': now,