|
20 | 20 | from . import tasks |
21 | 21 | from ._api import ApiDictEndpoint, JsonifiableDict |
22 | 22 | from .bundles import Bundles |
| 23 | +from .context import requires |
23 | 24 | from .env import EnvVars |
24 | 25 | from .errors import ClientError |
25 | | -from .jobs import JobsMixin |
26 | 26 | from .oauth.associations import ContentItemAssociations |
27 | | -from .packages import ContentPackagesMixin as PackagesMixin |
28 | 27 | from .permissions import Permissions |
29 | | -from .resources import Resource, ResourceParameters, Resources |
| 28 | +from .resources import Active, Resource, ResourceParameters, Resources, _ResourceSequence |
30 | 29 | from .tags import ContentItemTags |
31 | 30 | from .vanities import VanityMixin |
32 | 31 | from .variants import Variants |
33 | 32 |
|
34 | 33 | if TYPE_CHECKING: |
35 | 34 | from .context import Context |
| 35 | + from .jobs import Jobs |
| 36 | + from .packages import _ContentPackages |
36 | 37 | from .tasks import Task |
37 | 38 |
|
38 | 39 |
|
@@ -174,7 +175,7 @@ class ContentItemOwner(Resource): |
174 | 175 | pass |
175 | 176 |
|
176 | 177 |
|
177 | | -class ContentItem(JobsMixin, PackagesMixin, VanityMixin, Resource): |
| 178 | +class ContentItem(Active, VanityMixin, Resource): |
178 | 179 | class _AttrsBase(TypedDict, total=False): |
179 | 180 | # # `name` will be set by other _Attrs classes |
180 | 181 | # name: str |
@@ -511,6 +512,17 @@ def tags(self) -> ContentItemTags: |
511 | 512 | content_guid=self["guid"], |
512 | 513 | ) |
513 | 514 |
|
| 515 | + @property |
| 516 | + def jobs(self) -> Jobs: |
| 517 | + path = posixpath.join(self._path, "jobs") |
| 518 | + return _ResourceSequence(self._ctx, path, uid="key") |
| 519 | + |
| 520 | + @property |
| 521 | + @requires(version="2024.11.0") |
| 522 | + def packages(self) -> _ContentPackages: |
| 523 | + path = posixpath.join(self._path, "packages") |
| 524 | + return _ResourceSequence(self._ctx, path, uid="name") |
| 525 | + |
514 | 526 |
|
515 | 527 | class Content(Resources): |
516 | 528 | """Content resource. |
|
0 commit comments