Просмотр исходного кода

create PUT: /_api/v3/ai-integration/recreate-vector-store

Shun Miyazawa 1 год назад
Родитель
Сommit
08b9825ac0

+ 2 - 0
apps/app/src/server/routes/apiv3/ai-integration/index.ts

@@ -1,10 +1,12 @@
 import express from 'express';
 
 import { chatHandlersFactory } from './chat';
+import { recreateVectorStoreHandlersFactory } from './recreate-vector-store';
 
 const router = express.Router();
 
 module.exports = (crowi) => {
   router.post('/chat', chatHandlersFactory(crowi));
+  router.put('/recreate-vector-store', recreateVectorStoreHandlersFactory(crowi));
   return router;
 };

+ 31 - 0
apps/app/src/server/routes/apiv3/ai-integration/recreate-vector-store.ts

@@ -0,0 +1,31 @@
+import type { Request, RequestHandler } from 'express';
+import type { ValidationChain } from 'express-validator';
+
+import type Crowi from '~/server/crowi';
+import loggerFactory from '~/utils/logger';
+
+import { apiV3FormValidator } from '../../../middlewares/apiv3-form-validator';
+import type { ApiV3Response } from '../interfaces/apiv3-response';
+
+const logger = loggerFactory('growi:routes:apiv3:ai-integration:recreate-vector-store');
+
+type Req = Request<undefined, ApiV3Response>
+
+type RecreateVectorStoreFactory = (crowi: Crowi) => RequestHandler[];
+
+export const recreateVectorStoreHandlersFactory: RecreateVectorStoreFactory = (crowi) => {
+  const accessTokenParser = require('~/server/middlewares/access-token-parser')(crowi);
+  const loginRequiredStrictly = require('~/server/middlewares/login-required')(crowi);
+  const adminRequired = require('~/server/middlewares/admin-required')(crowi);
+
+  const validator: ValidationChain[] = [
+    //
+  ];
+
+  return [
+    accessTokenParser, loginRequiredStrictly, adminRequired, validator, apiV3FormValidator,
+    async(req: Req, res: ApiV3Response) => {
+      return res.apiv3({});
+    },
+  ];
+};