Shun Miyazawa 1 an în urmă
părinte
comite
d7ef8824d5

+ 3 - 5
apps/app/src/features/openai/server/routes/ai-assistants.ts

@@ -13,16 +13,14 @@ import { certifyAiService } from './middlewares/certify-ai-service';
 
 const logger = loggerFactory('growi:routes:apiv3:openai:get-ai-assistants');
 
-
-type GetAiAssistantsFactory = (crowi: Crowi) => RequestHandler[];
+type GetAiAssistantsFactory = (crowi: Crowi) => Promise<RequestHandler[]>;
 
 type Req = Request<undefined, Response, undefined> & {
   user: IUserHasId,
 }
 
-export const getAiAssistantsFactory: GetAiAssistantsFactory = (crowi) => {
-
-  const loginRequiredStrictly = require('~/server/middlewares/login-required')(crowi);
+export const getAiAssistantsFactory: GetAiAssistantsFactory = async(crowi) => {
+  const loginRequiredStrictly = (await import('~/server/middlewares/login-required')).default(crowi);
 
   return [
     accessTokenParser, loginRequiredStrictly, certifyAiService,

+ 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-assistants').then(({ getAiAssistantsFactory }) => {
-      router.get('/ai-assistants', getAiAssistantsFactory(crowi));
+    import('./ai-assistants').then(async({ getAiAssistantsFactory }) => {
+      router.get('/ai-assistants', await getAiAssistantsFactory(crowi));
     });
   }
 

+ 14 - 0
apps/app/src/server/middlewares/login-required.d.ts

@@ -0,0 +1,14 @@
+import type Crowi from '~/server/crowi';
+
+declare module '~/server/middlewares/login-required' {
+  interface LoginRequired {
+    (
+      crowi: Crowi,
+      isGuestAllowed?: boolean,
+      fallback?: null | ((req, res) => void)
+    ): (req, res, next) => void;
+  }
+
+  const loginRequired: LoginRequired;
+  export = loginRequired;
+}