mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-07 09:15:49 -06:00
WIP - More decoupling of data layer from ui layer
This commit is contained in:
@@ -14,25 +14,25 @@ import 'package:paperless_api/src/models/labels/tag_model.dart';
|
||||
///
|
||||
abstract class PaperlessLabelsApi {
|
||||
Future<Correspondent?> getCorrespondent(int id);
|
||||
Future<List<Correspondent>> getCorrespondents();
|
||||
Future<List<Correspondent>> getCorrespondents([Iterable<int>? ids]);
|
||||
Future<Correspondent> saveCorrespondent(Correspondent correspondent);
|
||||
Future<Correspondent> updateCorrespondent(Correspondent correspondent);
|
||||
Future<int> deleteCorrespondent(Correspondent correspondent);
|
||||
|
||||
Future<Tag?> getTag(int id);
|
||||
Future<List<Tag>> getTags({List<int>? ids});
|
||||
Future<List<Tag>> getTags([Iterable<int>? ids]);
|
||||
Future<Tag> saveTag(Tag tag);
|
||||
Future<Tag> updateTag(Tag tag);
|
||||
Future<int> deleteTag(Tag tag);
|
||||
|
||||
Future<DocumentType?> getDocumentType(int id);
|
||||
Future<List<DocumentType>> getDocumentTypes();
|
||||
Future<List<DocumentType>> getDocumentTypes([Iterable<int>? ids]);
|
||||
Future<DocumentType> saveDocumentType(DocumentType type);
|
||||
Future<DocumentType> updateDocumentType(DocumentType documentType);
|
||||
Future<int> deleteDocumentType(DocumentType documentType);
|
||||
|
||||
Future<StoragePath?> getStoragePath(int id);
|
||||
Future<List<StoragePath>> getStoragePaths();
|
||||
Future<List<StoragePath>> getStoragePaths([Iterable<int>? ids]);
|
||||
Future<StoragePath> saveStoragePath(StoragePath path);
|
||||
Future<StoragePath> updateStoragePath(StoragePath path);
|
||||
Future<int> deleteStoragePath(StoragePath path);
|
||||
|
||||
@@ -35,7 +35,7 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Tag>> getTags({List<int>? ids}) async {
|
||||
Future<List<Tag>> getTags([Iterable<int>? ids]) async {
|
||||
final results = await getCollection(
|
||||
"/api/tags/?page=1&page_size=100000",
|
||||
Tag.fromJson,
|
||||
@@ -59,23 +59,31 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<Correspondent>> getCorrespondents() {
|
||||
return getCollection(
|
||||
Future<List<Correspondent>> getCorrespondents([Iterable<int>? ids]) async {
|
||||
final results = await getCollection(
|
||||
"/api/correspondents/?page=1&page_size=100000",
|
||||
Correspondent.fromJson,
|
||||
ErrorCode.correspondentLoadFailed,
|
||||
client: client,
|
||||
);
|
||||
|
||||
return results
|
||||
.where((element) => ids?.contains(element.id) ?? true)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<DocumentType>> getDocumentTypes() {
|
||||
return getCollection(
|
||||
Future<List<DocumentType>> getDocumentTypes([Iterable<int>? ids]) async {
|
||||
final results = await getCollection(
|
||||
"/api/document_types/?page=1&page_size=100000",
|
||||
DocumentType.fromJson,
|
||||
ErrorCode.documentTypeLoadFailed,
|
||||
client: client,
|
||||
);
|
||||
|
||||
return results
|
||||
.where((element) => ids?.contains(element.id) ?? true)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -261,13 +269,17 @@ class PaperlessLabelApiImpl implements PaperlessLabelsApi {
|
||||
}
|
||||
|
||||
@override
|
||||
Future<List<StoragePath>> getStoragePaths() {
|
||||
return getCollection(
|
||||
Future<List<StoragePath>> getStoragePaths([Iterable<int>? ids]) async {
|
||||
final results = await getCollection(
|
||||
"/api/storage_paths/?page=1&page_size=100000",
|
||||
StoragePath.fromJson,
|
||||
ErrorCode.storagePathLoadFailed,
|
||||
client: client,
|
||||
);
|
||||
|
||||
return results
|
||||
.where((element) => ids?.contains(element.id) ?? true)
|
||||
.toList();
|
||||
}
|
||||
|
||||
@override
|
||||
|
||||
@@ -1,7 +1,8 @@
|
||||
import 'package:paperless_api/src/models/saved_view_model.dart';
|
||||
|
||||
abstract class PaperlessSavedViewsApi {
|
||||
Future<List<SavedView>> getAll();
|
||||
Future<SavedView> find(int id);
|
||||
Future<Iterable<SavedView>> findAll([Iterable<int>? ids]);
|
||||
|
||||
Future<SavedView> save(SavedView view);
|
||||
Future<int> delete(SavedView view);
|
||||
|
||||
@@ -14,13 +14,15 @@ class PaperlessSavedViewsApiImpl implements PaperlessSavedViewsApi {
|
||||
PaperlessSavedViewsApiImpl(this.client);
|
||||
|
||||
@override
|
||||
Future<List<SavedView>> getAll() {
|
||||
return getCollection(
|
||||
Future<Iterable<SavedView>> findAll([Iterable<int>? ids]) async {
|
||||
final result = await getCollection(
|
||||
"/api/saved_views/",
|
||||
SavedView.fromJson,
|
||||
ErrorCode.loadSavedViewsError,
|
||||
client: client,
|
||||
);
|
||||
|
||||
return result.where((view) => ids?.contains(view.id!) ?? true);
|
||||
}
|
||||
|
||||
@override
|
||||
@@ -51,4 +53,14 @@ class PaperlessSavedViewsApiImpl implements PaperlessSavedViewsApi {
|
||||
httpStatusCode: response.statusCode,
|
||||
);
|
||||
}
|
||||
|
||||
@override
|
||||
Future<SavedView> find(int id) {
|
||||
return getSingleResult(
|
||||
"/api/saved_views/$id/",
|
||||
SavedView.fromJson,
|
||||
ErrorCode.loadSavedViewsError,
|
||||
client: client,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user