From 1c73153e488d72cafb9d59de880df5c9f4235164 Mon Sep 17 00:00:00 2001 From: =?UTF-8?q?Bj=C3=B6rn=20Karthein?= Date: Fri, 31 Jul 2026 14:00:06 +0200 Subject: [PATCH] WMKNBN-12297 add get_packages_for_project to packagemgmt client --- webmate_sdk/packagemgmt/client.py | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/webmate_sdk/packagemgmt/client.py b/webmate_sdk/packagemgmt/client.py index 9a48caf..444b124 100644 --- a/webmate_sdk/packagemgmt/client.py +++ b/webmate_sdk/packagemgmt/client.py @@ -2,7 +2,7 @@ from __future__ import annotations import time -from typing import Mapping, Optional +from typing import List, Mapping, Optional from ..blobs.client import BlobClient from ..exceptions import WebmateApiError @@ -16,6 +16,7 @@ class PackageMgmtClient: _CREATE_PACKAGE = UriTemplate("/projects/{projectId}/packages", name="CreatePackage") _UPDATE_PACKAGE = UriTemplate("/package/packages/{packageId}", name="UpdatePackage") _GET_PACKAGE = UriTemplate("/package/packages/{packageId}", name="GetPackage") + _GET_PACKAGES_FOR_PROJECT = UriTemplate("/projects/{projectId}/packages/full", name="GetPackagesForProject") _DELETE_PACKAGE = UriTemplate("/package/packages/{packageId}", name="DeletePackage") def __init__(self, session: WebmateSession) -> None: @@ -49,6 +50,11 @@ def get_package(self, package_id: PackageId | str) -> dict | None: response = self._client.get(self._GET_PACKAGE, path_params={"packageId": str(package_id)}) return _safe_json(response) + def get_packages_for_project(self, project_id: ProjectId | None = None) -> List[dict]: + project = project_id or self._session.require_project() + response = self._client.get(self._GET_PACKAGES_FOR_PROJECT, path_params={"projectId": str(project)}) + return _safe_json(response) + def wait_for_package(self, package_id: PackageId | str, *, timeout_seconds: float = 600.0, poll_interval: float = 3.0) -> dict: deadline = time.monotonic() + timeout_seconds last_error: Exception | None = None