mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-10 14:07:59 -06:00
feat: Add more user related state to hive
This commit is contained in:
@@ -0,0 +1,4 @@
|
||||
class PaperlessApiHiveTypeIds {
|
||||
PaperlessApiHiveTypeIds._();
|
||||
static const int documentFilter = 1000;
|
||||
}
|
||||
@@ -1,6 +1,8 @@
|
||||
import 'package:collection/collection.dart';
|
||||
import 'package:equatable/equatable.dart';
|
||||
import 'package:hive/hive.dart';
|
||||
import 'package:json_annotation/json_annotation.dart';
|
||||
import 'package:paperless_api/config/hive/hive_type_ids.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_api/src/converters/tags_query_json_converter.dart';
|
||||
|
||||
@@ -9,6 +11,7 @@ part 'document_filter.g.dart';
|
||||
@TagsQueryJsonConverter()
|
||||
@DateRangeQueryJsonConverter()
|
||||
@JsonSerializable(explicitToJson: true)
|
||||
@HiveType(typeId: PaperlessApiHiveTypeIds.documentFilter)
|
||||
class DocumentFilter extends Equatable {
|
||||
static const DocumentFilter initial = DocumentFilter();
|
||||
|
||||
@@ -19,21 +22,35 @@ class DocumentFilter extends Equatable {
|
||||
page: 1,
|
||||
);
|
||||
|
||||
@HiveField(0)
|
||||
final int pageSize;
|
||||
@HiveField(1)
|
||||
final int page;
|
||||
@HiveField(2)
|
||||
final IdQueryParameter documentType;
|
||||
@HiveField(3)
|
||||
final IdQueryParameter correspondent;
|
||||
@HiveField(4)
|
||||
final IdQueryParameter storagePath;
|
||||
@HiveField(5)
|
||||
final IdQueryParameter asnQuery;
|
||||
@HiveField(6)
|
||||
final TagsQuery tags;
|
||||
@HiveField(7)
|
||||
final SortField? sortField;
|
||||
@HiveField(8)
|
||||
final SortOrder sortOrder;
|
||||
@HiveField(9)
|
||||
final DateRangeQuery created;
|
||||
@HiveField(10)
|
||||
final DateRangeQuery added;
|
||||
@HiveField(11)
|
||||
final DateRangeQuery modified;
|
||||
@HiveField(12)
|
||||
final TextQuery query;
|
||||
|
||||
/// Query documents similar to the document with this id.
|
||||
@HiveField(13)
|
||||
final int? moreLike;
|
||||
|
||||
const DocumentFilter({
|
||||
|
||||
@@ -152,10 +152,10 @@ class PaperlessDocumentsApiImpl implements PaperlessDocumentsApi {
|
||||
|
||||
@override
|
||||
Future<int> findNextAsn() async {
|
||||
const DocumentFilter asnQueryFilter = DocumentFilter(
|
||||
final DocumentFilter asnQueryFilter = DocumentFilter(
|
||||
sortField: SortField.archiveSerialNumber,
|
||||
sortOrder: SortOrder.descending,
|
||||
asnQuery: IdQueryParameter.anyAssigned(),
|
||||
asnQuery: const IdQueryParameter.anyAssigned(),
|
||||
page: 1,
|
||||
pageSize: 1,
|
||||
);
|
||||
|
||||
@@ -21,6 +21,7 @@ dependencies:
|
||||
collection: ^1.17.0
|
||||
jiffy: ^5.0.0
|
||||
freezed_annotation: ^2.2.0
|
||||
hive: ^2.2.3
|
||||
|
||||
dev_dependencies:
|
||||
flutter_test:
|
||||
@@ -29,6 +30,7 @@ dev_dependencies:
|
||||
json_serializable: ^6.5.4
|
||||
build_runner: ^2.3.2
|
||||
freezed: ^2.3.2
|
||||
hive_generator: ^2.0.0
|
||||
|
||||
# For information on the generic Dart part of this file, see the
|
||||
# following page: https://dart.dev/tools/pub/pubspec
|
||||
|
||||
@@ -210,16 +210,16 @@ void main() {
|
||||
test('Values are correctly parsed if unset.', () {
|
||||
expect(
|
||||
SavedView.fromDocumentFilter(
|
||||
const DocumentFilter(
|
||||
correspondent: IdQueryParameter.unset(),
|
||||
documentType: IdQueryParameter.unset(),
|
||||
storagePath: IdQueryParameter.unset(),
|
||||
tags: IdsTagsQuery(),
|
||||
DocumentFilter(
|
||||
correspondent: const IdQueryParameter.unset(),
|
||||
documentType: const IdQueryParameter.unset(),
|
||||
storagePath: const IdQueryParameter.unset(),
|
||||
tags: const IdsTagsQuery(),
|
||||
sortField: SortField.created,
|
||||
sortOrder: SortOrder.descending,
|
||||
added: UnsetDateRangeQuery(),
|
||||
created: UnsetDateRangeQuery(),
|
||||
query: TextQuery(),
|
||||
added: const UnsetDateRangeQuery(),
|
||||
created: const UnsetDateRangeQuery(),
|
||||
query: const TextQuery(),
|
||||
),
|
||||
name: "test_name",
|
||||
showInSidebar: false,
|
||||
@@ -241,11 +241,11 @@ void main() {
|
||||
test('Values are correctly parsed if not assigned.', () {
|
||||
expect(
|
||||
SavedView.fromDocumentFilter(
|
||||
const DocumentFilter(
|
||||
correspondent: IdQueryParameter.notAssigned(),
|
||||
documentType: IdQueryParameter.notAssigned(),
|
||||
storagePath: IdQueryParameter.notAssigned(),
|
||||
tags: OnlyNotAssignedTagsQuery(),
|
||||
DocumentFilter(
|
||||
correspondent: const IdQueryParameter.notAssigned(),
|
||||
documentType: const IdQueryParameter.notAssigned(),
|
||||
storagePath: const IdQueryParameter.notAssigned(),
|
||||
tags: const OnlyNotAssignedTagsQuery(),
|
||||
sortField: SortField.created,
|
||||
sortOrder: SortOrder.ascending,
|
||||
),
|
||||
|
||||
Reference in New Issue
Block a user