Files
paperless-mobile/lib/features/documents/model/bulk_edit.model.dart
2022-11-24 13:37:25 +01:00

51 lines
1.0 KiB
Dart

import 'package:paperless_mobile/core/type/types.dart';
abstract class BulkAction {
final Iterable<int> documentIds;
BulkAction(this.documentIds);
JSON toJson();
}
class BulkDeleteAction extends BulkAction {
BulkDeleteAction(super.documents);
@override
JSON toJson() {
return {
'documents': documentIds.toList(),
'method': 'delete',
};
}
}
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(),
}
};
}
}