Externalized API and models as own package

This commit is contained in:
Anton Stubenbord
2022-12-02 01:48:13 +01:00
parent 60d1a2e62a
commit ec7707e4a4
143 changed files with 1496 additions and 1339 deletions

View File

@@ -1,29 +1,28 @@
import 'package:bloc/bloc.dart';
import 'package:equatable/equatable.dart';
import 'package:paperless_mobile/features/documents/model/document.model.dart';
import 'package:paperless_mobile/features/documents/repository/document_repository.dart';
import 'package:paperless_api/paperless_api.dart';
part 'document_details_state.dart';
class DocumentDetailsCubit extends Cubit<DocumentDetailsState> {
final DocumentRepository _documentRepository;
final PaperlessDocumentsApi _api;
DocumentDetailsCubit(this._documentRepository, DocumentModel initialDocument)
DocumentDetailsCubit(this._api, DocumentModel initialDocument)
: super(DocumentDetailsState(document: initialDocument));
Future<void> delete(DocumentModel document) async {
await _documentRepository.delete(document);
await _api.delete(document);
emit(const DocumentDetailsState());
}
Future<void> update(DocumentModel document) async {
final updatedDocument = await _documentRepository.update(document);
final updatedDocument = await _api.update(document);
emit(DocumentDetailsState(document: updatedDocument));
}
Future<void> assignAsn(DocumentModel document) async {
if (document.archiveSerialNumber == null) {
final int asn = await _documentRepository.findNextAsn();
final int asn = await _api.findNextAsn();
update(document.copyWith(archiveSerialNumber: asn));
}
}