|
25 | 25 | from langchain_mcp_adapters.client import MultiServerMCPClient |
26 | 26 | from rest_framework import serializers, status |
27 | 27 | from rest_framework.utils.formatting import lazy_format |
| 28 | + |
28 | 29 | from application.flow.common import Workflow |
29 | 30 | from application.models.application import Application, ApplicationTypeChoices, ApplicationKnowledgeMapping, \ |
30 | 31 | ApplicationFolder, ApplicationVersion |
31 | 32 | from application.models.application_access_token import ApplicationAccessToken |
32 | 33 | from common import result |
| 34 | +from common.cache_data.application_access_token_cache import del_application_access_token |
33 | 35 | from common.database_model_manage.database_model_manage import DatabaseModelManage |
34 | 36 | from common.db.search import native_search, native_page_search |
35 | 37 | from common.exception.app_exception import AppApiException |
@@ -734,6 +736,18 @@ def publish(self, instance, with_valid=True): |
734 | 736 | workspace_id=workspace_id) |
735 | 737 | self.reset_application_version(work_flow_version, application) |
736 | 738 | work_flow_version.save() |
| 739 | + access_token = hashlib.md5( |
| 740 | + str(uuid.uuid7()).encode()).hexdigest()[ |
| 741 | + 8:24] |
| 742 | + application_access_token = QuerySet(ApplicationAccessToken).filter( |
| 743 | + application_id=application.id).first() |
| 744 | + if application_access_token is None: |
| 745 | + application_access_token = ApplicationAccessToken(application_id=application.id, |
| 746 | + access_token=access_token, is_active=True) |
| 747 | + application_access_token.save() |
| 748 | + else: |
| 749 | + access_token = application_access_token.access_token |
| 750 | + del_application_access_token(access_token) |
737 | 751 | return self.one(with_valid=False) |
738 | 752 |
|
739 | 753 | @staticmethod |
|
0 commit comments