From c3cb75b8be6a17761b3721e57e1aa0ba2ef0e6b1 Mon Sep 17 00:00:00 2001 From: dongfubao Date: Fri, 13 Jun 2025 15:18:30 +0800 Subject: [PATCH] Remove the functions related to beta configuration, including deleting the BetaConfigWorkspaceApi class, the beta_config field and its related logic, and simplifying the workspace API and model. --- .../console/workspace/workspace.py | 28 ------------ api/models/account.py | 9 ---- api/services/workspace_service.py | 1 - .../account-setting/beta-page/index.tsx | 45 ------------------- .../header/account-setting/index.tsx | 12 +---- .../workflow/hooks/use-checklist.ts | 9 +--- web/models/common.ts | 3 -- 7 files changed, 3 insertions(+), 104 deletions(-) delete mode 100644 web/app/components/header/account-setting/beta-page/index.tsx diff --git a/api/controllers/console/workspace/workspace.py b/api/controllers/console/workspace/workspace.py index 7503b2dbde..1f3195cde4 100644 --- a/api/controllers/console/workspace/workspace.py +++ b/api/controllers/console/workspace/workspace.py @@ -48,7 +48,6 @@ tenant_fields = { "in_trial": fields.Boolean, "trial_end_reason": fields.String, "custom_config": fields.Raw(attribute="custom_config"), - "beta_config": fields.Raw(attribute="beta_config"), } tenants_fields = { @@ -177,32 +176,6 @@ class CustomConfigWorkspaceApi(Resource): return {"result": "success", "tenant": marshal(WorkspaceService.get_tenant_info(tenant), tenant_fields)} - -class BetaConfigWorkspaceApi(Resource): - @setup_required - @login_required - @account_initialization_required - def post(self): - parser = reqparse.RequestParser() - parser.add_argument("beta_config", type=dict, location="json") - args = parser.parse_args() - - tenant = db.get_or_404(Tenant, current_user.current_tenant_id) - - db_config = tenant.beta_config_dict - param_config = args["beta_config"] or {} - - if not db_config: - tenant.beta_config_dict = param_config - else: - merged_config = {**db_config, **param_config} - tenant.beta_config_dict = merged_config - - db.session.commit() - - return {"result": "success", "tenant": marshal(WorkspaceService.get_tenant_info(tenant), tenant_fields)} - - class WebappLogoWorkspaceApi(Resource): @setup_required @login_required @@ -265,6 +238,5 @@ api.add_resource(TenantApi, "/workspaces/current", endpoint="workspaces_current" api.add_resource(TenantApi, "/info", endpoint="info") # Deprecated api.add_resource(SwitchWorkspaceApi, "/workspaces/switch") # POST for switching tenant api.add_resource(CustomConfigWorkspaceApi, "/workspaces/custom-config") -api.add_resource(BetaConfigWorkspaceApi, "/workspaces/beta-config") api.add_resource(WebappLogoWorkspaceApi, "/workspaces/custom-config/webapp-logo/upload") api.add_resource(WorkspaceInfoApi, "/workspaces/info") # POST for changing workspace info diff --git a/api/models/account.py b/api/models/account.py index 4e81b7cc5d..bb6a2a4735 100644 --- a/api/models/account.py +++ b/api/models/account.py @@ -199,7 +199,6 @@ class Tenant(Base): plan = db.Column(db.String(255), nullable=False, server_default=db.text("'basic'::character varying")) status = db.Column(db.String(255), nullable=False, server_default=db.text("'normal'::character varying")) custom_config = db.Column(db.Text) - beta_config = db.Column(db.Text) created_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) updated_at = db.Column(db.DateTime, nullable=False, server_default=func.current_timestamp()) @@ -218,14 +217,6 @@ class Tenant(Base): def custom_config_dict(self, value: dict): self.custom_config = json.dumps(value) - @property - def beta_config_dict(self) -> dict: - return json.loads(self.beta_config) if self.beta_config else {} - - @beta_config_dict.setter - def beta_config_dict(self, value: dict): - self.beta_config = json.dumps(value) - class TenantAccountJoin(Base): __tablename__ = "tenant_account_joins" diff --git a/api/services/workspace_service.py b/api/services/workspace_service.py index 034c6ad4fc..125e0c1b1e 100644 --- a/api/services/workspace_service.py +++ b/api/services/workspace_service.py @@ -20,7 +20,6 @@ class WorkspaceService: "created_at": tenant.created_at, "trial_end_reason": None, "role": "normal", - "beta_config": tenant.beta_config_dict, } # Get role of user diff --git a/web/app/components/header/account-setting/beta-page/index.tsx b/web/app/components/header/account-setting/beta-page/index.tsx deleted file mode 100644 index 8283e6ab71..0000000000 --- a/web/app/components/header/account-setting/beta-page/index.tsx +++ /dev/null @@ -1,45 +0,0 @@ -import { useTranslation } from 'react-i18next' -import Switch from '@/app/components/base/switch' -import { - updateCurrentWorkspace, -} from '@/service/common' -import { useAppContext } from '@/context/app-context' - -const BetaPage = () => { - const { t } = useTranslation() - const { - currentWorkspace, - mutateCurrentWorkspace, - } = useAppContext() - const workflowVarCheck = currentWorkspace.beta_config?.workflow_var_check - - const handleSwitch = async (checked: boolean) => { - await updateCurrentWorkspace({ - url: '/workspaces/beta-config', - body: { - beta_config: { - workflow_var_check: checked, - }, - }, - }) - mutateCurrentWorkspace() - } - - return ( -
-
-
-
{t('common.beta.workflowVarCheck')}
-
{t('common.beta.workflowVarCheckTip')}
-
- -
-
- ) -} - -export default BetaPage diff --git a/web/app/components/header/account-setting/index.tsx b/web/app/components/header/account-setting/index.tsx index 83098f6698..27f2de79f6 100644 --- a/web/app/components/header/account-setting/index.tsx +++ b/web/app/components/header/account-setting/index.tsx @@ -15,8 +15,6 @@ import { RiMoneyDollarCircleLine, RiPuzzle2Fill, RiPuzzle2Line, - RiTestTubeFill, - RiTestTubeLine, RiTranslate2, } from '@remixicon/react' import Button from '../../base/button' @@ -33,7 +31,6 @@ import { useProviderContext } from '@/context/provider-context' import { useAppContext } from '@/context/app-context' import MenuDialog from '@/app/components/header/account-setting/menu-dialog' import Input from '@/app/components/base/input' -import BatePage from './beta-page' const iconClassName = ` w-5 h-5 mr-2 @@ -59,7 +56,7 @@ export default function AccountSetting({ const [activeMenu, setActiveMenu] = useState(activeTab) const { t } = useTranslation() const { enableBilling, enableReplaceWebAppLogo } = useProviderContext() - const { isCurrentWorkspaceDatasetOperator, currentWorkspace } = useAppContext() + const { isCurrentWorkspaceDatasetOperator } = useAppContext() const workplaceGroupItems = (() => { if (isCurrentWorkspaceDatasetOperator) return [] @@ -102,12 +99,6 @@ export default function AccountSetting({ icon: , activeIcon: , }, - { - key: currentWorkspace.role === 'owner' ? 'beta' : false, - name: t('common.beta.beta'), - icon: , - activeIcon: , - }, ].filter(item => !!item.key) as GroupItem[] })() @@ -228,7 +219,6 @@ export default function AccountSetting({ {activeMenu === 'api-based-extension' && } {activeMenu === 'custom' && } {activeMenu === 'language' && } - {activeMenu === 'beta' && } diff --git a/web/app/components/workflow/hooks/use-checklist.ts b/web/app/components/workflow/hooks/use-checklist.ts index 0d173018bd..ebef0e0c2c 100644 --- a/web/app/components/workflow/hooks/use-checklist.ts +++ b/web/app/components/workflow/hooks/use-checklist.ts @@ -34,7 +34,6 @@ import { useDatasetsDetailStore } from '../datasets-detail-store/store' import type { KnowledgeRetrievalNodeType } from '../nodes/knowledge-retrieval/types' import type { DataSet } from '@/models/datasets' import { fetchDatasets } from '@/service/datasets' -import { useAppContext } from '@/context/app-context' export const useChecklist = (nodes: Node[], edges: Edge[]) => { const { t } = useTranslation() @@ -46,7 +45,6 @@ export const useChecklist = (nodes: Node[], edges: Edge[]) => { const workflowTools = useStore(s => s.workflowTools) const { data: strategyProviders } = useStrategyProviders() const datasetsDetail = useDatasetsDetailStore(s => s.datasetsDetail) - const { currentWorkspace } = useAppContext() const chatVarList = useStore(s => s.conversationVariables) const environmentVariables = useStore(s => s.environmentVariables) @@ -74,7 +72,6 @@ export const useChecklist = (nodes: Node[], edges: Edge[]) => { const allVariablesMap = transformStartNodeVariables(chatVarList, environmentVariables) const errMessageMap = new Map() - const workflowVarCheck = currentWorkspace.beta_config?.workflow_var_check for (let i = 0; i < nodes.length; i++) { const node = nodes[i] @@ -123,7 +120,7 @@ export const useChecklist = (nodes: Node[], edges: Edge[]) => { varErrorMessage: [], }) } - if (workflowVarCheck && nodesExtraData[node.data.type as BlockEnum].checkVarValid) { + if (nodesExtraData[node.data.type as BlockEnum].checkVarValid) { const { errorMessage: varErrorMessages } = nodesExtraData[node.data.type as BlockEnum].checkVarValid(node.data, { ...allVariablesMap, ...node._parentOutputVarMap }, t) if (varErrorMessages?.length) { @@ -180,7 +177,6 @@ export const useChecklist = (nodes: Node[], edges: Edge[]) => { export const useChecklistBeforePublish = () => { const { t } = useTranslation() const language = useGetLanguage() - const { currentWorkspace } = useAppContext() const buildInTools = useStore(s => s.buildInTools) const customTools = useStore(s => s.customTools) const workflowTools = useStore(s => s.workflowTools) @@ -233,7 +229,6 @@ export const useChecklistBeforePublish = () => { } const allVariablesMap = transformStartNodeVariables(chatVarList, environmentVariables) - const workflowVarCheck = currentWorkspace.beta_config?.workflow_var_check // Before publish, we need to fetch datasets detail, in case of the settings of datasets have been changed const knowledgeRetrievalNodes = nodes.filter(node => node.data.type === BlockEnum.KnowledgeRetrieval) @@ -286,7 +281,7 @@ export const useChecklistBeforePublish = () => { return false } - if (workflowVarCheck && nodesExtraData[node.data.type as BlockEnum].checkVarValid) { + if (nodesExtraData[node.data.type as BlockEnum].checkVarValid) { const { errorMessage: varErrorMessage } = nodesExtraData[node.data.type as BlockEnum].checkVarValid(node.data, { ...allVariablesMap, ...node._parentOutputVarMap }, t) if (varErrorMessage?.length) { notify({ type: 'error', message: `[${node.data.title}] ${varErrorMessage[0]}` }) diff --git a/web/models/common.ts b/web/models/common.ts index 705e66e56c..73f42185e1 100644 --- a/web/models/common.ts +++ b/web/models/common.ts @@ -135,9 +135,6 @@ export type ICurrentWorkspace = Omit & { remove_webapp_brand?: boolean replace_webapp_logo?: string }, - beta_config?: { - workflow_var_check?: boolean - } } export type DataSourceNotionPage = {