mirror of
https://github.com/Xevion/paperless-mobile.git
synced 2025-12-09 10:08:00 -06:00
Hooked notifications to status changes on document upload - some refactorings
This commit is contained in:
@@ -7,20 +7,30 @@ class TaskStatusCubit extends Cubit<TaskStatusState> {
|
||||
final PaperlessTasksApi _api;
|
||||
TaskStatusCubit(this._api) : super(const TaskStatusState());
|
||||
|
||||
void startListeningToTask(String taskId) {
|
||||
void listenToTaskChanges(String taskId) {
|
||||
_api
|
||||
.listenForTaskChanges(taskId)
|
||||
.forEach(
|
||||
(element) => TaskStatusState(
|
||||
isListening: true,
|
||||
isAcknowledged: false,
|
||||
task: element,
|
||||
(element) => emit(
|
||||
TaskStatusState(
|
||||
isListening: true,
|
||||
task: element,
|
||||
),
|
||||
),
|
||||
)
|
||||
.whenComplete(() => emit(state.copyWith(isListening: false)));
|
||||
}
|
||||
|
||||
void acknowledgeCurrentTask() {
|
||||
emit(state.copyWith(isListening: false, isAcknowledged: true));
|
||||
Future<void> acknowledgeCurrentTask() async {
|
||||
if (state.task == null) {
|
||||
return;
|
||||
}
|
||||
final task = await _api.acknowledgeTask(state.task!);
|
||||
emit(
|
||||
state.copyWith(
|
||||
task: task,
|
||||
isListening: false,
|
||||
),
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3,22 +3,20 @@ part of 'task_status_cubit.dart';
|
||||
class TaskStatusState extends Equatable {
|
||||
final Task? task;
|
||||
final bool isListening;
|
||||
final bool isAcknowledged;
|
||||
|
||||
const TaskStatusState({
|
||||
this.task,
|
||||
this.isListening = false,
|
||||
this.isAcknowledged = false,
|
||||
});
|
||||
|
||||
bool get isActive => isListening && !isAcknowledged;
|
||||
|
||||
bool get isSuccess => task?.status == TaskStatus.success;
|
||||
|
||||
bool get isAcknowledged => task?.acknowledged ?? false;
|
||||
|
||||
String? get taskId => task?.taskId;
|
||||
|
||||
@override
|
||||
List<Object> get props => [];
|
||||
List<Object?> get props => [task, isListening];
|
||||
|
||||
TaskStatusState copyWith({
|
||||
Task? task,
|
||||
@@ -28,7 +26,6 @@ class TaskStatusState extends Equatable {
|
||||
return TaskStatusState(
|
||||
task: task ?? this.task,
|
||||
isListening: isListening ?? this.isListening,
|
||||
isAcknowledged: isAcknowledged ?? this.isAcknowledged,
|
||||
);
|
||||
}
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user