mirror of
https://github.com/vleeuwenmenno/supplements.git
synced 2025-09-11 18:29:12 +02:00
feat adds proper syncing feature
Signed-off-by: Menno van Leeuwen <menno@vleeuwen.me>
This commit is contained in:
@@ -1,6 +1,6 @@
|
||||
import 'package:uuid/uuid.dart';
|
||||
|
||||
import 'sync_enums.dart';
|
||||
import '../services/database_sync_service.dart';
|
||||
|
||||
class SupplementIntake {
|
||||
final int? id;
|
||||
@@ -13,7 +13,7 @@ class SupplementIntake {
|
||||
// Sync metadata
|
||||
final String syncId;
|
||||
final DateTime lastModified;
|
||||
final SyncStatus syncStatus;
|
||||
final RecordSyncStatus syncStatus;
|
||||
final bool isDeleted;
|
||||
|
||||
SupplementIntake({
|
||||
@@ -25,7 +25,7 @@ class SupplementIntake {
|
||||
this.notes,
|
||||
String? syncId,
|
||||
DateTime? lastModified,
|
||||
this.syncStatus = SyncStatus.pending,
|
||||
this.syncStatus = RecordSyncStatus.pending,
|
||||
this.isDeleted = false,
|
||||
}) : syncId = syncId ?? const Uuid().v4(),
|
||||
lastModified = lastModified ?? DateTime.now();
|
||||
@@ -58,11 +58,11 @@ class SupplementIntake {
|
||||
? DateTime.parse(map['lastModified'])
|
||||
: DateTime.now(),
|
||||
syncStatus: map['syncStatus'] != null
|
||||
? SyncStatus.values.firstWhere(
|
||||
? RecordSyncStatus.values.firstWhere(
|
||||
(e) => e.name == map['syncStatus'],
|
||||
orElse: () => SyncStatus.pending,
|
||||
orElse: () => RecordSyncStatus.pending,
|
||||
)
|
||||
: SyncStatus.pending,
|
||||
: RecordSyncStatus.pending,
|
||||
isDeleted: (map['isDeleted'] ?? 0) == 1,
|
||||
);
|
||||
}
|
||||
@@ -76,7 +76,7 @@ class SupplementIntake {
|
||||
String? notes,
|
||||
String? syncId,
|
||||
DateTime? lastModified,
|
||||
SyncStatus? syncStatus,
|
||||
RecordSyncStatus? syncStatus,
|
||||
bool? isDeleted,
|
||||
}) {
|
||||
return SupplementIntake(
|
||||
@@ -96,7 +96,7 @@ class SupplementIntake {
|
||||
/// Create a new intake marked as synced
|
||||
SupplementIntake markAsSynced() {
|
||||
return copyWith(
|
||||
syncStatus: SyncStatus.synced,
|
||||
syncStatus: RecordSyncStatus.synced,
|
||||
);
|
||||
}
|
||||
|
||||
@@ -105,7 +105,7 @@ class SupplementIntake {
|
||||
return copyWith(
|
||||
isDeleted: true,
|
||||
lastModified: DateTime.now(),
|
||||
syncStatus: SyncStatus.modified,
|
||||
syncStatus: RecordSyncStatus.modified,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
Reference in New Issue
Block a user