2023-03-18 15:55:11 +01:00
|
|
|
import 'package:immich_mobile/utils/hash.dart';
|
|
|
|
|
import 'package:isar/isar.dart';
|
|
|
|
|
|
2024-04-30 21:36:40 -05:00
|
|
|
part 'backup_album.entity.g.dart';
|
2023-03-18 15:55:11 +01:00
|
|
|
|
|
|
|
|
@Collection(inheritance: false)
|
|
|
|
|
class BackupAlbum {
|
|
|
|
|
String id;
|
|
|
|
|
DateTime lastBackup;
|
|
|
|
|
@Enumerated(EnumType.ordinal)
|
|
|
|
|
BackupSelection selection;
|
|
|
|
|
|
|
|
|
|
BackupAlbum(this.id, this.lastBackup, this.selection);
|
|
|
|
|
|
|
|
|
|
Id get isarId => fastHash(id);
|
2025-07-21 23:26:49 +05:30
|
|
|
|
|
|
|
|
BackupAlbum copyWith({
|
|
|
|
|
String? id,
|
|
|
|
|
DateTime? lastBackup,
|
|
|
|
|
BackupSelection? selection,
|
|
|
|
|
}) {
|
|
|
|
|
return BackupAlbum(
|
|
|
|
|
id ?? this.id,
|
|
|
|
|
lastBackup ?? this.lastBackup,
|
|
|
|
|
selection ?? this.selection,
|
|
|
|
|
);
|
|
|
|
|
}
|
2023-03-18 15:55:11 +01:00
|
|
|
}
|
|
|
|
|
|
|
|
|
|
enum BackupSelection {
|
|
|
|
|
none,
|
|
|
|
|
select,
|
2024-06-29 11:30:18 -05:00
|
|
|
exclude;
|
2023-03-18 15:55:11 +01:00
|
|
|
}
|