mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-07-08 21:15:09 +00:00
Tasks service
This commit is contained in:
@@ -23,52 +23,44 @@ export class TasksService {
|
||||
|
||||
public loading: boolean = false
|
||||
|
||||
private fileTasksSignal = signal<PaperlessTask[]>([])
|
||||
private readonly fileTasks = signal<PaperlessTask[]>([])
|
||||
|
||||
private unsubscribeNotifer: Subject<any> = new Subject()
|
||||
|
||||
private get fileTasks(): PaperlessTask[] {
|
||||
return this.fileTasksSignal()
|
||||
}
|
||||
|
||||
private set fileTasks(tasks: PaperlessTask[]) {
|
||||
this.fileTasksSignal.set(tasks)
|
||||
}
|
||||
|
||||
public get total(): number {
|
||||
return this.fileTasks.length
|
||||
}
|
||||
|
||||
public get allFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.slice(0)
|
||||
return this.fileTasks().slice(0)
|
||||
}
|
||||
|
||||
public get queuedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
return this.fileTasks().filter(
|
||||
(t) => t.status === PaperlessTaskStatus.Pending
|
||||
)
|
||||
}
|
||||
|
||||
public get startedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
return this.fileTasks().filter(
|
||||
(t) => t.status === PaperlessTaskStatus.Started
|
||||
)
|
||||
}
|
||||
|
||||
public get completedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
return this.fileTasks().filter(
|
||||
(t) => t.status === PaperlessTaskStatus.Success
|
||||
)
|
||||
}
|
||||
|
||||
public get failedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
return this.fileTasks().filter(
|
||||
(t) => t.status === PaperlessTaskStatus.Failure
|
||||
)
|
||||
}
|
||||
|
||||
public get needsAttentionTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter((t) =>
|
||||
return this.fileTasks().filter((t) =>
|
||||
[PaperlessTaskStatus.Failure, PaperlessTaskStatus.Revoked].includes(
|
||||
t.status
|
||||
)
|
||||
@@ -89,7 +81,7 @@ export class TasksService {
|
||||
.pipe(map((r) => r.results))
|
||||
.pipe(takeUntil(this.unsubscribeNotifer), first())
|
||||
.subscribe((r) => {
|
||||
this.fileTasks = r
|
||||
this.fileTasks.set(r)
|
||||
this.loading = false
|
||||
})
|
||||
}
|
||||
|
||||
Reference in New Issue
Block a user