remove publish workflow when app import

This commit is contained in:
takatost
2024-02-27 14:36:42 +08:00
parent 742b87df5e
commit 7d51d6030b
2 changed files with 32 additions and 9 deletions

View File

@ -59,11 +59,11 @@ class WorkflowService:
# return draft workflow
return workflow
def publish_draft_workflow(self, app_model: App,
account: Account,
draft_workflow: Optional[Workflow] = None) -> Workflow:
def publish_workflow(self, app_model: App,
account: Account,
draft_workflow: Optional[Workflow] = None) -> Workflow:
"""
Publish draft workflow
Publish workflow from draft
:param app_model: App instance
:param account: Account instance
@ -76,6 +76,8 @@ class WorkflowService:
if not draft_workflow:
raise ValueError('No valid workflow found.')
# TODO check if the workflow is valid
# create new workflow
workflow = Workflow(
tenant_id=app_model.tenant_id,
@ -90,6 +92,30 @@ class WorkflowService:
db.session.add(workflow)
db.session.commit()
app_model_config = app_model.app_model_config
# create new app model config record
new_app_model_config = app_model_config.copy()
new_app_model_config.id = None
new_app_model_config.app_id = app_model.id
new_app_model_config.external_data_tools = ''
new_app_model_config.model = ''
new_app_model_config.user_input_form = ''
new_app_model_config.dataset_query_variable = None
new_app_model_config.pre_prompt = None
new_app_model_config.agent_mode = ''
new_app_model_config.prompt_type = 'simple'
new_app_model_config.chat_prompt_config = ''
new_app_model_config.completion_prompt_config = ''
new_app_model_config.dataset_configs = ''
new_app_model_config.workflow_id = workflow.id
db.session.add(new_app_model_config)
db.session.flush()
app_model.app_model_config_id = new_app_model_config.id
db.session.commit()
# return new workflow
return workflow