mirror of
https://github.com/lollipopkit/flutter_server_box.git
synced 2025-12-17 23:34:24 +01:00
#157 new: icloud sync
This commit is contained in:
@@ -52,3 +52,19 @@ class DockerErr extends Err<DockerErrType> {
|
||||
return 'DockerErr<$type>: $message';
|
||||
}
|
||||
}
|
||||
|
||||
enum ICloudErrType {
|
||||
generic,
|
||||
notFound,
|
||||
multipleFiles,
|
||||
}
|
||||
|
||||
class ICloudErr extends Err<ICloudErrType> {
|
||||
ICloudErr({required ICloudErrType type, String? message})
|
||||
: super(from: ErrFrom.docker, type: type, message: message);
|
||||
|
||||
@override
|
||||
String toString() {
|
||||
return 'ICloudErr<$type>: $message';
|
||||
}
|
||||
}
|
||||
|
||||
7
lib/data/model/app/json.dart
Normal file
7
lib/data/model/app/json.dart
Normal file
@@ -0,0 +1,7 @@
|
||||
abstract class JsonSerializable<T> {
|
||||
/// Convert [this] to json
|
||||
Map<String, dynamic> toJson();
|
||||
|
||||
/// Create [this] from json
|
||||
T fromJson(Map<String, dynamic> json);
|
||||
}
|
||||
9
lib/data/model/app/syncable.dart
Normal file
9
lib/data/model/app/syncable.dart
Normal file
@@ -0,0 +1,9 @@
|
||||
abstract class SyncAble<T> {
|
||||
/// If [other] is newer than [this] then return true,
|
||||
/// else return false
|
||||
bool needSync(T other);
|
||||
|
||||
/// Merge [other] into [this],
|
||||
/// return [this] after merge
|
||||
T merge(T other);
|
||||
}
|
||||
Reference in New Issue
Block a user