Przeglądaj źródła

Check if aiAssistantid is available if requested

Shun Miyazawa 1 rok temu
rodzic
commit
87efb7e85b

+ 11 - 1
apps/app/src/features/openai/server/routes/edit/index.ts

@@ -81,7 +81,9 @@ export const postMessageToEditHandlersFactory: PostMessageHandlersFactory = (cro
   return [
   return [
     accessTokenParser, loginRequiredStrictly, certifyAiService, validator, apiV3FormValidator,
     accessTokenParser, loginRequiredStrictly, certifyAiService, validator, apiV3FormValidator,
     async(req: Req, res: ApiV3Response) => {
     async(req: Req, res: ApiV3Response) => {
-      const { userMessage, markdown, threadId } = req.body;
+      const {
+        userMessage, markdown, threadId, aiAssistantId,
+      } = req.body;
 
 
       // Parameter check
       // Parameter check
       if (threadId == null) {
       if (threadId == null) {
@@ -94,6 +96,14 @@ export const postMessageToEditHandlersFactory: PostMessageHandlersFactory = (cro
         return res.apiv3Err(new ErrorV3('GROWI AI is not enabled'), 501);
         return res.apiv3Err(new ErrorV3('GROWI AI is not enabled'), 501);
       }
       }
 
 
+      // AiAssistant check
+      if (aiAssistantId != null) {
+        const isAiAssistantUsable = await openaiService.isAiAssistantUsable(aiAssistantId, req.user);
+        if (!isAiAssistantUsable) {
+          return res.apiv3Err(new ErrorV3('The specified AI assistant is not usable'), 400);
+        }
+      }
+
       // Initialize SSE helper and stream processor
       // Initialize SSE helper and stream processor
       const sseHelper = new SseHelper(res);
       const sseHelper = new SseHelper(res);
       const streamProcessor = new LlmResponseStreamProcessor({
       const streamProcessor = new LlmResponseStreamProcessor({