mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-18 10:12:33 -06:00
Feat: Update scanner persistence, more migrations and bugfixes
This commit is contained in:
@@ -3,6 +3,7 @@ import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_mobile/core/database/tables/local_user_app_state.dart';
|
||||
import 'package:paperless_mobile/core/notifier/document_changed_notifier.dart';
|
||||
import 'package:paperless_mobile/core/repository/label_repository.dart';
|
||||
import 'package:paperless_mobile/core/service/connectivity_status_service.dart';
|
||||
import 'package:paperless_mobile/features/paged_document_view/cubit/paged_documents_state.dart';
|
||||
import 'package:paperless_mobile/features/paged_document_view/cubit/document_paging_bloc_mixin.dart';
|
||||
import 'package:paperless_mobile/features/settings/model/view_type.dart';
|
||||
@@ -15,7 +16,8 @@ class SavedViewDetailsCubit extends Cubit<SavedViewDetailsState>
|
||||
final PaperlessDocumentsApi api;
|
||||
|
||||
final LabelRepository _labelRepository;
|
||||
|
||||
@override
|
||||
final ConnectivityStatusService connectivityStatusService;
|
||||
@override
|
||||
final DocumentChangedNotifier notifier;
|
||||
|
||||
@@ -27,7 +29,8 @@ class SavedViewDetailsCubit extends Cubit<SavedViewDetailsState>
|
||||
this.api,
|
||||
this.notifier,
|
||||
this._labelRepository,
|
||||
this._userState, {
|
||||
this._userState,
|
||||
this.connectivityStatusService, {
|
||||
required this.savedView,
|
||||
int initialCount = 25,
|
||||
}) : super(
|
||||
|
||||
@@ -1,6 +1,7 @@
|
||||
import 'package:bloc/bloc.dart';
|
||||
import 'package:freezed_annotation/freezed_annotation.dart';
|
||||
import 'package:paperless_api/paperless_api.dart';
|
||||
import 'package:paperless_mobile/core/service/connectivity_status_service.dart';
|
||||
|
||||
part 'saved_view_preview_state.dart';
|
||||
part 'saved_view_preview_cubit.freezed.dart';
|
||||
@@ -8,11 +9,21 @@ part 'saved_view_preview_cubit.freezed.dart';
|
||||
class SavedViewPreviewCubit extends Cubit<SavedViewPreviewState> {
|
||||
final PaperlessDocumentsApi _api;
|
||||
final SavedView view;
|
||||
SavedViewPreviewCubit(this._api, this.view)
|
||||
: super(const SavedViewPreviewState.initial());
|
||||
final ConnectivityStatusService _connectivityStatusService;
|
||||
SavedViewPreviewCubit(
|
||||
this._api,
|
||||
this._connectivityStatusService, {
|
||||
required this.view,
|
||||
}) : super(const InitialSavedViewPreviewState());
|
||||
|
||||
Future<void> initialize() async {
|
||||
emit(const SavedViewPreviewState.loading());
|
||||
final isConnected =
|
||||
await _connectivityStatusService.isConnectedToInternet();
|
||||
if (!isConnected) {
|
||||
emit(const OfflineSavedViewPreviewState());
|
||||
return;
|
||||
}
|
||||
emit(const LoadingSavedViewPreviewState());
|
||||
try {
|
||||
final documents = await _api.findAll(
|
||||
view.toDocumentFilter().copyWith(
|
||||
@@ -20,9 +31,9 @@ class SavedViewPreviewCubit extends Cubit<SavedViewPreviewState> {
|
||||
pageSize: 5,
|
||||
),
|
||||
);
|
||||
emit(SavedViewPreviewState.loaded(documents: documents.results));
|
||||
emit(LoadedSavedViewPreviewState(documents: documents.results));
|
||||
} catch (e) {
|
||||
emit(const SavedViewPreviewState.error());
|
||||
emit(const ErrorSavedViewPreviewState());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,11 +1,29 @@
|
||||
part of 'saved_view_preview_cubit.dart';
|
||||
|
||||
@freezed
|
||||
class SavedViewPreviewState with _$SavedViewPreviewState {
|
||||
const factory SavedViewPreviewState.initial() = _Initial;
|
||||
const factory SavedViewPreviewState.loading() = _Loading;
|
||||
const factory SavedViewPreviewState.loaded({
|
||||
required List<DocumentModel> documents,
|
||||
}) = _Loaded;
|
||||
const factory SavedViewPreviewState.error() = _Error;
|
||||
sealed class SavedViewPreviewState {
|
||||
const SavedViewPreviewState();
|
||||
}
|
||||
|
||||
class InitialSavedViewPreviewState extends SavedViewPreviewState {
|
||||
const InitialSavedViewPreviewState();
|
||||
}
|
||||
|
||||
class LoadingSavedViewPreviewState extends SavedViewPreviewState {
|
||||
const LoadingSavedViewPreviewState();
|
||||
}
|
||||
|
||||
class LoadedSavedViewPreviewState extends SavedViewPreviewState {
|
||||
final List<DocumentModel> documents;
|
||||
|
||||
const LoadedSavedViewPreviewState({
|
||||
required this.documents,
|
||||
});
|
||||
}
|
||||
|
||||
class ErrorSavedViewPreviewState extends SavedViewPreviewState {
|
||||
const ErrorSavedViewPreviewState();
|
||||
}
|
||||
|
||||
class OfflineSavedViewPreviewState extends SavedViewPreviewState {
|
||||
const OfflineSavedViewPreviewState();
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user