diff --git a/src/pages/api/chat/generate.ts b/src/pages/api/chat/generate.ts index 3a1c72da1..c425474a6 100644 --- a/src/pages/api/chat/generate.ts +++ b/src/pages/api/chat/generate.ts @@ -1,7 +1,8 @@ import type { NextApiRequest, NextApiResponse } from 'next'; import { jsonRes } from '@/service/response'; -import { connectToDatabase, Chat } from '@/service/mongo'; +import { connectToDatabase, Model, Chat } from '@/service/mongo'; import { authToken } from '@/service/utils/tools'; +import type { ModelSchema } from '@/types/mongoSchema'; /* 获取我的模型 */ export default async function handler(req: NextApiRequest, res: NextApiResponse) { @@ -24,6 +25,16 @@ export default async function handler(req: NextApiRequest, res: NextApiResponse< await connectToDatabase(); + // 校验是否为用户的模型 + const model = await Model.findOne({ + _id: modelId, + userId + }); + + if (!model) { + throw new Error('无权使用该模型'); + } + // 创建 chat 数据 const response = await Chat.create({ userId, diff --git a/src/service/models/chat.ts b/src/service/models/chat.ts index 9a1b8f0f5..f2cd829f0 100644 --- a/src/service/models/chat.ts +++ b/src/service/models/chat.ts @@ -15,7 +15,7 @@ const ChatSchema = new Schema({ expiredTime: { // 过期时间 type: Number, - default: Date.now() + default: () => new Date() }, loadAmount: { // 剩余加载次数