Line data Source code
1 : class FileTransferObject {
2 : final String transferId;
3 : final List<FileStatus> fileStatus;
4 : final String fileEncryptionKey;
5 : final String fileUrl;
6 : final String sharedWith;
7 : bool? sharedStatus;
8 : DateTime? date;
9 : String? error;
10 :
11 0 : FileTransferObject(this.transferId, this.fileEncryptionKey, this.fileUrl,
12 : this.sharedWith, this.fileStatus,
13 : {this.date, this.error}) {
14 0 : date ??= DateTime.now();
15 : }
16 :
17 0 : @override
18 : String toString() {
19 0 : return toJson().toString();
20 : }
21 :
22 0 : Map toJson() {
23 0 : var map = {};
24 0 : map['transferId'] = transferId;
25 0 : map['fileEncryptionKey'] = fileEncryptionKey;
26 0 : map['fileUrl'] = fileUrl;
27 0 : map['sharedWith'] = sharedWith;
28 0 : map['sharedStatus'] = sharedStatus;
29 0 : map['fileStatus'] = fileStatus;
30 0 : map['date'] = date!.toUtc().toString();
31 0 : map['error'] = error;
32 : return map;
33 : }
34 :
35 0 : static FileTransferObject? fromJson(Map json) {
36 : try {
37 0 : var fileStatus = <FileStatus>[];
38 0 : json['fileStatus'].forEach((file) {
39 0 : fileStatus.add(FileStatus.fromJson(file)!);
40 : });
41 :
42 0 : return FileTransferObject(json['transferId'], json['fileEncryptionKey'],
43 0 : json['fileUrl'], json['sharedWith'], fileStatus,
44 0 : date: DateTime.parse(json['date']).toLocal())
45 0 : ..sharedStatus = json['sharedStatus']
46 0 : ..error = json['error'];
47 : } catch (error) {
48 0 : print('FileTransferObject.fromJson error: ' + error.toString());
49 : }
50 : return null;
51 : }
52 : }
53 :
54 : class FileStatus {
55 : String? fileName;
56 : bool? isUploaded;
57 : int? size;
58 : String? error;
59 :
60 0 : FileStatus(
61 : {required this.fileName,
62 : this.isUploaded = false,
63 : required this.size,
64 : this.error});
65 :
66 0 : Map toJson() {
67 0 : var map = {};
68 0 : map['fileName'] = fileName;
69 0 : map['isUploaded'] = isUploaded;
70 0 : map['size'] = size;
71 0 : map['error'] = error;
72 : return map;
73 : }
74 :
75 0 : static FileStatus? fromJson(Map json) {
76 : try {
77 0 : return FileStatus(
78 0 : fileName: json['fileName'],
79 0 : isUploaded: json['isUploaded'],
80 0 : size: json['size'],
81 0 : error: json['error']);
82 : } catch (error) {
83 0 : print('FileStatus.fromJson error: ' + error.toString());
84 : }
85 : return null;
86 : }
87 : }
88 :
89 : class FileDownloadResponse {
90 : String? filePath;
91 : bool isError;
92 : String? errorMsg;
93 :
94 0 : FileDownloadResponse({this.filePath, this.isError = false, this.errorMsg});
95 : }
|