ente/lib/models/magic_metadata.dart

93 lines
2.3 KiB
Dart
Raw Normal View History

import 'dart:convert';
const kVisibilityVisible = 0;
const kVisibilityArchive = 1;
2021-09-18 03:54:32 +00:00
const kMagicKeyVisibility = 'visibility';
2021-10-26 10:37:14 +00:00
const kPubMagicKeyEditedTime = 'editedTime';
const kPubMagicKeyEditedName = 'editedName';
2021-10-26 05:25:42 +00:00
2021-09-20 06:41:38 +00:00
class MagicMetadata {
// 0 -> visible
// 1 -> archived
// 2 -> hidden etc?
int visibility;
2021-09-20 06:41:38 +00:00
MagicMetadata({this.visibility});
2021-09-20 06:41:38 +00:00
factory MagicMetadata.fromEncodedJson(String encodedJson) =>
MagicMetadata.fromJson(jsonDecode(encodedJson));
2021-10-26 14:46:58 +00:00
factory MagicMetadata.fromJson(dynamic json) => MagicMetadata.fromMap(json);
Map<String, dynamic> toJson() {
2021-09-20 06:41:38 +00:00
final map = <String, dynamic>{};
2021-09-18 03:54:32 +00:00
map[kMagicKeyVisibility] = visibility;
return map;
}
2021-09-20 06:41:38 +00:00
factory MagicMetadata.fromMap(Map<String, dynamic> map) {
if (map == null) return null;
2021-09-20 06:41:38 +00:00
return MagicMetadata(
2021-09-18 03:54:32 +00:00
visibility: map[kMagicKeyVisibility] ?? kVisibilityVisible,
);
}
}
2021-10-26 05:25:42 +00:00
class PubMagicMetadata {
int editedTime;
String editedName;
2021-10-26 05:25:42 +00:00
PubMagicMetadata({this.editedTime, this.editedName});
2021-10-26 05:25:42 +00:00
factory PubMagicMetadata.fromEncodedJson(String encodedJson) =>
PubMagicMetadata.fromJson(jsonDecode(encodedJson));
factory PubMagicMetadata.fromJson(dynamic json) =>
PubMagicMetadata.fromMap(json);
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
2021-10-26 12:13:20 +00:00
map[kPubMagicKeyEditedTime] = editedTime;
map[kPubMagicKeyEditedName] = editedName;
2021-10-26 05:25:42 +00:00
return map;
}
factory PubMagicMetadata.fromMap(Map<String, dynamic> map) {
if (map == null) return null;
return PubMagicMetadata(
editedTime: map[kPubMagicKeyEditedTime],
editedName: map[kPubMagicKeyEditedName],
2021-10-26 05:25:42 +00:00
);
}
}
2022-03-21 09:32:24 +00:00
class CollectionMagicMetadata {
// 0 -> visible
// 1 -> archived
// 2 -> hidden etc?
int visibility;
CollectionMagicMetadata({this.visibility});
factory CollectionMagicMetadata.fromEncodedJson(String encodedJson) =>
CollectionMagicMetadata.fromJson(jsonDecode(encodedJson));
2022-06-11 08:23:52 +00:00
factory CollectionMagicMetadata.fromJson(dynamic json) =>
CollectionMagicMetadata.fromMap(json);
2022-03-21 09:32:24 +00:00
Map<String, dynamic> toJson() {
final map = <String, dynamic>{};
map[kMagicKeyVisibility] = visibility;
return map;
}
factory CollectionMagicMetadata.fromMap(Map<String, dynamic> map) {
if (map == null) return null;
return CollectionMagicMetadata(
visibility: map[kMagicKeyVisibility] ?? kVisibilityVisible,
);
}
}