mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2025-07-28 18:24:38 -05:00
Update frontend for reworked tasks api endpoint
This commit is contained in:
@@ -1,16 +1,13 @@
|
||||
import { HttpClient } from '@angular/common/http'
|
||||
import { Injectable } from '@angular/core'
|
||||
import { first, map } from 'rxjs/operators'
|
||||
import { PaperlessTask } from 'src/app/data/paperless-task'
|
||||
import {
|
||||
PaperlessTask,
|
||||
PaperlessTaskStatus,
|
||||
PaperlessTaskType,
|
||||
} from 'src/app/data/paperless-task'
|
||||
import { environment } from 'src/environments/environment'
|
||||
|
||||
interface TasksAPIResponse {
|
||||
total: number
|
||||
incomplete: Array<PaperlessTask>
|
||||
completed: Array<PaperlessTask>
|
||||
failed: Array<PaperlessTask>
|
||||
}
|
||||
|
||||
@Injectable({
|
||||
providedIn: 'root',
|
||||
})
|
||||
@@ -19,21 +16,26 @@ export class TasksService {
|
||||
|
||||
loading: boolean
|
||||
|
||||
public total: number
|
||||
private fileTasks: PaperlessTask[] = []
|
||||
|
||||
private incompleteTasks: PaperlessTask[] = []
|
||||
public get incomplete(): PaperlessTask[] {
|
||||
return this.incompleteTasks
|
||||
public get total(): number {
|
||||
return this.fileTasks?.length
|
||||
}
|
||||
|
||||
private completedTasks: PaperlessTask[] = []
|
||||
public get completed(): PaperlessTask[] {
|
||||
return this.completedTasks
|
||||
public get incompleteFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
(t) => t.status == PaperlessTaskStatus.Incomplete
|
||||
)
|
||||
}
|
||||
|
||||
private failedTasks: PaperlessTask[] = []
|
||||
public get failed(): PaperlessTask[] {
|
||||
return this.failedTasks
|
||||
public get completedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter(
|
||||
(t) => t.status == PaperlessTaskStatus.Complete
|
||||
)
|
||||
}
|
||||
|
||||
public get failedFileTasks(): PaperlessTask[] {
|
||||
return this.fileTasks.filter((t) => t.status == PaperlessTaskStatus.Failed)
|
||||
}
|
||||
|
||||
constructor(private http: HttpClient) {}
|
||||
@@ -42,13 +44,10 @@ export class TasksService {
|
||||
this.loading = true
|
||||
|
||||
this.http
|
||||
.get<TasksAPIResponse>(`${this.baseUrl}tasks/`)
|
||||
.get<PaperlessTask[]>(`${this.baseUrl}tasks/`)
|
||||
.pipe(first())
|
||||
.subscribe((r) => {
|
||||
this.total = r.total
|
||||
this.incompleteTasks = r.incomplete
|
||||
this.completedTasks = r.completed
|
||||
this.failedTasks = r.failed
|
||||
this.fileTasks = r.filter((t) => t.type == PaperlessTaskType.File) // they're all File tasks, for now
|
||||
this.loading = false
|
||||
return true
|
||||
})
|
||||
|
Reference in New Issue
Block a user