mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-13 22:12:17 -06:00
Implemented inbox (still WIP)
This commit is contained in:
@@ -1,24 +1,50 @@
|
||||
import 'package:paperless_mobile/core/type/types.dart';
|
||||
|
||||
class BulkEditAction {
|
||||
final List<int> documents;
|
||||
final BulkEditActionMethod _method;
|
||||
final Map<String, dynamic> parameters;
|
||||
abstract class BulkAction {
|
||||
final Iterable<int> documentIds;
|
||||
|
||||
BulkEditAction.delete(this.documents)
|
||||
: _method = BulkEditActionMethod.delete,
|
||||
parameters = {};
|
||||
BulkAction(this.documentIds);
|
||||
|
||||
JSON toJson();
|
||||
}
|
||||
|
||||
class BulkDeleteAction extends BulkAction {
|
||||
BulkDeleteAction(super.documents);
|
||||
|
||||
@override
|
||||
JSON toJson() {
|
||||
return {
|
||||
'documents': documents,
|
||||
'method': _method.name,
|
||||
'parameters': parameters,
|
||||
'documents': documentIds.toList(),
|
||||
'method': 'delete',
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
enum BulkEditActionMethod {
|
||||
delete,
|
||||
edit;
|
||||
class BulkModifyTagsAction extends BulkAction {
|
||||
final Iterable<int> removeTags;
|
||||
final Iterable<int> addTags;
|
||||
|
||||
BulkModifyTagsAction(
|
||||
super.documents, {
|
||||
this.removeTags = const [],
|
||||
this.addTags = const [],
|
||||
});
|
||||
|
||||
BulkModifyTagsAction.addTags(super.documents, this.addTags)
|
||||
: removeTags = const [];
|
||||
|
||||
BulkModifyTagsAction.removeTags(super.documents, this.removeTags)
|
||||
: addTags = const [];
|
||||
|
||||
@override
|
||||
JSON toJson() {
|
||||
return {
|
||||
'documents': documentIds.toList(),
|
||||
'method': 'modify_tags',
|
||||
'parameters': {
|
||||
'add_tags': addTags.toList(),
|
||||
'remove_tags': removeTags.toList(),
|
||||
}
|
||||
};
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user