diff --git a/apiserver/plane/app/serializers/workspace.py b/apiserver/plane/app/serializers/workspace.py index 69f827c24..b621cfd11 100644 --- a/apiserver/plane/app/serializers/workspace.py +++ b/apiserver/plane/app/serializers/workspace.py @@ -15,6 +15,7 @@ from plane.db.models import ( WorkspaceTheme, WorkspaceUserProperties, ) +from plane.utils.constants import RESTRICTED_WORKSPACE_SLUGS class WorkSpaceSerializer(DynamicBaseSerializer): @@ -23,20 +24,7 @@ class WorkSpaceSerializer(DynamicBaseSerializer): total_issues = serializers.IntegerField(read_only=True) def validated(self, data): - if data.get("slug") in [ - "404", - "accounts", - "api", - "create-workspace", - "god-mode", - "installations", - "invitations", - "onboarding", - "profile", - "spaces", - "workspace-invitations", - "password", - ]: + if data.get("slug") in RESTRICTED_WORKSPACE_SLUGS: raise serializers.ValidationError({"slug": "Slug is not valid"}) class Meta: diff --git a/apiserver/plane/utils/constants.py b/apiserver/plane/utils/constants.py new file mode 100644 index 000000000..635268628 --- /dev/null +++ b/apiserver/plane/utils/constants.py @@ -0,0 +1,30 @@ +RESTRICTED_WORKSPACE_SLUGS = [ + "404", + "accounts", + "api", + "create-workspace", + "god-mode", + "installations", + "invitations", + "onboarding", + "profile", + "spaces", + "workspace-invitations", + "password", + "flags", + "monitor", + "monitoring", + "ingest", + "plane-pro", + "plane-ultimate", + "enterprise", + "plane-enterprise", + "disco", + "silo", + "chat", + "calendar", + "drive", + "channels", + "upgrade", + "billing", +]