123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106 |
- import 'dart:convert';
- // Visibility Constants
- const visibilityVisible = 0;
- const visibilityArchive = 1;
- const visibilityHidden = 2;
- // Collection SubType Constants
- const subTypeDefaultHidden = 1;
- const subTypeSharedFilesCollection = 2;
- const magicKeyVisibility = 'visibility';
- // key for collection subType
- const subTypeKey = 'subType';
- const pubMagicKeyEditedTime = 'editedTime';
- const pubMagicKeyEditedName = 'editedName';
- const pubMagicKeyCaption = "caption";
- const pubMagicKeyUploaderName = "uploaderName";
- class MagicMetadata {
- // 0 -> visible
- // 1 -> archived
- // 2 -> hidden etc?
- int visibility;
- MagicMetadata({required this.visibility});
- factory MagicMetadata.fromEncodedJson(String encodedJson) =>
- MagicMetadata.fromJson(jsonDecode(encodedJson));
- factory MagicMetadata.fromJson(dynamic json) => MagicMetadata.fromMap(json);
- static fromMap(Map<String, dynamic>? map) {
- if (map == null) return null;
- return MagicMetadata(
- visibility: map[magicKeyVisibility] ?? visibilityVisible,
- );
- }
- }
- class PubMagicMetadata {
- int? editedTime;
- String? editedName;
- String? caption;
- String? uploaderName;
- PubMagicMetadata({
- this.editedTime,
- this.editedName,
- this.caption,
- this.uploaderName,
- });
- factory PubMagicMetadata.fromEncodedJson(String encodedJson) =>
- PubMagicMetadata.fromJson(jsonDecode(encodedJson));
- factory PubMagicMetadata.fromJson(dynamic json) =>
- PubMagicMetadata.fromMap(json);
- static fromMap(Map<String, dynamic>? map) {
- if (map == null) return null;
- return PubMagicMetadata(
- editedTime: map[pubMagicKeyEditedTime],
- editedName: map[pubMagicKeyEditedName],
- caption: map[pubMagicKeyCaption],
- uploaderName: map[pubMagicKeyUploaderName],
- );
- }
- }
- class CollectionMagicMetadata {
- // 0 -> visible
- // 1 -> archived
- // 2 -> hidden etc?
- int visibility;
- // null/0 value -> no subType
- // 1 -> DEFAULT_HIDDEN COLLECTION for files hidden individually
- // 2 -> Collections created for sharing selected files
- int? subType;
- CollectionMagicMetadata({required this.visibility, this.subType});
- Map<String, dynamic> toJson() {
- final result = {magicKeyVisibility: visibility};
- if (subType != null) {
- result[subTypeKey] = subType!;
- }
- return result;
- }
- factory CollectionMagicMetadata.fromEncodedJson(String encodedJson) =>
- CollectionMagicMetadata.fromJson(jsonDecode(encodedJson));
- factory CollectionMagicMetadata.fromJson(dynamic json) =>
- CollectionMagicMetadata.fromMap(json);
- static fromMap(Map<String, dynamic>? map) {
- if (map == null) return null;
- return CollectionMagicMetadata(
- visibility: map[magicKeyVisibility] ?? visibilityVisible,
- subType: map[subTypeKey],
- );
- }
- }
|