Coverage for src/paperap/resources/tasks.py: 82%

11 statements  

« prev     ^ index     » next       coverage.py v7.6.12, created at 2025-03-20 13:17 -0400

1""" 

2---------------------------------------------------------------------------- 

3 

4 METADATA: 

5 

6 File: tasks.py 

7 Project: paperap 

8 Created: 2025-03-04 

9 Version: 0.0.8 

10 Author: Jess Mann 

11 Email: jess@jmann.me 

12 Copyright (c) 2025 Jess Mann 

13 

14---------------------------------------------------------------------------- 

15 

16 LAST MODIFIED: 

17 

18 2025-03-04 By Jess Mann 

19 

20""" 

21 

22from __future__ import annotations 

23 

24from typing import Any, Optional 

25 

26from paperap.models.task import Task, TaskQuerySet 

27from paperap.resources.base import BaseResource, StandardResource 

28 

29 

30class TaskResource(StandardResource[Task, TaskQuerySet]): 

31 """Resource for managing tasks.""" 

32 

33 model_class = Task 

34 queryset_class = TaskQuerySet 

35 

36 def acknowledge(self, task_id: int) -> None: 

37 """ 

38 Acknowledge a task. 

39 

40 Args: 

41 task_id: ID of the task to acknowledge. 

42 

43 """ 

44 self.client.request("PUT", f"tasks/{task_id}/acknowledge/") 

45 

46 def bulk_acknowledge(self, task_ids: list[int]) -> None: 

47 """ 

48 Acknowledge multiple tasks. 

49 

50 Args: 

51 task_ids: list of task IDs to acknowledge. 

52 

53 """ 

54 self.client.request("POST", "tasks/bulk_acknowledge/", data={"tasks": task_ids})