From b7cd4dec898a077b2f8a5ce5a828dea5b7aa1dcb Mon Sep 17 00:00:00 2001 From: archer <545436317@qq.com> Date: Sat, 8 Apr 2023 11:57:13 +0800 Subject: [PATCH] fix: model auth --- src/pages/api/chat/generate.ts | 13 ++++++++++++- src/service/models/chat.ts | 2 +- 2 files changed, 13 insertions(+), 2 deletions(-) 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: { // 剩余加载次数