feat: Add more user related state to hive

This commit is contained in:
Anton Stubenbord
2023-04-23 16:48:11 +02:00
parent 1b9e4fbb81
commit 5c0ef7f853
32 changed files with 408 additions and 272 deletions

View File

@@ -0,0 +1,4 @@
class PaperlessApiHiveTypeIds {
PaperlessApiHiveTypeIds._();
static const int documentFilter = 1000;
}

View File

@@ -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({

View File

@@ -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,
);