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,13 +1,12 @@
import 'package:flutter/foundation.dart';
import 'package:flutter_bloc/flutter_bloc.dart';
import 'package:paperless_mobile/features/labels/model/label.model.dart';
import 'package:paperless_mobile/features/labels/model/label_state.dart';
import 'package:paperless_mobile/features/labels/repository/label_repository.dart';
import 'package:paperless_api/paperless_api.dart';
import 'package:paperless_mobile/features/labels/bloc/label_state.dart';
abstract class LabelCubit<T extends Label> extends Cubit<LabelState<T>> {
final LabelRepository labelRepository;
final PaperlessLabelsApi labelsApi;
LabelCubit(this.labelRepository) : super(LabelState.initial());
LabelCubit(this.labelsApi) : super(LabelState.initial());
@protected
void loadFrom(Iterable<T> items) {

View File

@@ -0,0 +1,19 @@
import 'package:paperless_api/paperless_api.dart';
class LabelState<T extends Label> {
LabelState.initial() : this(isLoaded: false, labels: {});
final bool isLoaded;
final Map<int, T> labels;
LabelState({
required this.isLoaded,
required this.labels,
});
T? getLabel(int? key) {
if (isLoaded) {
return labels[key];
}
return null;
}
}