添加供应商增加报错提示
This commit is contained in:
parent
edc1c4cfbe
commit
02cbc7bea2
@ -1,4 +1,5 @@
|
|||||||
import express from "express";
|
import express from "express";
|
||||||
|
import { serializeError } from "serialize-error";
|
||||||
import { success, error } from "@/lib/responseFormat";
|
import { success, error } from "@/lib/responseFormat";
|
||||||
import { validateFields } from "@/middleware/middleware";
|
import { validateFields } from "@/middleware/middleware";
|
||||||
import u from "@/utils";
|
import u from "@/utils";
|
||||||
@ -70,30 +71,35 @@ export default router.post(
|
|||||||
tsCode: z.string(),
|
tsCode: z.string(),
|
||||||
}),
|
}),
|
||||||
async (req, res) => {
|
async (req, res) => {
|
||||||
const { tsCode } = req.body;
|
try {
|
||||||
const jsCode = transform(tsCode, { transforms: ["typescript"] }).code;
|
const { tsCode } = req.body;
|
||||||
const exports = u.vm(jsCode);
|
const jsCode = transform(tsCode, { transforms: ["typescript"] }).code;
|
||||||
if (!exports) return res.status(400).send(success("脚本文件必须导出对象"));
|
const exports = u.vm(jsCode);
|
||||||
if (!exports.textRequest) return res.status(400).send(success("脚本文件必须导出文本请求对象"));
|
if (!exports) return res.status(400).send(success("脚本文件必须导出对象"));
|
||||||
if (!exports.imageRequest) return res.status(400).send(success("脚本文件必须导出图像请求对象"));
|
if (!exports.textRequest) return res.status(400).send(success("脚本文件必须导出文本请求对象"));
|
||||||
if (!exports.videoRequest) return res.status(400).send(success("脚本文件必须导出视频请求对象"));
|
if (!exports.imageRequest) return res.status(400).send(success("脚本文件必须导出图像请求对象"));
|
||||||
if (!exports.vendor) return res.status(400).send(success("脚本文件必须导出vendor对象"));
|
if (!exports.videoRequest) return res.status(400).send(success("脚本文件必须导出视频请求对象"));
|
||||||
const vendor = exports.vendor;
|
if (!exports.vendor) return res.status(400).send(success("脚本文件必须导出vendor对象"));
|
||||||
const result = vendorConfigSchema.safeParse(vendor);
|
const vendor = exports.vendor;
|
||||||
if (!result.success) {
|
const result = vendorConfigSchema.safeParse(vendor);
|
||||||
const errorMsg = result.error.issues.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
|
if (!result.success) {
|
||||||
return res.status(400).send(error(`vendor配置校验失败: ${errorMsg}`));
|
const errorMsg = result.error.issues.map((e) => `${e.path.join(".")}: ${e.message}`).join("; ");
|
||||||
|
return res.status(400).send(error(`vendor配置校验失败: ${errorMsg}`));
|
||||||
|
}
|
||||||
|
await u.db("o_vendorConfig").insert({
|
||||||
|
name: vendor.name,
|
||||||
|
version: vendor.version.toString(),
|
||||||
|
icon: vendor.icon || "",
|
||||||
|
inputs: JSON.stringify(vendor.inputs),
|
||||||
|
inputValues: JSON.stringify(vendor.inputValues),
|
||||||
|
models: JSON.stringify(vendor.models),
|
||||||
|
code: tsCode,
|
||||||
|
createTime: Date.now(),
|
||||||
|
});
|
||||||
|
res.status(200).send(success(result.data));
|
||||||
|
} catch (err) {
|
||||||
|
console.log(err);
|
||||||
|
res.status(400).send(error(serializeError(err).message || "未知错误"));
|
||||||
}
|
}
|
||||||
await u.db("o_vendorConfig").insert({
|
|
||||||
name: vendor.name,
|
|
||||||
version: vendor.version.toString(),
|
|
||||||
icon: vendor.icon || "",
|
|
||||||
inputs: JSON.stringify(vendor.inputs),
|
|
||||||
inputValues: JSON.stringify(vendor.inputValues),
|
|
||||||
models: JSON.stringify(vendor.models),
|
|
||||||
code: tsCode,
|
|
||||||
createTime: Date.now(),
|
|
||||||
});
|
|
||||||
res.status(200).send(success(result.data));
|
|
||||||
},
|
},
|
||||||
);
|
);
|
||||||
|
|||||||
4
src/types/database.d.ts
vendored
4
src/types/database.d.ts
vendored
@ -1,4 +1,4 @@
|
|||||||
// @db-hash 5ea1f1cf9926d08390093d10da66e6ae
|
// @db-hash b6146b9f91d8b9853e0f6fcb41c3145b
|
||||||
//该文件由脚本自动生成,请勿手动修改
|
//该文件由脚本自动生成,请勿手动修改
|
||||||
|
|
||||||
export interface memories {
|
export interface memories {
|
||||||
@ -88,6 +88,8 @@ export interface o_novel {
|
|||||||
'chapterData'?: string | null;
|
'chapterData'?: string | null;
|
||||||
'chapterIndex'?: number | null;
|
'chapterIndex'?: number | null;
|
||||||
'createTime'?: number | null;
|
'createTime'?: number | null;
|
||||||
|
'event'?: string | null;
|
||||||
|
'eventState'?: number | null;
|
||||||
'id'?: number;
|
'id'?: number;
|
||||||
'projectId'?: number | null;
|
'projectId'?: number | null;
|
||||||
'reel'?: string | null;
|
'reel'?: string | null;
|
||||||
|
|||||||
@ -25,7 +25,6 @@ export default function runCode(code: string) {
|
|||||||
createOpenAICompatible,
|
createOpenAICompatible,
|
||||||
createXai,
|
createXai,
|
||||||
createGoogleGenerativeAI,
|
createGoogleGenerativeAI,
|
||||||
|
|
||||||
zipImage,
|
zipImage,
|
||||||
zipImageResolution,
|
zipImageResolution,
|
||||||
urlToBase64,
|
urlToBase64,
|
||||||
|
|||||||
Loading…
x
Reference in New Issue
Block a user