Ver Fonte

Trash: Add trash service & api to trash files

Neeraj Gupta há 3 anos atrás
pai
commit
f488f47f2b
2 ficheiros alterados com 51 adições e 0 exclusões
  1. 22 0
      lib/models/trash_item_request.dart
  2. 29 0
      lib/services/trash_sync_service.dart

+ 22 - 0
lib/models/trash_item_request.dart

@@ -0,0 +1,22 @@
+class TrashRequest {
+  final int fileID;
+  final int collectionID;
+
+  TrashRequest(this.fileID, this.collectionID);
+
+  factory TrashRequest.fromJson(Map<String, dynamic> json) {
+    return TrashRequest(json['fileID'], json['collectionID']);
+  }
+
+  Map<String, dynamic> toJson() {
+    final Map<String, dynamic> data = <String, dynamic>{};
+    data['fileID'] = fileID;
+    data['collectionID'] = collectionID;
+    return data;
+  }
+
+  @override
+  String toString() {
+    return 'TrashItemRequest{fileID: $fileID, collectionID: $collectionID}';
+  }
+}

+ 29 - 0
lib/services/trash_sync_service.dart

@@ -0,0 +1,29 @@
+import 'package:dio/dio.dart';
+import 'package:photos/core/configuration.dart';
+import 'package:photos/core/network.dart';
+import 'package:photos/models/trash_item_request.dart';
+
+class TrashSyncService {
+  TrashSyncService._privateConstructor();
+
+  static final TrashSyncService instance =
+      TrashSyncService._privateConstructor();
+  final _dio = Network.instance.getDio();
+
+  Future<void> trashFilesOnServer(List<TrashRequest> trashRequestItems) async {
+    final params = <String, dynamic>{};
+    params["items"] = [];
+    for (final item in trashRequestItems) {
+      params["items"].add(item.toJson());
+    }
+    return await _dio.post(
+      Configuration.instance.getHttpEndpoint() + "/files/trash",
+      options: Options(
+        headers: {
+          "X-Auth-Token": Configuration.instance.getToken(),
+        },
+      ),
+      data: params,
+    );
+  }
+}