mirror of
https://github.com/labring/FastGPT.git
synced 2025-12-25 20:02:47 +00:00
add templateId to apps (#5866)
* fix: timeselector ui error * var update node * add templateId to apps
This commit is contained in:
parent
45869fa058
commit
bf33f7af2e
|
|
@ -29,6 +29,7 @@ export type AppSchema = {
|
|||
name: string;
|
||||
avatar: string;
|
||||
intro: string;
|
||||
templateId?: string; // Create by template
|
||||
|
||||
updateTime: Date;
|
||||
|
||||
|
|
@ -46,16 +47,18 @@ export type AppSchema = {
|
|||
scheduledTriggerConfig?: AppScheduledTriggerConfigType | null;
|
||||
scheduledTriggerNextTime?: Date;
|
||||
|
||||
inited?: boolean;
|
||||
teamTags: string[];
|
||||
inheritPermission?: boolean;
|
||||
|
||||
// if access the app by favourite or quick
|
||||
favourite?: boolean;
|
||||
quick?: boolean;
|
||||
|
||||
// abandon
|
||||
/** @deprecated */
|
||||
defaultPermission?: number;
|
||||
/** @deprecated */
|
||||
inited?: boolean;
|
||||
/** @deprecated */
|
||||
teamTags: string[];
|
||||
};
|
||||
|
||||
export type AppListItemType = {
|
||||
|
|
|
|||
|
|
@ -8,11 +8,12 @@ export type UsageSchemaType = {
|
|||
teamId: string;
|
||||
tmbId: string;
|
||||
appName: string;
|
||||
appId?: string;
|
||||
pluginId?: string;
|
||||
totalPoints: number;
|
||||
source: `${UsageSourceEnum}`;
|
||||
|
||||
appId?: string;
|
||||
datasetId?: string;
|
||||
|
||||
// @deprecated
|
||||
list?: UsageItemType[];
|
||||
};
|
||||
|
|
|
|||
|
|
@ -60,18 +60,14 @@ const AppSchema = new Schema(
|
|||
type: String,
|
||||
default: ''
|
||||
},
|
||||
templateId: String,
|
||||
|
||||
updateTime: {
|
||||
type: Date,
|
||||
default: () => new Date()
|
||||
},
|
||||
|
||||
// role and auth
|
||||
teamTags: {
|
||||
type: [String]
|
||||
},
|
||||
|
||||
// save app(Not publish)
|
||||
// Workflow data
|
||||
modules: {
|
||||
type: Array,
|
||||
default: []
|
||||
|
|
@ -83,7 +79,8 @@ const AppSchema = new Schema(
|
|||
chatConfig: {
|
||||
type: chatConfigType
|
||||
},
|
||||
// plugin config
|
||||
|
||||
// Tool config
|
||||
pluginData: {
|
||||
type: {
|
||||
nodeVersion: String,
|
||||
|
|
@ -108,19 +105,21 @@ const AppSchema = new Schema(
|
|||
type: Date
|
||||
},
|
||||
|
||||
inited: {
|
||||
type: Boolean
|
||||
},
|
||||
inheritPermission: {
|
||||
type: Boolean,
|
||||
default: true
|
||||
},
|
||||
|
||||
// Chat setting
|
||||
favourite: Boolean,
|
||||
quick: Boolean,
|
||||
|
||||
// abandoned
|
||||
defaultPermission: Number
|
||||
/** @deprecated */
|
||||
defaultPermission: Number,
|
||||
inited: Boolean,
|
||||
teamTags: {
|
||||
type: [String]
|
||||
}
|
||||
},
|
||||
{
|
||||
minimize: false
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ import {
|
|||
TeamMemberCollectionName
|
||||
} from '@fastgpt/global/support/user/team/constant';
|
||||
import { UsageCollectionName, UsageItemCollectionName } from './constants';
|
||||
import { AppCollectionName } from '../../../core/app/schema';
|
||||
import { DatasetCollectionName } from '../../../core/dataset/schema';
|
||||
|
||||
const UsageSchema = new Schema(
|
||||
{
|
||||
|
|
@ -25,31 +27,30 @@ const UsageSchema = new Schema(
|
|||
enum: Object.values(UsageSourceEnum),
|
||||
required: true
|
||||
},
|
||||
// usage name
|
||||
appName: {
|
||||
// usage name
|
||||
type: String,
|
||||
default: ''
|
||||
},
|
||||
// total points
|
||||
totalPoints: {
|
||||
// total points
|
||||
type: Number,
|
||||
required: true
|
||||
},
|
||||
appId: {
|
||||
type: Schema.Types.ObjectId,
|
||||
ref: 'apps',
|
||||
required: false
|
||||
},
|
||||
pluginId: {
|
||||
type: Schema.Types.ObjectId,
|
||||
ref: 'plugins',
|
||||
required: false
|
||||
},
|
||||
time: {
|
||||
type: Date,
|
||||
default: () => new Date()
|
||||
},
|
||||
|
||||
appId: {
|
||||
type: Schema.Types.ObjectId,
|
||||
ref: AppCollectionName
|
||||
},
|
||||
datasetId: {
|
||||
type: Schema.Types.ObjectId,
|
||||
ref: DatasetCollectionName
|
||||
},
|
||||
|
||||
// @description It will not be used again in the future.
|
||||
list: {
|
||||
type: Array
|
||||
|
|
|
|||
|
|
@ -484,7 +484,7 @@ const RenderList = React.memo(function RenderList({
|
|||
_hover={{
|
||||
color: 'primary.600'
|
||||
}}
|
||||
onClick={() => router.push('/toolkit/tools')}
|
||||
onClick={() => router.push('/plugin/tool')}
|
||||
gap={1}
|
||||
bottom={0}
|
||||
right={[3, 6]}
|
||||
|
|
|
|||
|
|
@ -39,11 +39,14 @@ export type CreateAppBody = {
|
|||
modules: AppSchema['modules'];
|
||||
edges?: AppSchema['edges'];
|
||||
chatConfig?: AppSchema['chatConfig'];
|
||||
|
||||
templateId?: string;
|
||||
utmParams?: ShortUrlParams;
|
||||
};
|
||||
|
||||
async function handler(req: ApiRequestProps<CreateAppBody>) {
|
||||
const { parentId, name, avatar, intro, type, modules, edges, chatConfig, utmParams } = req.body;
|
||||
const { parentId, name, avatar, intro, type, modules, edges, chatConfig, templateId, utmParams } =
|
||||
req.body;
|
||||
|
||||
if (!name || !type || !Array.isArray(modules)) {
|
||||
return Promise.reject(CommonErrEnum.inheritPermissionError);
|
||||
|
|
@ -122,6 +125,7 @@ export const onCreateApp = async ({
|
|||
pluginData,
|
||||
username,
|
||||
userAvatar,
|
||||
templateId,
|
||||
session
|
||||
}: {
|
||||
parentId?: ParentIdType;
|
||||
|
|
@ -137,6 +141,7 @@ export const onCreateApp = async ({
|
|||
pluginData?: AppSchema['pluginData'];
|
||||
username?: string;
|
||||
userAvatar?: string;
|
||||
templateId?: string;
|
||||
session?: ClientSession;
|
||||
}) => {
|
||||
const create = async (session: ClientSession) => {
|
||||
|
|
@ -154,7 +159,8 @@ export const onCreateApp = async ({
|
|||
chatConfig,
|
||||
type,
|
||||
version: 'v2',
|
||||
pluginData
|
||||
pluginData,
|
||||
templateId
|
||||
}
|
||||
],
|
||||
{ session, ordered: true }
|
||||
|
|
|
|||
|
|
@ -74,7 +74,8 @@ const TemplateMarket = ({
|
|||
type: template.type as AppTypeEnum,
|
||||
modules: templateDetail.workflow.nodes || [],
|
||||
edges: templateDetail.workflow.edges || [],
|
||||
chatConfig: templateDetail.workflow.chatConfig
|
||||
chatConfig: templateDetail.workflow.chatConfig,
|
||||
templateId: templateDetail.templateId
|
||||
}).then((res) => {
|
||||
webPushTrack.useAppTemplate({
|
||||
id: res,
|
||||
|
|
|
|||
Loading…
Reference in New Issue