mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-15 02:12:25 -06:00
Implemented inbox (still WIP)
This commit is contained in:
@@ -1,5 +1,6 @@
|
||||
import 'dart:typed_data';
|
||||
|
||||
import 'package:paperless_mobile/features/documents/model/bulk_edit.model.dart';
|
||||
import 'package:paperless_mobile/features/documents/model/document.model.dart';
|
||||
import 'package:paperless_mobile/features/documents/model/document_filter.dart';
|
||||
import 'package:paperless_mobile/features/documents/model/document_meta_data.model.dart';
|
||||
@@ -23,7 +24,7 @@ abstract class DocumentRepository {
|
||||
Future<List<SimilarDocumentModel>> findSimilar(int docId);
|
||||
Future<int> delete(DocumentModel doc);
|
||||
Future<DocumentMetaData> getMetaData(DocumentModel document);
|
||||
Future<List<int>> bulkDelete(List<DocumentModel> models);
|
||||
Future<Iterable<int>> bulkAction(BulkAction action);
|
||||
Future<Uint8List> getPreview(int docId);
|
||||
String getThumbnailUrl(int docId);
|
||||
Future<DocumentModel> waitForConsumptionFinished(
|
||||
|
||||
@@ -216,18 +216,16 @@ class DocumentRepositoryImpl implements DocumentRepository {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<int>> bulkDelete(List<DocumentModel> documentModels) async {
|
||||
final List<int> ids = documentModels.map((e) => e.id).toList();
|
||||
final action = BulkEditAction.delete(ids);
|
||||
Future<Iterable<int>> bulkAction(BulkAction action) async {
|
||||
final response = await httpClient.post(
|
||||
Uri.parse("/api/documents/bulk_edit/"),
|
||||
body: json.encode(action.toJson()),
|
||||
headers: {'Content-Type': 'application/json'},
|
||||
);
|
||||
if (response.statusCode == 200) {
|
||||
return ids;
|
||||
return action.documentIds;
|
||||
} else {
|
||||
throw const ErrorMessage(ErrorCode.documentBulkDeleteFailed);
|
||||
throw const ErrorMessage(ErrorCode.documentBulkActionFailed);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
Reference in New Issue
Block a user