mirror of
https://github.com/paperless-ngx/paperless-ngx.git
synced 2026-10-11 18:47:13 +00:00
Fix (beta): move task filtering to backend fully (#12956)
This commit is contained in:
1 parent
6f8e39c2e0
commit
c3459d8f62
9 files changed
+547
-11
No files matched your search
@@ -242,4 +242,34 @@ describe('TasksService', () => {
|
||||
task_id: 'abc-123',
|
||||
})
|
||||
})
|
||||
|
||||
it('loads filtered task status counts', () => {
|
||||
tasksService
|
||||
.statusCounts({
|
||||
acknowledged: false,
|
||||
task_type: PaperlessTaskType.ConsumeFile,
|
||||
})
|
||||
.subscribe((res) => {
|
||||
expect(res).toEqual({
|
||||
all: 10,
|
||||
needs_attention: 2,
|
||||
in_progress: 3,
|
||||
completed: 5,
|
||||
})
|
||||
})
|
||||
|
||||
const req = httpTestingController.expectOne(
|
||||
(req: HttpRequest<unknown>) =>
|
||||
req.url === `${environment.apiBaseUrl}tasks/status_counts/` &&
|
||||
req.params.get('acknowledged') === 'false' &&
|
||||
req.params.get('task_type') === PaperlessTaskType.ConsumeFile
|
||||
)
|
||||
expect(req.request.method).toEqual('GET')
|
||||
req.flush({
|
||||
all: 10,
|
||||
needs_attention: 2,
|
||||
in_progress: 3,
|
||||
completed: 5,
|
||||
})
|
||||
})
|
||||
})
|
||||
@@ -5,6 +5,7 @@ import { first, map, takeUntil, tap } from 'rxjs/operators'
|
||||
import {
|
||||
PaperlessTask,
|
||||
PaperlessTaskStatus,
|
||||
PaperlessTaskStatusCounts,
|
||||
PaperlessTaskType,
|
||||
} from 'src/app/data/paperless-task'
|
||||
import { Results } from 'src/app/data/results'
|
||||
@@ -88,7 +89,7 @@ export class TasksService {
|
||||
public list(
|
||||
page: number,
|
||||
pageSize: number,
|
||||
extraParams?: Record<string, string | number | boolean>
|
||||
extraParams?: Record<string, string | number | boolean | readonly string[]>
|
||||
): Observable<Results<PaperlessTask>> {
|
||||
return this.http.get<Results<PaperlessTask>>(
|
||||
`${this.baseUrl}${this.endpoint}/`,
|
||||
@@ -102,6 +103,17 @@ export class TasksService {
|
||||
)
|
||||
}
|
||||
|
||||
public statusCounts(
|
||||
extraParams?: Record<string, string | number | boolean | readonly string[]>
|
||||
): Observable<PaperlessTaskStatusCounts> {
|
||||
return this.http.get<PaperlessTaskStatusCounts>(
|
||||
`${this.baseUrl}${this.endpoint}/status_counts/`,
|
||||
{
|
||||
params: extraParams,
|
||||
}
|
||||
)
|
||||
}
|
||||
|
||||
public dismissTasks(task_ids: Set<number>): Observable<any> {
|
||||
return this.http
|
||||
.post(`${this.baseUrl}tasks/acknowledge/`, {
|
||||
|
||||
Reference in new issue
Block a user