enforce collection id for login parameters (#1043)
This commit is contained in:
@@ -99,3 +99,11 @@ class InvalidFileType(BaseWorkflowHTTPException):
|
||||
f"File URL {file_url} is not a valid {file_type} file. Error: {error}",
|
||||
status_code=status.HTTP_422_UNPROCESSABLE_ENTITY,
|
||||
)
|
||||
|
||||
|
||||
class WorkflowParameterMissingRequiredValue(BaseWorkflowHTTPException):
|
||||
def __init__(self, workflow_parameter_type: str, workflow_parameter_key: str, required_value: str) -> None:
|
||||
super().__init__(
|
||||
f"Missing required value for workflow parameter. Workflow parameter type: {workflow_parameter_type}. workflow_parameter_key: {workflow_parameter_key}. Required value: {required_value}",
|
||||
status_code=status.HTTP_400_BAD_REQUEST,
|
||||
)
|
||||
|
||||
@@ -19,6 +19,7 @@ from skyvern.forge.sdk.workflow.exceptions import (
|
||||
InvalidWorkflowDefinition,
|
||||
WorkflowDefinitionHasDuplicateParameterKeys,
|
||||
WorkflowDefinitionHasReservedParameterKeys,
|
||||
WorkflowParameterMissingRequiredValue,
|
||||
)
|
||||
from skyvern.forge.sdk.workflow.models.block import (
|
||||
BlockStatus,
|
||||
@@ -957,6 +958,12 @@ class WorkflowService:
|
||||
description=parameter.description,
|
||||
)
|
||||
elif parameter.parameter_type == ParameterType.BITWARDEN_LOGIN_CREDENTIAL:
|
||||
if not parameter.bitwarden_collection_id:
|
||||
raise WorkflowParameterMissingRequiredValue(
|
||||
workflow_parameter_type=ParameterType.BITWARDEN_LOGIN_CREDENTIAL,
|
||||
workflow_parameter_key=parameter.key,
|
||||
required_value="bitwarden_collection_id",
|
||||
)
|
||||
parameters[parameter.key] = await self.create_bitwarden_login_credential_parameter(
|
||||
workflow_id=workflow.workflow_id,
|
||||
bitwarden_client_id_aws_secret_key=parameter.bitwarden_client_id_aws_secret_key,
|
||||
|
||||
Reference in New Issue
Block a user