add plugin unexist error tips (#3717)

* add plugin unexist error tips

* throw error when run plugin

* check workflow

* plugin data avoid request twice

* auth owner tmbId

* fix
This commit is contained in:
heheer
2025-02-10 15:20:49 +08:00
committed by GitHub
parent 4284b78707
commit 896a3f1472
24 changed files with 284 additions and 91 deletions

View File

@@ -3,8 +3,9 @@ import { authApp } from '@fastgpt/service/support/permission/app/auth';
import { NextAPI } from '@/service/middleware/entry';
import { ReadPermissionVal } from '@fastgpt/global/support/permission/constant';
import { CommonErrEnum } from '@fastgpt/global/common/error/code/common';
import { checkNode } from '@/service/core/app/utils';
/* 获取我的模型 */
/* 获取应用详情 */
async function handler(req: NextApiRequest, res: NextApiResponse<any>) {
const { appId } = req.query as { appId: string };
@@ -15,11 +16,19 @@ async function handler(req: NextApiRequest, res: NextApiResponse<any>) {
const { app } = await authApp({ req, authToken: true, appId, per: ReadPermissionVal });
if (!app.permission.hasWritePer) {
app.modules = [];
app.edges = [];
return {
...app,
modules: [],
edges: []
};
}
return app;
return {
...app,
modules: await Promise.all(
app.modules.map((node) => checkNode({ node, ownerTmbId: app.tmbId }))
)
};
}
export default NextAPI(handler);

View File

@@ -5,6 +5,7 @@ import { authApp } from '@fastgpt/service/support/permission/app/auth';
import { WritePermissionVal } from '@fastgpt/global/support/permission/constant';
import { AppVersionSchemaType } from '@fastgpt/global/core/app/version';
import { formatTime2YMDHM } from '@fastgpt/global/common/string/time';
import { checkNode } from '@/service/core/app/utils';
type Props = {
versionId: string;
@@ -17,7 +18,7 @@ async function handler(
): Promise<AppVersionSchemaType> {
const { versionId, appId } = req.query as Props;
await authApp({ req, authToken: true, appId, per: WritePermissionVal });
const { app } = await authApp({ req, authToken: true, appId, per: WritePermissionVal });
const result = await MongoAppVersion.findById(versionId).lean();
if (!result) {
@@ -26,6 +27,9 @@ async function handler(
return {
...result,
nodes: await Promise.all(
result.nodes.map((n) => checkNode({ node: n, ownerTmbId: app.tmbId }))
),
versionName: result?.versionName || formatTime2YMDHM(result?.time)
};
}

View File

@@ -43,7 +43,6 @@ async function handler(
// get app and history
const { nodes, chatConfig } = await getAppLatestVersion(app._id, app);
const pluginInputs =
chat?.pluginInputs ??
nodes?.find((node) => node.flowNodeType === FlowNodeTypeEnum.pluginInput)?.inputs ??

View File

@@ -2,7 +2,6 @@ import type { NextApiRequest, NextApiResponse } from 'next';
import { jsonRes } from '@fastgpt/service/common/response';
import type { InitChatResponse, InitOutLinkChatProps } from '@/global/core/chat/api.d';
import { getGuideModule, getAppChatConfig } from '@fastgpt/global/core/workflow/utils';
import { MongoTeamMember } from '@fastgpt/service/support/user/team/teamMemberSchema';
import { authOutLink } from '@/service/support/permission/auth/outLink';
import { MongoApp } from '@fastgpt/service/core/app/schema';
import { AppErrEnum } from '@fastgpt/global/common/error/code/app';
@@ -11,7 +10,6 @@ import { ChatErrEnum } from '@fastgpt/global/common/error/code/chat';
import { getAppLatestVersion } from '@fastgpt/service/core/app/version/controller';
import { FlowNodeTypeEnum } from '@fastgpt/global/core/workflow/node/constant';
import { NextAPI } from '@/service/middleware/entry';
import { UserModelSchema } from '@fastgpt/global/support/user/type';
import { getRandomUserAvatar } from '@fastgpt/global/support/user/utils';
async function handler(req: NextApiRequest, res: NextApiResponse) {

View File

@@ -36,7 +36,6 @@ import { updateApiKeyUsage } from '@fastgpt/service/support/openapi/tools';
import { getUserChatInfoAndAuthTeamPoints } from '@fastgpt/service/support/permission/auth/team';
import { AuthUserTypeEnum } from '@fastgpt/global/support/permission/constant';
import { MongoApp } from '@fastgpt/service/core/app/schema';
import { UserModelSchema } from '@fastgpt/global/support/user/type';
import { AppSchema } from '@fastgpt/global/core/app/type';
import { AuthOutLinkChatProps } from '@fastgpt/global/support/outLink/api';
import { MongoChat } from '@fastgpt/service/core/chat/chatSchema';