Skip to content

Commit c27d326

Browse files
UN-3166 [FIX] Use group-shared adapters in Prompt Studio & workflows (#2028)
shared adapters can be run in PS + woprkflow
1 parent 77d09d5 commit c27d326

2 files changed

Lines changed: 7 additions & 0 deletions

File tree

backend/prompt_studio/prompt_studio_core_v2/prompt_studio_helper.py

Lines changed: 5 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -11,6 +11,7 @@
1111
from adapter_processor_v2.models import AdapterInstance, UserDefaultAdapter
1212
from django.conf import settings
1313
from django.db import transaction
14+
from permissions.permission import has_group_access
1415
from plugins import get_plugin
1516
from rest_framework.exceptions import APIException
1617
from rest_framework.request import Request
@@ -209,27 +210,31 @@ def validate_profile_manager_owner_access(
209210
or profile_manager.llm.shared_users.filter(
210211
pk=profile_manager_owner.pk
211212
).exists()
213+
or has_group_access(profile_manager_owner, profile_manager.llm)
212214
)
213215
is_vector_store_owned = (
214216
profile_manager.vector_store.shared_to_org
215217
or profile_manager.vector_store.created_by == profile_manager_owner
216218
or profile_manager.vector_store.shared_users.filter(
217219
pk=profile_manager_owner.pk
218220
).exists()
221+
or has_group_access(profile_manager_owner, profile_manager.vector_store)
219222
)
220223
is_embedding_model_owned = (
221224
profile_manager.embedding_model.shared_to_org
222225
or profile_manager.embedding_model.created_by == profile_manager_owner
223226
or profile_manager.embedding_model.shared_users.filter(
224227
pk=profile_manager_owner.pk
225228
).exists()
229+
or has_group_access(profile_manager_owner, profile_manager.embedding_model)
226230
)
227231
is_x2text_owned = (
228232
profile_manager.x2text.shared_to_org
229233
or profile_manager.x2text.created_by == profile_manager_owner
230234
or profile_manager.x2text.shared_users.filter(
231235
pk=profile_manager_owner.pk
232236
).exists()
237+
or has_group_access(profile_manager_owner, profile_manager.x2text)
233238
)
234239

235240
if not (

backend/tool_instance_v2/tool_instance_helper.py

Lines changed: 2 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -9,6 +9,7 @@
99
from django.core.exceptions import PermissionDenied
1010
from django.core.exceptions import ValidationError as DjangoValidationError
1111
from jsonschema.exceptions import ValidationError as JSONValidationError
12+
from permissions.permission import has_group_access
1213
from prompt_studio.prompt_studio_registry_v2.models import PromptStudioRegistry
1314
from tenant_account_v2.organization_member_service import OrganizationMemberService
1415
from workflow_manager.workflow_v2.constants import WorkflowKey
@@ -508,6 +509,7 @@ def validate_adapter_access(
508509
or adapter_instance.shared_to_org
509510
or adapter_instance.created_by == user
510511
or adapter_instance.shared_users.filter(pk=user.pk).exists()
512+
or has_group_access(user, adapter_instance)
511513
):
512514
logger.error(
513515
"User %s doesn't have access to adapter %s",

0 commit comments

Comments
 (0)