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
« prev ^ index » next coverage.py v7.6.12, created at 2025-03-20 13:17 -0400
1"""
2----------------------------------------------------------------------------
4 METADATA:
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
14----------------------------------------------------------------------------
16 LAST MODIFIED:
18 2025-03-04 By Jess Mann
20"""
22from __future__ import annotations
24from typing import Any, Optional
26from paperap.models.task import Task, TaskQuerySet
27from paperap.resources.base import BaseResource, StandardResource
30class TaskResource(StandardResource[Task, TaskQuerySet]):
31 """Resource for managing tasks."""
33 model_class = Task
34 queryset_class = TaskQuerySet
36 def acknowledge(self, task_id: int) -> None:
37 """
38 Acknowledge a task.
40 Args:
41 task_id: ID of the task to acknowledge.
43 """
44 self.client.request("PUT", f"tasks/{task_id}/acknowledge/")
46 def bulk_acknowledge(self, task_ids: list[int]) -> None:
47 """
48 Acknowledge multiple tasks.
50 Args:
51 task_ids: list of task IDs to acknowledge.
53 """
54 self.client.request("POST", "tasks/bulk_acknowledge/", data={"tasks": task_ids})