Przeglądaj źródła

Split route file

Shun Miyazawa 1 rok temu
rodzic
commit
08ff22e6dd

+ 3 - 37
apps/app/src/features/openai/server/routes/ai-assistant.ts

@@ -15,15 +15,12 @@ import { getOpenaiService } from '../services/openai';
 
 import { certifyAiService } from './middlewares/certify-ai-service';
 
-const logger = loggerFactory('growi:routes:apiv3:openai:ai-assistant');
+const logger = loggerFactory('growi:routes:apiv3:openai:create-ai-assistant');
 
 
-/*
-*  CreateAssistantFactory
-*/
 type CreateAssistantFactory = (crowi: Crowi) => RequestHandler[];
 
-type CreateAssistantFactoryReq = Request<undefined, Response, IApiv3AiAssistantCreateParams> & {
+type Req = Request<undefined, Response, IApiv3AiAssistantCreateParams> & {
   user: IUserHasId,
 }
 
@@ -97,7 +94,7 @@ export const createAiAssistantFactory: CreateAssistantFactory = (crowi) => {
 
   return [
     accessTokenParser, loginRequiredStrictly, certifyAiService, validator, apiV3FormValidator,
-    async(req: CreateAssistantFactoryReq, res: ApiV3Response) => {
+    async(req: Req, res: ApiV3Response) => {
       try {
         const aiAssistantData = { ...req.body, owner: req.user._id };
         const openaiService = getOpenaiService();
@@ -112,34 +109,3 @@ export const createAiAssistantFactory: CreateAssistantFactory = (crowi) => {
     },
   ];
 };
-
-
-/*
-*  GetAiAssistantsFactory
-*/
-type GetAiAssistantsFactory = (crowi: Crowi) => RequestHandler[];
-
-type GetAiAssistantsFactoryReq = Request<undefined, Response, undefined> & {
-  user: IUserHasId,
-}
-
-export const getAccessibleAiAssistantsFactory: GetAiAssistantsFactory = (crowi) => {
-
-  const loginRequiredStrictly = require('~/server/middlewares/login-required')(crowi);
-
-  return [
-    accessTokenParser, loginRequiredStrictly, certifyAiService,
-    async(req: GetAiAssistantsFactoryReq, res: ApiV3Response) => {
-      try {
-        const openaiService = getOpenaiService();
-        const accessibleAiAssistants = await openaiService?.getAccessibleAiAssistants(req.user);
-
-        return res.apiv3({ accessibleAiAssistants });
-      }
-      catch (err) {
-        logger.error(err);
-        return res.apiv3Err(new ErrorV3('Failed to get AiAssistants'));
-      }
-    },
-  ];
-};

+ 42 - 0
apps/app/src/features/openai/server/routes/ai-assistants.ts

@@ -0,0 +1,42 @@
+import { type IUserHasId } from '@growi/core';
+import { ErrorV3 } from '@growi/core/dist/models';
+import type { Request, RequestHandler } from 'express';
+
+import type Crowi from '~/server/crowi';
+import { accessTokenParser } from '~/server/middlewares/access-token-parser';
+import type { ApiV3Response } from '~/server/routes/apiv3/interfaces/apiv3-response';
+import loggerFactory from '~/utils/logger';
+
+import { getOpenaiService } from '../services/openai';
+
+import { certifyAiService } from './middlewares/certify-ai-service';
+
+const logger = loggerFactory('growi:routes:apiv3:openai:get-ai-assistants');
+
+
+type GetAiAssistantsFactory = (crowi: Crowi) => RequestHandler[];
+
+type Req = Request<undefined, Response, undefined> & {
+  user: IUserHasId,
+}
+
+export const getAiAssistantsFactory: GetAiAssistantsFactory = (crowi) => {
+
+  const loginRequiredStrictly = require('~/server/middlewares/login-required')(crowi);
+
+  return [
+    accessTokenParser, loginRequiredStrictly, certifyAiService,
+    async(req: Req, res: ApiV3Response) => {
+      try {
+        const openaiService = getOpenaiService();
+        const accessibleAiAssistants = await openaiService?.getAccessibleAiAssistants(req.user);
+
+        return res.apiv3({ accessibleAiAssistants });
+      }
+      catch (err) {
+        logger.error(err);
+        return res.apiv3Err(new ErrorV3('Failed to get AiAssistants'));
+      }
+    },
+  ];
+};

+ 2 - 2
apps/app/src/features/openai/server/routes/index.ts

@@ -35,8 +35,8 @@ export const factory = (crowi: Crowi): express.Router => {
       router.post('/ai-assistant', createAiAssistantFactory(crowi));
     });
 
-    import('./ai-assistant').then(({ getAccessibleAiAssistantsFactory }) => {
-      router.get('/ai-assistants', getAccessibleAiAssistantsFactory(crowi));
+    import('./ai-assistants').then(({ getAiAssistantsFactory }) => {
+      router.get('/ai-assistants', getAiAssistantsFactory(crowi));
     });
   }