From 6a9f4bf89b45a686531846e85d4983e77df17d36 Mon Sep 17 00:00:00 2001 From: KatKatKateryna Date: Wed, 8 Feb 2023 07:29:02 +0800 Subject: [PATCH 1/2] gql minimum characters restriction for consistent behavior with frontend --- src/specklepy/api/resources/branch.py | 5 +++++ src/specklepy/api/resources/stream.py | 5 ++++- 2 files changed, 9 insertions(+), 1 deletion(-) diff --git a/src/specklepy/api/resources/branch.py b/src/specklepy/api/resources/branch.py index 100423d..a861c87 100644 --- a/src/specklepy/api/resources/branch.py +++ b/src/specklepy/api/resources/branch.py @@ -5,6 +5,7 @@ from gql import gql from specklepy.api.models import Branch from specklepy.api.resource import ResourceBase from specklepy.logging import metrics +from specklepy.logging.exceptions import SpeckleException NAME = "branch" @@ -41,6 +42,10 @@ class Resource(ResourceBase): } """ ) + if len(name) < 3: + return SpeckleException( + message="Branch Name must be at least 3 characters" + ) params = { "branch": { "streamId": stream_id, diff --git a/src/specklepy/api/resources/stream.py b/src/specklepy/api/resources/stream.py index 6868f57..0eff18f 100644 --- a/src/specklepy/api/resources/stream.py +++ b/src/specklepy/api/resources/stream.py @@ -167,7 +167,10 @@ class Resource(ResourceBase): } """ ) - + if len(name) < 3 and len(name) != 0: + return SpeckleException( + message="Stream Name must be at least 3 characters" + ) params = { "stream": {"name": name, "description": description, "isPublic": is_public} } From 541e3d961fc7c7bd39ea54099bd5fd1588c4083d Mon Sep 17 00:00:00 2001 From: KatKatKateryna Date: Tue, 19 Sep 2023 10:56:39 +0100 Subject: [PATCH 2/2] moving restrictions to core --- src/specklepy/api/resources/branch.py | 1 - src/specklepy/core/api/resources/branch.py | 5 +++++ src/specklepy/core/api/resources/stream.py | 5 ++++- 3 files changed, 9 insertions(+), 2 deletions(-) diff --git a/src/specklepy/api/resources/branch.py b/src/specklepy/api/resources/branch.py index 11b5022..e913390 100644 --- a/src/specklepy/api/resources/branch.py +++ b/src/specklepy/api/resources/branch.py @@ -5,7 +5,6 @@ from gql import gql from specklepy.api.models import Branch from specklepy.api.resource import ResourceBase from specklepy.logging import metrics -from specklepy.logging.exceptions import SpeckleException from specklepy.core.api.resources.branch import Resource as CoreResource diff --git a/src/specklepy/core/api/resources/branch.py b/src/specklepy/core/api/resources/branch.py index 94f6d29..f69415a 100644 --- a/src/specklepy/core/api/resources/branch.py +++ b/src/specklepy/core/api/resources/branch.py @@ -4,6 +4,7 @@ from gql import gql from specklepy.core.api.models import Branch from specklepy.core.api.resource import ResourceBase +from specklepy.logging.exceptions import SpeckleException NAME = "branch" @@ -39,6 +40,10 @@ class Resource(ResourceBase): } """ ) + if len(name) < 3: + return SpeckleException( + message="Branch Name must be at least 3 characters" + ) params = { "branch": { "streamId": stream_id, diff --git a/src/specklepy/core/api/resources/stream.py b/src/specklepy/core/api/resources/stream.py index 40b866b..bd1f05f 100644 --- a/src/specklepy/core/api/resources/stream.py +++ b/src/specklepy/core/api/resources/stream.py @@ -163,7 +163,10 @@ class Resource(ResourceBase): } """ ) - + if len(name) < 3 and len(name) != 0: + return SpeckleException( + message="Stream Name must be at least 3 characters" + ) params = { "stream": {"name": name, "description": description, "isPublic": is_public} }