diff options
Diffstat (limited to 'plugins/Marketplace/CloudApiModel.py')
-rw-r--r-- | plugins/Marketplace/CloudApiModel.py | 29 |
1 files changed, 29 insertions, 0 deletions
diff --git a/plugins/Marketplace/CloudApiModel.py b/plugins/Marketplace/CloudApiModel.py new file mode 100644 index 0000000000..90173c5390 --- /dev/null +++ b/plugins/Marketplace/CloudApiModel.py @@ -0,0 +1,29 @@ +from typing import Union + +from cura import ApplicationMetadata +from cura.UltimakerCloud import UltimakerCloudConstants + + +class CloudApiModel: + sdk_version: Union[str, int] = ApplicationMetadata.CuraSDKVersion + cloud_api_version: str = UltimakerCloudConstants.CuraCloudAPIVersion + cloud_api_root: str = UltimakerCloudConstants.CuraCloudAPIRoot + api_url: str = "{cloud_api_root}/cura-packages/v{cloud_api_version}/cura/v{sdk_version}".format( + cloud_api_root = cloud_api_root, + cloud_api_version = cloud_api_version, + sdk_version = sdk_version + ) + + # https://api.ultimaker.com/cura-packages/v1/user/packages + api_url_user_packages = "{cloud_api_root}/cura-packages/v{cloud_api_version}/user/packages".format( + cloud_api_root = cloud_api_root, + cloud_api_version = cloud_api_version, + ) + + @classmethod + def userPackageUrl(cls, package_id: str) -> str: + """https://api.ultimaker.com/cura-packages/v1/user/packages/{package_id}""" + + return (CloudApiModel.api_url_user_packages + "/{package_id}").format( + package_id = package_id + ) |