mirror of
https://github.com/labring/FastGPT.git
synced 2025-07-22 04:06:18 +00:00

* perf: version list type * perf: add node default value * perf: snapshot status * fix: version detail auth * fix: export defalt
122 lines
3.8 KiB
Plaintext
122 lines
3.8 KiB
Plaintext
{
|
|
// Place your FastGPT 工作区 snippets here. Each snippet is defined under a snippet name and has a scope, prefix, body and
|
|
// description. Add comma separated ids of the languages where the snippet is applicable in the scope field. If scope
|
|
// is left empty or omitted, the snippet gets applied to all languages. The prefix is what is
|
|
// used to trigger the snippet and the body will be expanded and inserted. Possible variables are:
|
|
// $1, $2 for tab stops, $0 for the final cursor position, and ${1:label}, ${2:another} for placeholders.
|
|
// Placeholders with the same ids are connected.
|
|
// Example:
|
|
"Next api template": {
|
|
"scope": "javascript,typescript",
|
|
"prefix": "nextapi",
|
|
"body": [
|
|
"import type { ApiRequestProps, ApiResponseType } from '@fastgpt/service/type/next';",
|
|
"import { NextAPI } from '@/service/middleware/entry';",
|
|
"",
|
|
"export type ${TM_FILENAME_BASE}Query = {};",
|
|
"",
|
|
"export type ${TM_FILENAME_BASE}Body = {};",
|
|
"",
|
|
"export type ${TM_FILENAME_BASE}Response = {};",
|
|
"",
|
|
"async function handler(",
|
|
" req: ApiRequestProps<${TM_FILENAME_BASE}Body, ${TM_FILENAME_BASE}Query>,",
|
|
" res: ApiResponseType<any>",
|
|
"): Promise<${TM_FILENAME_BASE}Response> {",
|
|
" $1",
|
|
" return {}",
|
|
"}",
|
|
"",
|
|
"export default NextAPI(handler);"
|
|
],
|
|
"description": "FastGPT Next API template"
|
|
},
|
|
"use context template": {
|
|
"scope": "typescriptreact",
|
|
"prefix": "context",
|
|
"body": [
|
|
"import React, { ReactNode } from 'react';",
|
|
"import { createContext } from 'use-context-selector';",
|
|
"",
|
|
"type ContextType = {$1};",
|
|
"",
|
|
"export const Context = createContext<ContextType>({});",
|
|
"",
|
|
"const ContextProvider = ({ children }: { children: ReactNode }) => {",
|
|
" const contextValue: ContextType = {};",
|
|
" return <Context.Provider value={contextValue}>{children}</Context.Provider>;",
|
|
"};",
|
|
"",
|
|
"export default ContextProvider"
|
|
],
|
|
"description": "FastGPT usecontext template"
|
|
},
|
|
|
|
"Jest test template": {
|
|
"scope": "typescriptreact",
|
|
"prefix": "jesttest",
|
|
"body": [
|
|
"import '@/pages/api/__mocks__/base';",
|
|
"import { root } from '@/pages/api/__mocks__/db/init';",
|
|
"import { getTestRequest } from '@/test/utils';",
|
|
"import { AppErrEnum } from '@fastgpt/global/common/error/code/app';",
|
|
"import handler from './demo';",
|
|
"",
|
|
"// Import the schema",
|
|
"import { MongoOutLink } from '@fastgpt/service/support/outLink/schema';",
|
|
"",
|
|
"beforeAll(async () => {",
|
|
" // await MongoOutLink.create({",
|
|
" // shareId: 'aaa',",
|
|
" // appId: root.appId,",
|
|
" // tmbId: root.tmbId,",
|
|
" // teamId: root.teamId,",
|
|
" // type: 'share',",
|
|
" // name: 'aaa'",
|
|
" // })",
|
|
"});",
|
|
"",
|
|
"test('Should return a list of outLink', async () => {",
|
|
" // Mock request",
|
|
" const res = (await handler(",
|
|
" ...getTestRequest({",
|
|
" query: {",
|
|
" appId: root.appId,",
|
|
" type: 'share'",
|
|
" },",
|
|
" user: root",
|
|
" })",
|
|
" )) as any;",
|
|
"",
|
|
" expect(res.code).toBe(200);",
|
|
" expect(res.data.length).toBe(2);",
|
|
"});",
|
|
"",
|
|
"test('appId is required', async () => {",
|
|
" const res = (await handler(",
|
|
" ...getTestRequest({",
|
|
" query: {",
|
|
" type: 'share'",
|
|
" },",
|
|
" user: root",
|
|
" })",
|
|
" )) as any;",
|
|
" expect(res.code).toBe(500);",
|
|
" expect(res.error).toBe(AppErrEnum.unExist);",
|
|
"});",
|
|
"",
|
|
"test('if type is not provided, return nothing', async () => {",
|
|
" const res = (await handler(",
|
|
" ...getTestRequest({",
|
|
" query: {",
|
|
" appId: root.appId",
|
|
" },",
|
|
" user: root",
|
|
" })",
|
|
" )) as any;",
|
|
" expect(res.code).toBe(200);",
|
|
" expect(res.data.length).toBe(0);",
|
|
"});"
|
|
]
|
|
}
|
|
} |