2021-09-20 07:26:25 +00:00
|
|
|
|
2021-09-16 13:14:51 +00:00
|
|
|
import 'dart:convert';
|
|
|
|
|
2021-09-17 10:04:24 +00:00
|
|
|
const kVisibilityVisible = 0;
|
|
|
|
const kVisibilityArchive = 1;
|
|
|
|
|
2021-09-18 03:54:32 +00:00
|
|
|
const kMagicKeyVisibility = 'visibility';
|
|
|
|
|
2021-09-20 06:41:38 +00:00
|
|
|
class MagicMetadata {
|
2021-09-16 13:14:51 +00:00
|
|
|
// 0 -> visible
|
|
|
|
// 1 -> archived
|
|
|
|
// 2 -> hidden etc?
|
|
|
|
int visibility;
|
|
|
|
|
2021-09-20 06:41:38 +00:00
|
|
|
MagicMetadata({this.visibility});
|
2021-09-16 13:14:51 +00:00
|
|
|
|
2021-09-20 06:41:38 +00:00
|
|
|
factory MagicMetadata.fromEncodedJson(String encodedJson) =>
|
|
|
|
MagicMetadata.fromJson(jsonDecode(encodedJson));
|
2021-09-16 13:14:51 +00:00
|
|
|
|
2021-09-20 06:41:38 +00:00
|
|
|
factory MagicMetadata.fromJson(dynamic json) =>
|
|
|
|
MagicMetadata.fromMap(json);
|
2021-09-16 13:14:51 +00:00
|
|
|
|
|
|
|
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;
|
2021-09-16 13:14:51 +00:00
|
|
|
return map;
|
|
|
|
}
|
2021-09-16 17:21:27 +00:00
|
|
|
|
2021-09-20 06:41:38 +00:00
|
|
|
factory MagicMetadata.fromMap(Map<String, dynamic> map) {
|
2021-09-16 17:21:27 +00:00
|
|
|
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-09-16 17:21:27 +00:00
|
|
|
);
|
|
|
|
}
|
2021-09-16 13:14:51 +00:00
|
|
|
}
|